Michael,

thanks for the clarification.  I suspect ABL will be the worst performer all around, but would be interested to hear the quantitative details of your analysis regardless :-)

David

On Dec 22, 2005, at 8:36 AM, Michael Torla wrote:

David McGrew wrote:
Hi Michael,

thanks for your comments, more inline:

On Dec 21, 2005, at 2:09 PM, Michael Torla wrote:

David McGrew wrote:
You mean advantage in terms of latency, right?  I'm not sure that   this is the case, since both XCB and EME* need to do one pass  over  the data before any data can be output, and I suspect that  the  circuit depth of those two passes isn't much different.  It  would be  interesting to see a detailed comparison.  For that  matter, it would  be worthwhile to discuss the implementation  scenarios enough to get a  good idea of what the "success  criteria" for wide-block modes like  these are.  (E.g. since all  of these modes require the data to be  buffered, what critical  path should be measured?  The path to output  the first byte, or  to output all of the bytes?)
I've looked at this to some extent.

From the point of view of an arbitrary block size, XCB is much more  costly.  To support a block that is larger than the AES hardware  accelerator's buffer size, data must be fetched twice.  This  feature is unique to XCB; I've not seen it in any other mode of any  crypto algorithm I've looked at.

AFAICT, the requirement that the encryptor buffer the block that it  is encrypting is a fundamental requirement for any cipher that is a  pseudorandom permutation with an input width that matches the  plaintext size.  Any mode that met the goal would the need to buffer  the data.

EME and EME* and several other modes also have this property, IIUC.    In the EME specifications, the dependancy of the second ECB pass on  the results of the first ECB pass is somewhat hidden because it is  expressed indirectly through variables.  Note, for example, on page 4  of http://seclab.cs.ucdavis.edu/papers/eme.pdf that the variable M,  which is needed to compute the second ECB pass, is only computed  after the first ECB pass completes.
you are right that EME has that property.  I have not read up on EME* yet.

However, EME, as described for tweakable "wide block" encryption, restricts the data size to 4096 bits.  That may not be the intent of the original EME algorithm, but that's how I the document I saw reads.

XCB supports any amount of data.  That, to me, is the difference.

Now that I've found a description of ABL, I'll have to study that one as well.

mt



Reply via email to