views:

42

answers:

2

Does anyone know if EAX mode is supported or how to use it? Here is an overview:

http://en.wikipedia.org/wiki/EAX_mode

+2  A: 

I don't believe that it is.

And to make matters worse, the two building blocks of EAX - counter mode encryption and the CMAC authentication code - also do not seem to be supported by the standard .NET crypto libraries. At least, CTR mode isn't included in the CipherMode enumeration, and the only subclasses of KeyedHashAlgorithm (.NET's name for MACs) are HMAC and a TripleDES-based MAC (probably an old CBC-MAC, which is close-ish to CMAC but not quite). So it seems you couldn't even easily cobble together an EAX using existing components; you'd seemingly have to implement everything from scratch.

It may be better to just use another mode (like CBC) in combination with an HMAC for message authentication.

Jack Lloyd
Technically this answer is correct (I specified the framework) so I accepted it. For anyone needing to do EAX though, I'd go with BouncyCastle as Greg suggested.
Sean Gough
+1  A: 

The bouncycastle C# crypto library supports GCM and possibly other AEAD ciphers.

GregS
Thanks, this worked perfectly!
Sean Gough