| Standard Cryptographic Algorithm Naming
|
Version 0.9.9 - 9 August, 1999
Draft version, under construction
|
FRAMES |
NO FRAMES
This document gives references for a collection of cryptographic algorithms
of various types. Each algorithm is assigned a standard ASCII name, and zero or
more aliases. The intention is that the references specify each algorithm in
sufficient detail that independent implementations will be able to interoperate.
The list has been designed initially for use by the Java Cryptography
Architecture, but should be useful in any situation where a convention is
needed for referring to algorithms by a string name. It can also serve as a
source of references for definitions and cryptanalysis of various algorithms.
The Cryptix Development Team intends to develop API mappings for languages
other than Java in future (possibly based on existing cryptography libraries).
The accompanying Definitions and Conventions
document includes important information on the conventions used in compiling this list,
which you should read before using it for the first time:
The following are very useful resources for a wide range of algorithms:
- Lars Knudsen and Vincent Rijmen's
Block Cipher Lounge.
- The Counterpane web site
(including their
index of cryptography papers available on-line, and
list of
crypto researchers' home pages).
- The Cryptography Research
web site (including more lists of
on-line CRYPTO and EUROCRYPT conference papers, and of
researcher's home pages).
- Yet more
lists of home pages, this time compiled by
David Wagner.
- Helger Lipmaa's
Cryptology pointers.
- Thomas Jakobsen's
page on
Cryptanalysis of Block Ciphers.
- Applied Cryptography, Second Edition, by
Bruce Schneier:
web page,
order from Amazon.com.
- Handbook of Applied Cryptography, by Alfred J. Menezes,
Paul C. van Oorschot, and Scott J. Vanstone:
web page,
order from Amazon.com.
Contents
MessageDigest algorithms
- Alias:
- "GOST-R-34.11-94"
- Published:
- 1994
- References:
- [Def] GOST R 34.11-94, Gosudarstvennyi Standard of Russian Federation,
"Information Technology. Cryptographic Data Security. Hashing function,"
Government Committee of the Russia for Standards, 1994 (in Russian).
- [Inf] Bruce Schneier,
"Section 18.11 One-Way Hash Functions Using Symmetric Block Algorithms,"
Heading "GOST Hash Function,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [An] John Kelsey, Bruce Schneier, David Wagner,
"Key-schedule cryptanalysis of IDEA, G-DES, GOST, SAFER, and triple-DES,"
Advances in Cryptology - Crypto '96 Proceedings.
Springer-Verlag, August 1996.
http://www.cs.berkeley.edu/~daw/papers/keysched-crypto96.ps
- [Test] Markku-Juhani Saarinen,
C implementation and test vectors for GOST hash function,
http://www.jyu.fi/~mjos/gosthash.tar.gz
- Digest length:
- 32 bytes.
- Security comments:
- According to Markku-Juhani Saarinen
<mjos@math.jyu.fi>, "[GOST] 28147, the only nonlinear
part of R 34.11-94, has huge weak key classes and bit changes take 8 or 9 rounds
to affect all other bits."
- According to Bruce Schneier (posting to sci.crypt, 12 Nov 1998), "GOST has a 256-bit
key, but its key schedule is so weak that I would not use it as a hash function
under any circumstances."
| HAVAL[(digestLength[,passes])] | Message Digest
|
- Designers:
- Yuliang Zheng,
Josef Pieprzyk,
Jennifer Seberry
- Published:
- 1992
- Alias:
- "OpenPGP.Digest.7" is an alias to "HAVAL(20,5)".
- References:
- [Def, An] Yuliang Zheng, Josef Pieprzyk, Jennifer Seberry,
"HAVAL -- a one-way hashing algorithm with variable length of output",
Advances in Cryptology - AUSCRYPT '92 Proceedings,
Lecture Notes in Computer Science,
Springer-Verlag, 1993.
haval.ps in
http://www.pscit.monash.edu.au/~yuliang/pubs/haval.tar.Z
- [Inf, Test, Impl] Yuliang Zheng, Josef Pieprzyk, Jennifer Seberry,
HAVAL reference implementation (in C),
http://www.pscit.monash.edu.au/~yuliang/pubs/haval.tar.Z
- Parameters:
-
Integer digestLength [creation/read, default 32] - the
length of the output in bytes (16 to 32, multiple of 4)
-
Integer passes [creation/read, default 3] - the number of
passes to be performed (3, 4, or 5)
- Digest length:
- As specified by the
digestLength parameter (in bytes).
- Designer:
- Ron Rivest
- Aliases:
- "1.2.840.113549.2.2", "OpenPGP.Digest.5"
- References:
- [Def, Impl, Test] Burt Kaliski,
"The MD2 Message-Digest Algorithm,"
RFC 1319, April 1992.
- [Inf] Bruce Schneier,
"Section 18.6 MD2,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [An] RSA Laboratories Security Bulletin #4,
ftp://ftp.rsa.com/pub/pdfs/bulletn4.pdf
- [An] N. Rogier, P. Chauvaud,
"The compression function of MD2 is not collision-free,"
Workshop record, 2nd Workshop on Selected Areas in Cryptography
(SAC '95), Ottowa, Canada, May 18-19 1995.
- Digest length:
- 16 bytes.
- Security comment:
- N. Rogier and P. Chauvaud have found a method of generating
collisions for MD2's compression function. Quoting from
RSA Laboratories Security Bulletin #4:
[C]aution requires that MD2 be no longer recommended for new
applications where collision-resistance is required. Questions
about the continuing suitability of MD2 for existing applications
remain open. [... O]ur recommendation would be to upgrade
applications away from MD2 whenever it is practical.
- Designer:
- Ron Rivest
- Published:
- 1990
- Alias:
- "1.2.840.113549.2.4"
- References:
- [Def, Impl, Test] Ron Rivest,
"The MD4 Message-Digest Algorithm,"
RFC 1320, April 1992.
- [Inf] Bruce Schneier,
"Section 18.4 MD4,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [An] RSA Laboratories Security Bulletin #4,
ftp://ftp.rsa.com/pub/pdfs/bulletn4.pdf
- [An] Hans Dobbertin,
"Cryptanalysis of MD4,"
Fast Software Encryption, Third International Workshop,
Volume 1039 of Lecture Notes in Computer Science (D. Gollmann, ed.),
pp. 53-69. Springer-Verlag, 1996.
- Digest length:
- 16 bytes.
- Security comment:
- Bert den Boer, Antoon Bosselaers and Hans Dobbertin have found
a method of generating collisions for the full MD4 algorithm.
Quoting from
RSA Laboratories Security Bulletin #4:
[I]t has been shown that collisions for MD4 can be found
in about a minute on a typical PC. [...] MD4 [...] should
not be used.
- Designer:
- Ron Rivest
- Alias:
- "1.2.840.113549.2.5", "OpenPGP.Digest.1"
- References:
- [Def, Impl, Test] Ron Rivest,
"The MD5 Message-Digest Algorithm,"
RFC 1321, April 1992.
- [Inf] Bruce Schneier,
"Section 18.5 MD5,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [An] RSA Laboratories Security Bulletin #4,
ftp://ftp.rsa.com/pub/pdfs/bulletn4.pdf
- [An] Hans Dobbertin,
Cryptanalysis of MD5 Compress,
http://www-cse.ucsd.edu/~bsy/dobbertin.ps (unofficial copy?)
- Digest length:
- 16 bytes.
- Security comment:
- Hans Dobbertin has found a method of generating collisions for
MD5's compression function. Quoting from
RSA Laboratories Security Bulletin #4:
Given the surprising speed with which techniques
on MD4 were extended to MD5 we feel that it is
only prudent to draw a cautious conclusion and to
expect that collisions for the entire hash function
might soon be found.
In addition, the 128-bit output is arguably not long enough to make
generating collisions using a birthday attack infeasible.
- Designers:
- Joan Daemen,
Craig Clapp
- Published:
- 1998
- References:
- [Def, An] Joan Daemen, Craig Clapp,
"Fast Hashing and Stream Encryption with Panama,"
Fast Software Encryption '98,
Volume 1372 of Lecture Notes in Computer Science (S. Vaudenay, ed.), pp. 60-74.
Springer-Verlag, 1998.
http://standard.pictel.com/ftp/research/security/panama.pdf
- [Inf, Impl, Test] Joan Daemen,
Panama reference implementation (in C),
http://www.esat.kuleuven.ac.be/~rijmen/downloadable/panama.zip
- Digest length:
- 32 bytes.
| RIPEMD-128 | Message Digest
|
- Designers:
- Hans Dobbertin,
Antoon Bosselaers,
Bart Preneel
- Published:
- April 1996
- Aliases:
- "RIPEMD128", "1.3.36.3.2.2"
- References:
- [Def, An] Hans Dobbertin, Antoon Bosselaers, Bart Preneel,
RIPEMD-160: A Strengthened Version of RIPEMD.
A joint publication by the German Information Security Agency
(POB 20 03 63, D-53133 Bonn, Germany)
and the Katholieke Universiteit Leuven, ESAT-COSIC
(K. Mercierlaan 94, B-3001 Heverlee, Belgium), 18 April 1996.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/bosselae/ripemd/ripemd160.ps.gz
- [Inf, Impl, Test] Hans Dobbertin, Antoon Bosselaers, Bart Preneel,
The RIPEMD-160 page,
http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
- [Inf] ISO/IEC 10118-3:1998,
Information technology -- Security techniques -- Hash-functions --
Part 3: Dedicated hash-functions.
To order:
http://www.iso.ch/cate/d25428.html
- Digest length:
- 16 bytes.
- Security comment:
- The 128-bit output is arguably not long enough to make
generating collisions using a birthday attack infeasible.
| RIPEMD-160 | Message Digest
|
- Designers:
- Hans Dobbertin,
Antoon Bosselaers,
Bart Preneel
- Published:
- April 1996
- Aliases:
- "RIPEMD160", "1.3.36.3.2.1", "OpenPGP.Digest.3"
- References:
- [Def, An] Hans Dobbertin, Antoon Bosselaers, Bart Preneel,
RIPEMD-160: A Strengthened Version of RIPEMD.
A joint publication by the German Information Security Agency
(POB 20 03 63, D-53133 Bonn, Germany)
and the Katholieke Universiteit Leuven, ESAT-COSIC
(K. Mercierlaan 94, B-3001 Heverlee, Belgium), 18 April 1996.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/bosselae/ripemd/ripemd160.ps.gz
- [Inf, Impl, Test] Hans Dobbertin, Antoon Bosselaers, Bart Preneel,
The RIPEMD-160 page,
http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
- [Inf] A. Menezes, P.C. van Oorschot, S.A. Vanstone,
"Algorithm 9.55 RIPEMD-160 hash function,"
Handbook of Applied Cryptography,
CRC Press, 1997.
- [Inf] ISO/IEC 10118-3:1998,
Information technology -- Security techniques -- Hash-functions --
Part 3: Dedicated hash-functions.
To order:
http://www.iso.ch/cate/d25428.html
- Digest length:
- 20 bytes.
- Designers:
- U.S. National Security Agency
- Published:
- January 1992
- Alias:
- "1.3.14.3.2.13"
- References:
- [Def, Test] U.S. National Institute of Standards and Technology,
Secure Hash Standard, NIST FIPS PUB 180.
- [An] Florent Chabaud, Antoine Joux,
Differential Collisions: an Explanation for SHA-1,
Draft version:
ftp://ftp.ens.fr/pub/dmi/users/chabaud/sha.ps
- Digest length:
- 20 bytes.
- Security comment:
- This is the original version of the Secure Hash Algorithm, and has
been superceded by SHA-1. Although the motivation for the change
leading to SHA-1 was not made public by the NSA, the paper by
Chabaud and Joux cited above provides evidence that this change
improved security.
- Designers:
- U.S. National Security Agency
- Published:
- April 1995
- Aliases:
- "SHA", "SHA1", "1.3.14.3.2.26", "OpenPGP.Digest.2"
- References:
- [Def, Test] U.S. National Institute of Standards and Technology,
Secure Hash Standard, NIST FIPS PUB 180-1.
http://www.itl.nist.gov/div897/pubs/fip180-1.htm
- [Inf] Bruce Schneier,
"Section 18.7 Secure Hash Algorithm (SHA),"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [Inf] A. Menezes, P.C. van Oorschot, S.A. Vanstone,
"Algorithm 9.53 Secure Hash Algorithm - revised (SHA-1),"
Handbook of Applied Cryptography,
CRC Press, 1997.
- [An] Florent Chabaud, Antoine Joux,
Differential Collisions: an Explanation for SHA-1,
Draft version:
ftp://ftp.ens.fr/pub/dmi/users/chabaud/sha.ps
- Digest length:
- 20 bytes.
| Tiger[(digestLength[,passes])] | Message Digest
|
- Designers:
- Ross Anderson,
Eli Biham
- Published:
- 1996
- Alias:
- "OpenPGP.Digest.6" is an alias to "Tiger(24,3)".
- References:
- [Def] Ross Anderson, Eli Biham,
"Tiger: A Fast New Hash Function,"
Proceedings of Fast Software Encryption 3, Cambridge, 1996.
http://www.cs.technion.ac.il/~biham/Reports/Tiger/tiger/tiger.html
(Postscript version)
- [Def] Ross Anderson, Eli Biham,
"Generation of the S boxes of Tiger,"
http://www.cl.cam.ac.uk/ftp/users/rja14/tigersb.ps.Z
- [Inf, Impl, Test] Ross Anderson, Eli Biham,
The Tiger Home Page,
http://www.cs.technion.ac.il/~biham/Reports/Tiger/
- Parameters:
-
Integer digestLength [creation/read, default 24] - the
length of the output in bytes (16, 20 or 24)
-
Integer passes [creation/read, default 3] - the number of
passes to be performed (minimum 3)
- Digest length:
- As specified by the
digestLength parameter (in bytes).
- Comment:
- Although the "Tiger: A Fast New Hash Function" paper does not mention
use of any number of passes/rounds other than 3, the reference
implementation (available from the Tiger home page) supports a variable
number of passes, and therefore we specify this as a parameter.
| Parallel(digestNames+) | Message Digest Construction
|
- Description:
- This output of this algorithm is obtained by concatenating the outputs of each
of the listed algorithms. For example, "Parallel(SHA-1,RIPEMD-160)" produces a 40-byte
output, the first half of which is calculated by applying SHA-1 to the input, and the
second half by applying RIPEMD-160. Any non-zero number of algorithms may be listed,
separated by commas.
- Parameters:
-
String[] digestNames [creation/read, no default] - the list of
component digest algorithm names. Reading this property MUST return an
unaliased array; changing the array will not affect the algorithm.
- Digest length:
- The sum of the digest lengths of the component algorithms.
- Security comments:
- This construction is provably at least as resistant to collisions as the
most collision-resistant of the component algorithms. However, it does not
help to prevent attacks against other hash-function properties (for example
pre-image and 2nd pre-image resistance), and probably should only be used
in applications where the most important required property is collision
resistance.
- All of the component algorithms should be distinct, since otherwise parts of the output
will be repeated, which would be a serious weakness in some applications.
Mac algorithms (Message Authentication Codes)
- Description:
- If EK denotes DES encryption, and the input message is split into
blocks M0,... Mn-1 (using padding with zeroes for the
last block), then:
- let C0 = 0
- let Ci+1 = EK(Ci XOR Mi),
for i >= 0
- the MAC value is (a prefix of) Cn-1.
- References:
- [Def, Test] U.S. National Institute of Standards and Technology,
NIST FIPS PUB 113,
"Standard on Computer Data Authentication,
U.S. Department of Commerce, May 1985.
http://www.itl.nist.gov/div897/pubs/fip113.htm
- [An] M. Bellare, R. Guérin and P. Rogaway,
"The security of cipher block chaining,"
Extended abstract in Advances in Cryptology - Crypto 94 Proceedings,
Volume 839 of Lecture Notes in Computer Science (Y. Desmedt ed.),
Springer-Verlag, 1994.
Full paper available at
http://www-cse.ucsd.edu/users/mihir/papers/cbc.html
- [An] Bart Preneel, P.C. van Oorschot,
"A new generic attack on message authentication codes,"
Advances in Cryptology - Crypto '95 Proceedings,
Volume 963 of Lecture Notes in Computer Science (D. Coppersmith, ed.).
Springer-Verlag, 1995.
- [An] Bart Preneel, P.C. van Oorschot,
"MDx-MAC and building fast MACs from hash functions,"
Advances in Cryptology - Crypto '95,
Volume 963 of Lecture Notes in Computer Science (D. Coppersmith, ed.), pp. 1-14.
Springer-Verlag, 1995.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/preneel/mdxmac_crypto95.ps
- Key length:
- 64 bits as encoded; 56 bits excluding parity bits.
- Truncated length:
- Minimum 32, maximum 64, default 64 bits.
- Comments:
- Section 4 of FIPS 113 (which specifies that 7-bit ASCII data should
have the high bit of each byte coerced to zero) does not apply; the
input data is always treated as 8-bit.
- FIPS 113 does not specify the result of applying the algorithm to
a message of zero length. The interpretation used here is that in that
case, the output is found by encrypting a single all-zero block.
- Security comment:
- The output length of 64 bits is not sufficient to prevent a brute-force
attack (i.e. to find a message with a given MAC), and is very weak
against birthday attacks.
- The input is padded to a multiple of 64 bits by appending between
0 and 7 zero bytes. This means that any trailing zeroes in the last
block of the message will not affect the MAC result, and therefore
CBC-MAC-DES-FIPS113 should not be used for applications where trailing
zeroes could be significant.
- The paper "MDx-MAC and building fast MACs from hash functions,"
describes an attack on CBC-MAC which requires (in the case of DES)
on the order of 232 known texts.
| ? CBC-MAC(cipherName) | Mac
|
- Description:
- If EK denotes encryption with the block cipher named
cipherName, and the input message is split into blocks M0,
... Mn-1 (using PKCS #7-style padding for the last block), then:
- let C0 = 0
- let Ci+1 = EK(Ci XOR Mi),
for i >= 0
- the MAC value is (a prefix of) Cn-1.
- References:
- [Inf] U.S. National Institute of Standards and Technology,
NIST FIPS PUB 113,
"Standard on Computer Data Authentication,
U.S. Department of Commerce, May 1985.
http://www.itl.nist.gov/div897/pubs/fip113.htm
- [An] M. Bellare, R. Guérin and P. Rogaway,
"The security of cipher block chaining,"
Extended abstract in Advances in Cryptology - Crypto 94 Proceedings,
Volume 839 of Lecture Notes in Computer Science (Y. Desmedt ed.),
Springer-Verlag, 1994.
Full paper available at
http://www-cse.ucsd.edu/users/mihir/papers/cbc.html
- [An] Bart Preneel, P.C. van Oorschot,
"A new generic attack on message authentication codes,"
Advances in Cryptology - Crypto '95 Proceedings,
Volume 963 of Lecture Notes in Computer Science (D. Coppersmith, ed.).
Springer-Verlag, 1995.
- [An] Bart Preneel, P.C. van Oorschot,
"MDx-MAC and building fast MACs from hash functions,"
Advances in Cryptology - Crypto '95,
Volume 963 of Lecture Notes in Computer Science (D. Coppersmith, ed.), pp. 1-14.
Springer-Verlag, 1995.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/preneel/mdxmac_crypto95.ps
- Parameters:
-
String cipherName [creation/read, no default] - the name
of the block cipher on which this Mac is to be based. The algorithm
must be available as a cipher.
- Key length:
- As defined by the cipher.
- Truncated length:
- Minimum 32 bits, maximum equal to the cipher block size. The default
truncated length is 64 bits, or half of the cipher block size rounded up to
the next multiple of 8 bits, whichever is greater.
- Missing information:
- Test vectors.
- Comment:
- The input is padded to a multiple of the cipher's block length by
using PKCS #7-style padding (as defined by the
PKCSPadding algorithm for block
ciphers).
- Security comment:
- The paper "MDx-MAC and building fast MACs from hash functions,"
describes an attack on CBC-MAC which requires on the order of
2k/2 known texts, where k is the cipher block size in
bits. This means that the security of CBC-MAC using a 64-bit cipher
(i.e. most block ciphers designed before the AES process) is very
limited.
| HMAC(digestName) | Mac Construction
|
- Designers:
- Mihir Bellare,
Ran Canetti,
Hugo Krawczyk,
Adi Shamir
- Published:
- June 1996
- References:
- [Def, Impl] M. Bellare, R. Canetti, H. Krawczyk,
"HMAC: Keyed-Hashing for Message Authentication,"
RFC 2104, February 1997.
- [Def, An] M. Bellare, R. Canetti, H. Krawczyk,
"Keying hash functions for message authentication,"
Extended abstract in Advances in Cryptology - Crypto '96 Proceedings,
Volume 1109 of Lecture Notes in Computer Science (N. Koblitz, ed.).
Springer-Verlag, 1996.
Full paper:
http://www-cse.ucsd.edu/users/mihir/papers/hmac.html#kmd5-paper
- [Inf] M. Bellare, R. Canetti, H. Krawczyk,
"Message authentication using hash functions: The HMAC construction,"
RSA Laboratories' CryptoBytes vol. 2, no. 1, Spring 1996.
http://www-cse.ucsd.edu/users/mihir/papers/hmac.html#hmac-cryptobytes
- [Test] P. Cheng, R. Glenn,
"Test Cases for HMAC-MD5 and HMAC-SHA-1,"
RFC 2202, September 1997.
- [Test] J. Kapp,
"Test Cases for HMAC-RIPEMD160 and HMAC-RIPEMD128,"
RFC 2286, February 1998.
- Parameters:
-
String digestName [creation/read, no default] - the name
of the message digest on which this Mac is to be based. Not all message
digests can necessarily be used.
- Key length:
- As defined by the cipher.
- Truncated length:
- Minimum 32 bits, maximum equal to the message digest output length. The default is
half the message digest output length, rounded up to the next multiple of 8 bits.
- Designers:
- Bart Preneel,
P.C. van Oorschot
- Description:
- The Mac algorithm obtained by applying the MDx-MAC method to MD5
(MDx-MAC is not defined as a construction, since it involves changes
to the internal structure of the message digest being used).
- Published:
- 1995
- References:
- [Def, An, Test] Bart Preneel, P.C. van Oorschot,
"MDx-MAC and building fast MACs from hash functions,"
Advances in Cryptology - Crypto '95,
Volume 963 of Lecture Notes in Computer Science (D. Coppersmith, ed.), pp. 1-14.
Springer-Verlag, 1995.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/preneel/mdxmac_crypto95.ps
- [Inf, Test] A. Menezes, P.C. van Oorschot, S.A. Vanstone,
"Algorithm 9.69 MD5-MAC,"
Handbook of Applied Cryptography,
CRC Press, 1997.
- Truncated length:
- Minimum 32, maximum 128, default 64 bits.
- Security comment:
- MD5-MAC is claimed to require approximately 264 operations to
forge a message (increasing the truncated length property from the default,
8 bytes, does not necessarily improve this).
| RIPEMD-128-MAC(macLength) | Mac
|
- Designers:
- Bart Preneel,
P.C. van Oorschot
- Description:
- The Mac algorithm obtained by applying the MDx-MAC method to RIPEMD-128
(MDx-MAC is not defined as a construction, since it involves changes
to the internal structure of the message digest being used).
- Published:
- 1995
- References:
- [Def, An] Bart Preneel, P.C. van Oorschot,
"MDx-MAC and building fast MACs from hash functions,"
Advances in Cryptology - Crypto '95,
Volume 963 of Lecture Notes in Computer Science (D. Coppersmith, ed.), pp. 1-14.
Springer-Verlag, 1995.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/preneel/mdxmac_crypto95.ps
- [Inf, Impl, Test] Hans Dobbertin, Antoon Bosselaers, Bart Preneel,
The RIPEMD-160 page,
http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
- Truncated length:
- Minimum 32, maximum 128, default 64 bits.
- Security comment:
- RIPEMD-128-MAC is claimed to require approximately 264
operations to forge a message (increasing the truncated length property
from the default, 8 bytes, does not necessarily improve this).
| RIPEMD-160-MAC(macLength) | Mac
|
- Designers:
- Bart Preneel,
P.C. van Oorschot
- Description:
- The Mac algorithm obtained by applying the MDx-MAC method to RIPEMD-160
(MDx-MAC is not defined as a construction, since it involves changes
to the internal structure of the message digest being used).
- Published:
- 1995
- References:
- [Def, An] Bart Preneel, P.C. van Oorschot,
"MDx-MAC and building fast MACs from hash functions,"
Advances in Cryptology - Crypto '95,
Volume 963 of Lecture Notes in Computer Science (D. Coppersmith, ed.), pp. 1-14.
Springer-Verlag, 1995.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/preneel/mdxmac_crypto95.ps
- [Inf, Impl, Test] Hans Dobbertin, Antoon Bosselaers, Bart Preneel,
The RIPEMD-160 page,
http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
- Truncated length:
- Minimum 32, maximum 160, default 80 bits.
- Security comment:
- RIPEMD-160-MAC is claimed to require approximately 280
operations to forge a message (increasing the truncated length property
from the default, 10 bytes, does not necessarily improve this).
| ? SSL3-MAC(digestName) | Mac Construction
|
- Designers:
- Mihir Bellare,
Ran Canetti,
Hugo Krawczyk
- Alias:
- "SSL3MAC"
- References:
- [Def] Netscape Communications Corp.,
SSL v3 specification,
http://www.netscape.com/eng/ssl3/
- [Inf, An] M. Bellare, R. Canetti, H. Krawczyk,
"Keying hash functions for message authentication,"
Extended abstract in Advances in Cryptology - Crypto '96 Proceedings,
Volume 1109 of Lecture Notes in Computer Science (N. Koblitz, ed.).
Springer-Verlag, 1996.
Full paper:
http://www-cse.ucsd.edu/users/mihir/papers/hmac.html#kmd5-paper
(This paper describes the later HMAC design, but many of the same security
properties apply to SSL3-MAC.)
- Parameters:
-
String digestName [creation/read, no default] - the name
of the message digest on which this Mac is to be based. Not all message
digests can necessarily be used.
- Truncated length:
- Minimum 32 bits, maximum equal to the message digest output length. The default is
half the message digest output length, rounded up to the next multiple of 8 bits.
- Comment:
- This is an early version of HMAC, which should
now be used in preference (except for compatibility with SSL version 3).
The difference is that in SSL3-MAC, the padding strings 'ipad' and 'opad'
are appended to the key, whereas in HMAC, they are exclusive-or'd with
the zero-extended key.
| ! XMACR(cipherName) | Mac Construction
|
- Designers:
- Mihir Bellare,
R. Guérin,
Phillip Rogaway
- Description:
- ...
- Published:
- October 1995
- References:
- [Def, An] M. Bellare, R. Guérin and P. Rogaway,
"XOR MACs: New methods for message authentication using finite
pseudorandom functions,"
Extended abstract in Advances in Cryptology - Crypto 95 Proceedings,
Volume 963 of Lecture Notes in Computer Science (D. Coppersmith ed.),
Springer-Verlag, 1995.
Full paper available at
http://www-cse.ucsd.edu/users/mihir/papers/xormacs.html
- Parameters:
-
String digestName [creation/read, no default] - the name
of the message digest on which this Mac is to be based. Not all message
digests can necessarily be used.
- Truncated length:
- Minimum 32 bits, maximum equal to the message digest output length. The default is
half the message digest output length, rounded up to the next multiple of 8 bits.
- Missing information:
- Need to decide how the random seed and MAC output are encoded, and whether the
seed is counted in the truncated length (probably not, if values for this parameter
are to be comparable with values for other MACs). The Crypto++ implementation seems
to use 64-bit big-endian format for all integers, so we should probably follow that
(the paper leaves it unspecified).
- How is padding handled for the last block - OneAndZeroes?
- The paper suggests using a message digest's compression function, rather than the
full message digest - is it appropriate to use a construction in this case?
- Sun's API for
javax.crypto.Mac appears to work only for deterministic
MAC algorithms, which needs to be fixed (by separating MAC computation from
verification).
- Consider how (and whether) to standardize XMACC. The obvious approach of getting
the implementation to automatically increment the counter for each MAC computation,
starting at zero, risks repeating counter values if more than one
Mac
object is instantiated for a given key (particularly if anyone tries to use XMACC
in the same way as other MACs).
- Consider how to do XMACR/C for ciphers, as opposed to message digests. For example,
how many bits should the cipher output be truncated to, to form a PRF? (the paper
only gives DES as an example)
Symmetric Ciphers
See also Conventions for symmetric ciphers.
- Designer:
- Joan Daemen
- Published:
- 1994
- References:
- [Def, An] Joan Daemen,
"Cipher and Hash Function Design, Strategies based on linear and
differential cryptanalysis"
Ph.D. Thesis, Katholieke Universiteit Leuven, March 1995.
http://www.esat.kuleuven.ac.be/~cosicart/ps/JD-9500/
(in particular see
chapter 7,
"block cipher design").
- [Def, An] J. Daemen, R. Govaerts, J. Vandewalle,
"A New Approach to Block Cipher Design,"
Fast Software Encryption, Cambridge Security Workshop Proceedings,
Volume 809 of Lecture Notes in Computer Science (R. Anderson, ed.), pp. 18-32.
Springer-Verlag, 1994.
- [Inf] Bruce Schneier,
"Section 14.5 3-Way,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [An] J. Kelsey, B. Schneier, D. Wagner,
"Key-Schedule Cryptanalysis of 3-WAY, IDEA, G-DES, RC4, SAFER, and Triple-DES",
Advances in Cryptology - Crypto '96 Proceedings, pp. 237-251.
Springer-Verlag, August 1996.
http://www.counterpane.com/key_schedule.html
- [An] J. Kelsey, B. Schneier, D. Wagner,
"Related-Key Cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X, NewDES, RC2, and TEA",
ICICS '97 Proceedings, Springer-Verlag, November 1997.
http://www.counterpane.com/related-key_cryptanalysis.html
- [Test] Wei Dai,
Crypto++ 3.0, file 3wayval.dat
http://www.eskimo.com/~weidai/cryptlib.html
- Key length:
- 96 bits.
- Block size:
- 12 bytes.
- Comment:
- The byte ordering convention is as follows: within each 12-byte block, the
32-bit words denoted in chapter 7 of Joan Daemen's thesis as
(a0, a1, a2), are given in that
order. Within each 32-bit word, the bytes are in big-endian order.
This is consistent with the four test vectors in Crypto++; note that
the same four test vectors are included in Applied Cryptography
(page 659) with the words written in the opposite order
(i.e. as a2 a1 a0).
For reference, the forth test vector in this set is:
key = <D2F05B5ED6144138CAB920CD>
plaintext = <4059C76E83AE9DC4AD21ECF7>
ciphertext = <478EA8716B13F17C15B155ED>
- Security comment:
- 3-Way is vulnerable to related-key attacks, and therefore it should only
be used with keys that are generated by a strong PRNG, or by a source of
bits that are sufficiently uncorrelated (such as the output of a hash
function).
- Description:
- This name is reserved for the cipher that wins the NIST AES
(Advanced Encryption Standard) contest. Its original name will be
retained as an alias. If there is more than one winning algorithm, each
winner will retain its original name, and this entry will be removed.
- Aliases:
- "AES128", "AES192", "AES256", "OpenPGP.Cipher.7", "OpenPGP.Cipher.8", "OpenPGP.Cipher.9"
- References:
- [Def] NIST,
AES Home Page,
http://www.nist.gov/aes/
- [Def] AES Round 1 - Documentation Download,
http://www-08.nist.gov/encryption/aes/round1/docs.htm
- [Inf] The CAESAR - Candidate AES for Analysis and Reviews project,
http://www.dice.ucl.ac.be/crypto/CAESAR/caesar.html
- [Inf] Lars Knudsen, Vincent Rijmen,
The Block Cipher Lounge - AES,
http://www.ii.uib.no/~larsr/aes.html
- [Inf] John Savard,
Towards the 128-bit Era - AES Candidates,
http://fn2.freenet.edmonton.ab.ca/~jsavard/co0408.html
- [An] Eli Biham,
"A Note on Comparing the AES Candidates,"
Submitted to the 2nd AES Conference.
http://csrc.nist.gov/encryption/aes/round1/conf2/papers/biham2.pdf
- [An] Olivier Baudron, Henri Gilbert, Louis Granboulan,
Helena Handschuh, Antoine Joux, Phong Nguyen, Fabrice Noilhan,
David Pointcheval, Thomas Pornin, Guillaume Poupard, Jacques Stern,
Serge Vaudenay,
"Report on the AES Candidates,"
Submitted to the 2nd AES Conference.
http://csrc.nist.gov/encryption/aes/round1/conf2/papers/baudron1.pdf
- [An] G. Carter, E. Dawson, L. Nielsen,
"Key Schedule Classification of the AES Candidates,"
Submitted to the 2nd AES Conference.
http://csrc.nist.gov/encryption/aes/round1/conf2/papers/carter.pdf
- Key length:
- 128, 192 or 256 bits. Other lengths may also be supported. The default key length
for AES depends on the KeyGenerator name; see the section on KeyGenerators.
- Block size:
- 16 bytes. Other sizes may also be supported.
- Patent status:
- The AES winner will be available on a wordwide, non-exclusive, royalty-free basis,
regardless of any patents.
- Missing information:
- Which algorithm will win ;-)
- Designer:
- Bruce Schneier
- Published:
- 1994
- Alias:
- "OpenPGP.Cipher.4"
- References:
- [Def] Bruce Schneier,
"Description of a New Variable-Length Key, 64-Bit Cipher (Blowfish),"
Fast Software Encryption, Cambridge Security Workshop Proceedings,
pp. 191-204. Springer-Verlag, 1994.
http://www.counterpane.com/bfsverlag.html
- [Inf, Impl] Bruce Schneier,
The Blowfish Encryption Algorithm page,
http://www.counterpane.com/blowfish.html
- [Inf] Bruce Schneier,
"Blowfish -- One Year Later,"
Dr. Dobb's Journal, September 1995.
http://www.counterpane.com/bfdobsoyl.html
- [Inf] Bruce Schneier,
"Section 14.3 Blowfish,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
(Note: the C source in the appendix contains a
bug; this bug
is not present in Eric Young's C reference implementation.)
- [An] S. Vaudenay,
"On the weak keys of Blowfish,"
Fast Software Encryption, Third International Workshop,
Volume 1008 of Lecture Notes in Computer Science (B. Preneel, ed.),
pp. 286-297. Springer-Verlag, 1995.
- [Test] Eric Young,
Blowfish test vectors,
http://www.counterpane.com/vectors.txt
(also in C syntax)
- Key length:
- Minimum 32, maximum 448, multiple of 8 bits; default 128 bits.
- Block size:
- 8 bytes.
- Security comment:
- The weak keys described in S. Vaudenay's paper do not appear to
be significant for full (16-round) Blowfish.
- Variant:
- "Blowfish-ISK" - the subkeys are specified (using the notation of
Applied Cryptography) as P1..18 first, followed by
S1, 0..255, S2, 0..255,
S3, 0..255, and S4, 0..255.
Each entry is represented as 4 bytes in big-endian order.
Weak keys may be avoided by ensuring that no S-box has duplicate
entries (i.e. that there does not exist i, j, k where j != k such
that Si, j = Si, k).
- Designers:
- Carlisle Adams,
Stafford Tavares
- Published:
- 1997
- Aliases:
- "CAST5", "OpenPGP.Cipher.3"
- References:
- [Def, Test] Carlisle Adams,
"The CAST-128 Encryption Algorithm,"
RFC 2144, May 1997.
- [Inf, An] CAST Encryption Algorithm Related Publications,
http://adonis.ee.queensu.ca:8000/cast/
- [Inf] Carlisle Adams,
"Constructing Symmetric Ciphers Using the CAST Design Procedure,"
Selected Areas in Cryptography (E. Kranakis and P. van Oorschot, ed.), pp. 71-104.
Kluwer Academic Publishers, 1997, and
Designs, Codes, and Cryptography, Vol. 12, No. 3, pp. 283-316, 1997.
http://www.entrust.com/downloads/cast.ps
(HTML version)
Also "CAST Design Procedure Addendum,"
http://www.entrust.com/downloads/castadd.ps
- Key length:
- Minimum 40, maximum 128, multiple of 8 bits; default 128 bits.
- Block size:
- 8 bytes.
- Comment:
- Strictly speaking the alias "CAST5" only applies to CAST-128 with a key size of 80
or 128 bits. Implementations MAY enforce this.
- Designer:
- Carlisle Adams,
Howard Heys,
Stafford Tavares,
Michael Wiener
- Published:
- June 1998
- References:
- [Def, An] Carlisle Adams,
The CAST-256 Encryption Algorithm,
http://www.entrust.com/resources/pdf/cast-256.pdf
- [Inf] Carlisle Adams,
"Constructing Symmetric Ciphers Using the CAST Design Procedure,"
Selected Areas in Cryptography (E. Kranakis and P. van Oorschot, ed.), pp. 71-104.
Kluwer Academic Publishers, 1997, and
Designs, Codes, and Cryptography, Vol. 12, No. 3, pp. 283-316, 1997.
http://www.entrust.com/downloads/cast.ps
(HTML version)
Also "CAST Design Procedure Addendum,"
http://www.entrust.com/downloads/castadd.ps
(This does not describe CAST-256, but is relevant to its design.)
- [Patent] Carlisle Adams,
[[need patent title]]
U.S. Patent #5,511,123. [[need date]]
Also see:
Canadian Patent Application 2,134,410.
Japanese Patent Application 6-295746.
U.S. Patent Application 08/761,763.
Canadian Patent Application 2,164,768.
PCT Patent Application CA96/00782.
U.S. Patent Application 08/895,875.
- [Test] NIST,
CAST-256 Test Values,
http://www-08.nist.gov/encryption/aes/round1/testvals/cast-256-vals.zip
- Key length:
- Minimum 128, maximum 256, multiple of 32 bits; default 128 bits.
- Block size:
- 16 bytes.
- Patent status:
- CAST-256 is patented by Entrust Technologies, Inc.
(see references). [[need reference to statement that licensing will be royalty-free.]]
- Designer:
- Chae Hoon Lim
- Published:
- 1998
- Description:
- This is the version of CRYPTON originally submitted to NIST as an AES candidate.
- References:
- Comment:
- "CRYPTON: A New 128-bit Block Cipher - Specification and Analysis" contains an error
in the description of the byte permutation phi: on the right hand side of figure 4,
b33 should be b03.
- Key length:
- Minimum 64, maximum 256, multiple of 32 bits; default 128 bits.
- Block size:
- 16 bytes.
- Designer:
- Chae Hoon Lim
- Published:
- December 1998
- Aliases:
- "CRYPTON-1.0"
- Description:
- This is version 1.0 of CRYPTON (the current version, at time of writing).
- References:
- Key length:
- Minimum 0, maximum 256, multiple of 8 bits; default 128 bits.
(Note that this is different from CRYPTON-0.5.)
- Block size:
- 16 bytes.
- Designers:
- Jacques Stern,
Serge Vaudenay
- Published:
- 1998
- References:
- [Def, An, Test, Impl] Serge Vaudenay, Jacques Stern,
"CS-Cipher,"
In Fast Software Encryption, Paris, France.
Lecture Notes in Computer Science No. 1372, pp. 189-205, Springer-Verlag, 1998.
ftp://ftp.ens.fr/pub/dmi/users/vaudenay/SV98.ps
- [Inf] CS-Cipher home page,
http://www.cie-signaux.fr/security/index.htm
- [An] Serge Vaudenay,
"On the Security of CS-Cipher,"
In Fast Software Encryption, Rome, Italy,
To appear in Lecture Notes in Computer Science, Springer-Verlag, 1999.
- Key length:
- Minimum 0, maximum 128, multiple of 8 bits; default 128 bits.
- Block size:
- 8 bytes.
- Patent status:
- CS-Cipher may be subject to patents by the
Compagnie des Signaux.
- Designer:
- Lars Knudsen
- Published:
- May 1998
- References:
- Key length:
- 128, 192 or 256 bits; default 128 bits.
- Block size:
- 16 bytes.
- Comment:
- The paper "DEAL: A 128-bit Block Cipher" contains an error in the description
of key scheduling: the three occurrences of "<4>" should be replaced by "<3>",
and the two occurrences of "<8>" should be replaced by "<4>". In other words,
the constants to be XOR'd with the input keys are 0x8000000000000000,
0x4000000000000000, 0x2000000000000000 and 0x1000000000000000.
- Security comments:
- The paper "On the Security of the 128-Bit Block Cipher DEAL,"
describes some certificational weaknesses of DEAL with a key size
of 192 bits; these attacks are impractical.
- John Kelsey of Counterpane Systems has found some related-key attacks
and equivalent keys for DEAL (unpublished, but described in the DEAL AES
forum on NIST's web site).
These appear to be impractical when DEAL is used as a cipher (as opposed to
a hash function using a construction such as Davies-Meyer).
- Designers:
- Don Coppersmith, Horst Feistel, Walt Tuchmann,
U.S. National Security Agency
- Published:
- 1976
- References:
- [Def] U.S. National Institute of Standards and Technology,
NIST FIPS PUB 46-2 (supercedes FIPS PUB 46-1),
"Data Encryption Standard",
U.S. Department of Commerce, December 1993.
http://www.itl.nist.gov/div897/pubs/fip46-2.htm
- [Inf] U.S. National Institute of Standards and Technology,
NIST FIPS PUB 74,
"Guidelines for Implementing and Using the NBS Data Encryption Standard".
- [Inf] Bruce Schneier,
"Chapter 12 Data Encryption Standard,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [Inf] A. Menezes, P.C. van Oorschot, S.A. Vanstone,
"Section 7.4 DES,"
Handbook of Applied Cryptography,
CRC Press, 1997.
- [An] E. Biham, A. Shamir,
"Differential Cryptanalysis of the Full 16-Round DES,"
CS 708, Proceedings of Crypto '92,
Volume 740 of Lecture Notes in Computer Science, December 1991.
http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-get.cgi/1991/CS/CS0708.ps
- [An] E. Biham, A. Shamir,
Differential Cryptanalysis of the Data Encryption Standard,
Springer-Verlag, 1993.
- [An] M. Matsui,
"Linear cryptanalysis method for DES cipher,"
Advances in Cryptology - EUROCRYPT '93 Proceedings,
Volume 765 of Lecture Notes in Computer Science (T. Helleseth, ed.), pp. 386-397.
Springer-Verlag, 1994.
- [An] E. Biham, A. Biryukov,
"An Improvement of Davies' Attack on DES,"
CS 817, EUROCRYPT '94 Proceedings (May 1994),
Volume 950 of Lecture Notes in Computer Science (A. De Santis, ed.),
Springer Verlag, 1995, and
Journal of Cryptology, Vol. 10, No. 3, pp. 195-206, 1997.
http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-get.cgi/1994/CS/CS0817.ps
- [An] Lars Knudsen,
"New potentially weak keys for DES and LOKI,"
Advances in Cryptology - EUROCRYPT '94 Proceedings,
Volume 950 of Lecture Notes in Computer Science (A. De Santis, ed.), pp. 419-424.
Springer Verlag, 1995.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/knudsen/potential.ps.Z
- Key length:
- 64 bits as encoded; 56 bits excluding parity bits.
- Block size:
- 8 bytes.
- Comment:
- Implementations MUST ignore (i.e. not check) the parity bits of keys.
KeyGenerators for DES MUST, however, output keys with correct parity.
- Security comment:
- The fixed 56-bit effective key length is too short to prevent brute-force attacks.
- Designers:
- Whitfield Diffie, Martin Hellman, Walt Tuchmann
- Published:
- 1978
- Aliases:
- "TripleDES", "DES-EDE3", "3DES", "OpenPGP.Cipher.2"
- References:
- [Inf] U.S. National Institute of Standards and Technology,
NIST FIPS PUB 46-2 (supercedes FIPS PUB 46-1),
"Data Encryption Standard",
U.S. Department of Commerce, December 1993.
http://www.itl.nist.gov/div897/pubs/fip46-2.htm
- [Inf] Bruce Schneier,
"Chapter 12 Data Encryption Standard," and
"Section 15.2 Triple Encryption,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [Def, An] R.C. Merkle, M. Hellman,
"On the Security of Multiple Encryption,"
Communications of the ACM,
vol. 24 no. 7, 1981, pp. 465-467.
- [An] Paul van Oorshot, Michael Wiener,
"A Known-Plaintext Attack on Two-Key Triple Encryption,"
Advances in Cryptology - EUROCRYPT '90 Proceedings,
Volume 473 of Lecture Notes in Computer Science (I.B. Damgård, ed.), pp. 318-325.
Springer-Verlag, 1991.
- [Inf, An] R.C. Merkle,
Secrecy, authentication, and public key systems,
UMI Research Press, Ann Arbor, Michigan, 1979.
- [An] J. Kelsey, B. Schneier, D. Wagner,
"Key-Schedule Cryptanalysis of 3-WAY, IDEA, G-DES, RC4, SAFER, and Triple-DES",
Advances in Cryptology - Crypto '96 Proceedings, pp. 237-251.
Springer-Verlag, August 1996.
http://www.counterpane.com/key_schedule.html
- [An] Stefan Lucks,
"Attacking Triple Encryption,"
Fast Software Encryption '98,
Volume 1372 of Lecture Notes in Computer Science (S. Vaudenay, ed.),
Springer-Verlag, 1998.
http://th.informatik.uni-mannheim.de/m/lucks/papers.html
- Key length:
- 128 or 192 bits; default 192 bits, as encoded. 112 or 168 bits excluding parity.
- Block size:
- 8 bytes.
- Comments:
- If the key length is 128 bits including parity (i.e. two-key triple DES),
the first 8 bytes of the encoding represent the key used for the
two outer DES operations, and the second 8 bytes represent the key
used for the inner DES operation.
- If the key length is 192 bits including parity (i.e. three-key triple DES),
then three independent DES keys are represented, in the order in
which they are used for encryption.
- Implementations MUST ignore (i.e. not check) the parity bits of keys.
KeyGenerators for DESede MUST, however, output keys with correct parity.
- Security comment:
- Quoting from the paper "Attacking Triple Encryption" cited above:
[A]bout 2108 steps of computation are sufficient to break
three-key triple DES. If one concentrates on the number of single DES
operations and assumes the other operations to be much faster,
290 of these are enough.
Better attacks than this are available against two-key triple DES (which
should only be used for backward compatibility, if at all).
- Designer:
- Ron Rivest
- Description:
- If K, K1 and K2 are the subkeys encoded as described below, then
encryption and decryption are defined by:
EDESX[K, K1, K2](P) = EDES[K](P XOR K1) XOR K2
DDESX[K, K1, K2](C) = DDES[K](C XOR K3) XOR K2
If the user key length is 24 bytes, the first 8 bytes represent the key
K used for the DES operation, and the two subsequent blocks of 8 bytes
represent the "whitening" keys K1 and K2, in that order.
If the user key length is 16 bytes, the first 8 bytes represent the key
K used for the DES operation, the second 8 bytes represent the whitening
key K1, and K2 is derived from K and K1 as specified in the first reference
below.
- References:
- [Def] Mark Riordan,
Subject: Re: Ladder DES.
Posting to Usenet newsgroup sci.crypt, 1 Mar 1994.
(Message-ID: <2ku9uc$sr8@msuinfo.cl.msu.edu>)
Archived at
ftp://ftp.replay.com/pub/replay/mirror/ftp.cryptography.org/DESX/
desx.algorithm.description
- [An] Joe Kilian, Phillip Rogaway,
"How to protect DES against exhaustive key search,"
Earlier version in Advances in Cryptology - Crypto '96,
Volume 1109 of Lecture Notes in Computer Science (N. Koblitz, ed.), pp. 252-267.
Springer-Verlag, 1996.
Full version:
http://wwwcsif.cs.ucdavis.edu/~rogaway/papers/desx.ps
- [Inf] U.S. National Institute of Standards and Technology,
NIST FIPS PUB 46-2 (supercedes FIPS PUB 46-1),
"Data Encryption Standard",
U.S. Department of Commerce, December 1993.
http://www.itl.nist.gov/div897/pubs/fip46-2.htm
- [Inf] Bruce Schneier,
"Chapter 12 Data Encryption Standard,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [An] J. Kelsey, B. Schneier, D. Wagner,
"Related-Key Cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X, NewDES, RC2, and TEA",
ICICS '97 Proceedings, Springer-Verlag, November 1997.
http://www.counterpane.com/related-key_cryptanalysis.html
- Key length:
- 128 or 192 bits; default 192 bits, as encoded. See security comments for
the effective key length.
- Block size:
- 8 bytes.
- Comments:
- Security comments:
- The paper "How to protect DES against exhaustive key search" proves that
attacks on DESX that assume a "black-box" model for DES require a work
factor of 2118. This does not take into account any possible
weaknesses of DES, apart from the key complementation property. In
particular, DESX is no more secure than DES against linear and
differential cryptanalysis.
- DESX is vulnerable to related-key attacks, and therefore it should only
be used with keys that are generated by a strong PRNG, or by a source of
bits that are sufficiently uncorrelated (such as the output of a hash
function).
- Designers:
- Henri Gilbert,
Marc Girault,
Philippe Hoogvorst,
Fabrice Noilhan,
Thomas Pornin,
Guillaume Poupard,
Jacques Stern,
Serge Vaudenay
- Published:
- May 1998
- References:
- [Def, An] Henri Gilbert, Marc Girault, Philippe Hoogvorst, Fabrice Noilhan,
Thomas Pornin, Guillaume Poupard, Jacques Stern, Serge Vaudenay,
Decorrelated Fast Cipher: an AES Candidate,
http://csrc.nist.gov/encryption/aes/round1/AESAlgs/DFC/report.pdf
- [Inf] Olivier Baudron, Henri Gilbert, Louis Granboulan,
Helena Handschuh, Robert Harley, Antoine Joux, Phong Nguyen, Fabrice Noilhan,
David Pointcheval, Thomas Pornin, Guillaume Poupard, Jacques Stern,
Serge Vaudenay,
"DFC Update,"
Submitted to the 2nd AES Conference.
http://csrc.nist.gov/encryption/aes/round1/conf2/papers/baudron2.pdf
- [Inf] The Decorrelated Fast Cipher Home Page,
http://www.dmi.ens.fr/~vaudenay/dfc.html.
- [Inf] Serge Vaudenay,
"The Decorrelation Technique,"
http://www.dmi.ens.fr/~vaudenay/decorrelation.html
- [An] Lars Knudsen, Vincent Rijmen,
"On the decorrelated fast cipher (DFC) and its theory,"
Presented at Fast Software Encryption '99, Rome.
- [Patent] Serge Vaudenay,
Procédé de décorrélation des données,
French patent application num. 96 13411. Requested on 04/11/1996.
(Extension to other countries in process.)
- [Test] NIST,
DFC Test Values,
http://www-08.nist.gov/encryption/aes/round1/testvals/dfc-vals.zip
- Key length:
- Minimum 0, maximum 256 bits, multiple of 8 bits; default 128 bits.
- Block size:
- 16 bytes.
- Comments:
- The additional parameters described in the "DFC Update" paper (the
block size m bits, number of rounds r, and adjustment
to key scheduling s) may be added in future.
If so, the proposed name for the generalised version is
"DFC-m[(r[,s])]" (on the basis that each value of m will normally
require a different implementation, whereas changes to r and
s can easily be handled by a single implementation; also note
that the variable key length does not need to be expressed as a
parameter). For DFC-128, r would default to 8, and s
to 4.
The key schedule change suggested in "DFC Update" is not specified
precisely enough to define a new algorithm name for it, yet.
- Patent status:
- DFC itself is unpatented, but the decorrelation technique it uses may
be covered by the patent application referenced above.
| Diamond2(rounds) | Block Cipher
|
- Designer:
- Michael Paul Johnson
- Published:
- 1995
- References:
- [Def] Michael Paul Johnson,
"The Diamond2 Block Cipher,"
diamond2.{ps,doc} in
ftp://ftp.replay.com/pub/replay/mirror/ftp.cryptography.org/libraries/dlock2.zip
- [Inf] Michael Paul Johnson,
"Beyond DES: Data Compression and the MPJ Encryption Algorithm,"
Master's Thesis at the University of Colorado at Colorado Springs, 1989.
thesis.txt in
ftp://ftp.replay.com/pub/replay/mirror/ftp.cryptography.org/libraries/dlock2.zip
(Note: this describes an earlier version of Diamond, not Diamond2.)
- [Impl, Test] Michael Paul Johnson,
Diamond2 reference implementation (in C++),
ftp://ftp.replay.com/pub/replay/mirror/ftp.cryptography.org/libraries/dlock2.zip
- Parameters:
-
Integer rounds [creation/read, no default] - the number
of rounds to be performed (minimum 10)
- Key length:
- Minimum 8, maximum 65536, multiple of 8 bits; default 128 bits.
- Block size:
- 16 bytes.
- Comments:
- The paper "The Diamond2 Block Cipher" does not appear to specify a recommended
number of rounds, only a minimum number of rounds. For that reason, the rounds
parameter has been made mandatory.
- The "Diamond2 Lite" variant does not have a standard name.
- Designers:
- Kazumaro Aoki, Masayuki Kanda, Tsutomu Matsumoto, Shiho Moriai,
Kazuo Ohta, Miyako Ookubo, Youichi Takashima, Hiroki Ueda
- Published:
- June 1998
- References:
- [Def, An] Specification of E2 - a 128-bit Block Cipher,
http://info.isl.ntt.co.jp/e2/E2spec.pdf
- [Inf] The E2 Home Page,
http://info.isl.ntt.co.jp/e2/
- [Inf] Supporting Document on E2,
(corrected version,
April 16 1999)
http://info.isl.ntt.co.jp/e2/E2support.pdf
- [Inf] Kazumaro Aoki, Hiroki Ueda,
"Optimized Software Implementations of E2,"
Submitted to the 2nd AES Conference.
http://csrc.nist.gov/encryption/aes/round1/conf2/papers/aoki.pdf
- [Inf] Kazumaro Aoki, Hiroki Ueda,
"Optimized Software Implementations of E2,"
Revised April 15, 1999.
http://info.isl.ntt.co.jp/e2/RelDocs/implE2.pdf
- [Def, An] M. Kanda, Y. Takashima, T. Matsumoto, K. Aoki, K. Ohta,
"A Strategy for Constructing Fast Round Functions with Practical
Security against Differential and Linear Cryptanalysis,"
Presented at the 5th annual workshop on Selected Areas in
Cryptography (SAC '98) in August, 1998.
- [An] Makoto Sugita, Kazukuni Kobara, Hideki Imai,
"Pseudorandomness and Maximum Average of Differential Probability of
Block Ciphers with SPN-Structures like E2,"
Submitted to the 2nd AES Conference.
http://csrc.nist.gov/encryption/aes/round1/conf2/papers/sugita.pdf
- [An] Yuji Hori, Toshinobu Kaneko,
"A study of E2 by higher order differential attack,"
Technical report of IEICE. ISEC98-39, Science University of Tokyo
(in Japanese - brief English summary
here).
- [An] Mitsuru Matsui, Toshio Tokita,
"On cryptanalysis of a byte-oriented cipher,"
The 1999 Symposium on Cryptography and Information Security, SCIS99-W2-1.5
(in Japanese - brief English summary
here).
- [An] Mitsuru Matsui, Toshio Tokita,
"Cryptanalysis of a Reduced Version of the Block Cipher E2,"
Fast Software Encryption '99 (March 1999), pp. 70-79
(abstract here).
- [An] NTT Laboratories,
"Security of E2 aginst Truncated Differential Cryptanalysis (in progress),"
April 15 1999.
http://info.isl.ntt.co.jp/e2/RelDocs/E2trunc.pdf
- [Patent] NTT (assignee),
"Data Randomize Device and Symmetric Cipher Devices (translated),"
Japanese Patent Application JP 173672/1997.
- [Patent] NTT (assignee),
[[need patent titles]]
Japanese Patent Application JP 013572/1998.
Japanese Patent Application JP 013573/1998.
Japanese Patent Application JP 153066/1998.
Japanese Patent Application JP 147479/1998.
(Corresponding applications will be filed in other countries.)
- [Test] NIST,
E2 Test Values,
http://www-08.nist.gov/encryption/aes/round1/testvals/e2-vals.zip
- Key length:
- 128, 192 or 256 bits; default 128 bits.
- Block size:
- 16 bytes.
- Patent status:
- NTT has several patents pending on E2 (see references).
| ? FROG[(blockSize[,rounds])] | Block Cipher
|
- Designers:
- Dianelos Georgoudis, Damian Leroux, Billy Simón Chaves
(TecApro International S.A.)
- References:
- [Def, An] Dianelos Georgoudis, Damian Leroux, Billy Simón Chaves,
The "FROG" Encryption Algorithm,
http://www.tecapro.com/aesfrog2.htm
(PDF
version).
- [An] F. Koeune, G.F. Piret, J.J. Quisquater,
Our first few comments about FROG,
August 1998.
http://www.dice.ucl.ac.be/crypto/CAESAR/frog.html
- [An] David Wagner, Niels Ferguson, Bruce Schneier,
Cryptanalysis of FROG,
Corrected version, March 16, 1999. Submitted to the 2nd AES Conference.
http://www.cs.berkeley.edu/~daw/papers/frog-final.ps
(slides:
http://www.cs.berkeley.edu/~daw/papers/frog-slides.ps)
[Also see: http://www.counterpane.com/frog.html - is this the earlier version?]
- [Test] NIST,
FROG Test Values,
http://www-08.nist.gov/encryption/aes/round1/testvals/frog-vals.zip
- Parameters:
-
Integer blockSize [creation/read, default 16] - the
length of a block in bytes (8 to 128)
-
Integer rounds [creation/read, default 8] - the number
of rounds to be performed (minimum 8)
- Key length:
- Minimum 40, maximum 1000, multiple of 8 bits; default 128 bits.
- Block size:
- As given by the
blockSize parameter (in bytes).
- Missing information:
- Test vectors for block sizes other than 16 bytes.
- Comment:
- The original C reference code uses an unconventional byte order when printing
test vectors (the order of bytes is reversed across the whole block). The
correct byte order is that defined by the Java reference
implementation, and by the NIST test vectors referenced above.
- Security comment:
- The paper "Cryptanalysis of FROG" describes the following attacks
on weak keys:
- A differential attack requiring 258 chosen plaintexts
and very little time for the analysis; it works for about 2-33.0
of the keyspace.
- A linear attack that uses 256 known texts and works for
2-31.8 of the keyspace.
- A ciphertext-only linear attack using 264 ciphertexts (also
for 2-31.8 of the keyspace).
- A differential attack on the decryption function that requires 236
chosen ciphertexts and works for 2-29.3 of the keyspace.
- Alias:
- "GOST-28147-89"
- Published:
- 1989
- References:
- [Def] GOST, Gosudarstvennyi Standard 28147-89,
"Cryptographic Protection for Data Processing Systems,"
Government Committee of the USSR for Standards, 1989 (in Russian).
- [Def, Inf] Bruce Schneier,
"Section 14.1 GOST,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [Inf] J. Pieprzyk, L. Tombak,
"Soviet Encryption Algorithm,"
Preprint 94-10, Department of Computer Science, The University of Wollongong, 1994.
ftp://ftp.cs.uow.edu.au/pub/papers/1994/tr-94-10.ps.Z
- [An] Markku-Juhani Saarinen,
A chosen key attack against the secret S-boxes of GOST,
http://www.jyu.fi/~mjos/gost_cka.ps
- [An] C. Charnes, L. O'Connor, J. Pieprzyk, R. Savafi-Naini, Y. Zheng,
"Comments on Soviet encryption algorithm,"
Advances in Cryptology - EUROCRYPT '94 Proceedings,
Volume 950 of Lecture Notes in Computer Science (A. De Santis, ed.),
pp. 433-438. Springer Verlag, 1995.
- [An] C. Charnes, L. O'Connor, J. Pieprzyk, R. Safavi-Naini, Y. Zheng,
"Further comments on GOST encryption algorithm,"
Preprint 94-9, Department of Computer Science, The University of Wollongong, 1994.
ftp://ftp.cs.uow.edu.au/pub/papers/1994/tr-94-9.ps.Z
- [An] John Kelsey, Bruce Schneier, David Wagner,
"Key-schedule cryptanalysis of IDEA, G-DES, GOST, SAFER, and triple-DES,"
Advances in Cryptology - Crypto '96 Proceedings.
Springer-Verlag, August 1996.
http://www.cs.berkeley.edu/~daw/papers/keysched-crypto96.ps
- Parameters:
-
byte[][] sboxes [write only, default as given in Applied
Cryptography] - the S-boxes to be used by this cipher instance.
sboxes[i-1][j] represents the output of S-box i,
for an input value j.
The implementation may or may not copy the contents of arrays used
to set this parameter. If any such arrays are subsequently changed, the
output of the cipher is undefined (it is therefore the responsibility
of the caller to make sure that references to these arrays are not
accessible to untrusted code). Setting this parameter will reset the
current key and feedback vector, if applicable.
- Key length:
- 256 bits.
- Block size:
- 8 bytes.
- Missing information:
- Test vectors.
- Security comment:
- The paper "A chosen key attack against the secret S-boxes of GOST"
cited above describes how to recover the S-boxes in about 232
encryptions. The main significance of this is on tamperproof hardware
implementations where the S-boxes were assumed to be secret; for a software
implementation, they should be assumed to be public in any case.
| HPC(blockSize[,backup]) | Block Cipher
|
- Designer:
- Rich Schroeppel
- Alias:
- "HastyPudding"
- References:
- [Def] Rich Schroeppel, Hilarie Orman,
Specification for the Hasty Pudding Cipher,
http://www.cs.arizona.edu/~rcs/hpc/hpc-spec
- [Inf, Test] Rich Schroeppel,
The Hasty Pudding Cipher page,
http://www.cs.arizona.edu/~rcs/hpc/
- [An] David Wagner,
Equivalent keys for HPC,
Rump session talk at the 2nd AES Conference.
Slides at:
http://www.cs.berkeley.edu/~daw/papers/hpc-aes99-slides.ps
- [An] Carl D'Halluin, Gert Bijnens, Bart Preneel, Vincent Rijmen,
Equivalent keys of HPC,
Katholieke Universiteit Leuven, ESAT-COSIC.
http://www.esat.kuleuven.ac.be/~rijmen/pub99.html
- [Inf] Rich Schroeppel,
"Tweaking the Hasty Pudding Cipher,"
http://www.cs.arizona.edu/~rcs/hpc/tweak
- [Inf] Rich Schroeppel,
"The Hasty Pudding Cipher: One Year Later,"
June 12, 1999.
http://www.cs.arizona.edu/~rcs/hpc/hpc-oneyearlater
- [Test] NIST,
HPC Test Values,
http://www-08.nist.gov/encryption/aes/round1/testvals/hpc-vals.zip
- Parameters:
-
Integer blockSize [creation/read, default 16] - the
length of a block in bytes (minimum 1)
-
Integer backup [creation/read, default 0] - a parameter
that can be increased to make the cipher more conservative, at
the cost of speed (minimum 0)
-
long[] spice [write, default all-zeroes] - an array
of 8 64-bit words containing a diversifier.
The implementation may or may not copy the contents of arrays used
to set this parameter. If any such array is subsequently changed, the
output of the cipher is undefined, unless the parameter is set again
immediately (it is therefore the responsibility of the caller to make
sure that a reference to this array is not accessible to untrusted code).
Setting this parameter will not reset the
current key and feedback vector.
- Key length:
- Minimum 0, maximum 65536 bits; default 128 bits.
- Block size:
- As given by the
blockSize parameter (in bytes). Note that
while HPC supports block sizes that are not a multiple of 8 bits, the
JCE API does not.
- Comment:
- The convention for encoding keys that are not a multiple of 8 bits
in length, is for the last (
effectiveBitLength % 8) bits of
the key to be packed in the high-order bits of the last byte of the
encoding. Any unused low-order bits of the last byte are ignored. For
example, the key given by the 11-bit sequence
<01010101 010>2, would be encoded as the byte array
{ 0x55, 0x40 | junk }, where
junk & 0xE0 == 0.
The value of the key's effectiveBitLength parameter is used
to determine how many bits of the encoding are significant.
- Security comments:
- The paper "Equivalent keys of HPC" by D'Halluin et al, describes an
attack which, for 128-bit keys, has an expected work factor of
289, and works for 1/256 of the keyspace. The analysis is
extended to HPC with a 192-bit key and a 256-bit key, with similar
results. For some other key lengths (including 56 bits), all keys are
shown to be weak. The "tweak" described in "Tweaking the Hasty Pudding
Cipher," is intended to correct this problem; the corrected version
does not yet have a SCAN name.
- Also note that with the default all-zeroes spice value, much of the work
being done by the cipher has no cryptographic effect.
- Designer:
- Matthew Kwan
- References:
- [Def, Test] Matthew Kwan,
"The Design of the ICE Encryption Algorithm,"
Proceedings of Fast Software Encryption - Fourth International Workshop,
Haifa, Israel, pp. 69-82.
Springer-Verlag, 1997.
http://www.darkside.com.au/ice/paper.html
- [Inf, Impl] The ICE Home Page,
http://www.darkside.com.au/ice/
- [An] Matthew Kwan,
Cryptanalysis of ICE,
http://www.darkside.com.au/ice/cryptanalysis.html
- [An] B. Van Rompay, Lars Knudsen, Vincent Rijmen,
"Differential cryptanalysis of the ICE encryption algorithm,"
Fast Software Encryption,
Volume 1372 of Lecture Notes in Computer Science (S. Vaudenay, ed.), pp. 270-283.
Springer-Verlag, 1998.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/vrompay/fse98.ps.gz
- Key length:
- Minimum 64, multiple of 64 bits; default 128 bits.
- Block size:
- 8 bytes.
- Comment:
- The length of the key defines the "level" parameter (note that the "Thin ICE" variant
is not included).
- Security comment:
- The paper "Differential cryptanalysis of the ICE encryption algorithm"
describes several differential attacks, including an attack against a variant reduced
to 15 rounds, with 256 work and at most 256 chosen plaintexts.
(The full algorithm has n/4 rounds when the key length is n bits.)
The paper concludes:
[...] The main conclusion of this paper is that keyed permutation does not prevent
differential cryptanalysis. Although the analysis is more complicated and becomes
key dependent, in our opinion the intention of the design has not been reached.
The best 3-round iterative characteristic that can be used in our attack has a
probability of 2-13, which is higher than the probability of
2-16 of the best 3-round characteristic for LOKI91
(a similar block cipher that makes use of four identical 12 to 8-bit S-boxes).
These attacks are probably not practical when the number of rounds is 32 or higher
(i.e. the key is 128 bits or longer). However, in that case ICE is slower than DES.
- Designers:
- Xuejia Lai, James Massey
- Aliases:
- "OpenPGP.Cipher.1"
- "1.3.6.1.4.1.188.7.1.1.1" is an alias to "IDEA/ECB"
- "1.3.6.1.4.1.188.7.1.1.2" is an alias to "IDEA/CBC"
- "1.3.6.1.4.1.188.7.1.1.3" is an alias to "IDEA/CFB"
- "1.3.6.1.4.1.188.7.1.1.4" is an alias to "IDEA/OFB"
(source for OIDs)
- References:
- [Def, An] X. Lai,
"On the design and security of block ciphers",
ETH Series in Information Processing (J.L. Massey, ed.), Vol. 1,
Hartung-Gorre Verlag, Konstanz Technische Hochschule (Zurich), 1992.
- [Inf, An] X. Lai, J.L. Massey, S. Murphy,
"Markov Ciphers and Differential Cryptanalysis,"
Advances in Cryptology - EUROCRYPT '91,
Volume 547 of Lecture Notes in Computer Science (D.W. Davies, ed.), pp. 17-38.
Springer-Verlag, 1991.
- [Inf] The IDEA Algorithm page,
http://www.ascom.ch/infosec/idea.html.
- [Inf] Bruce Schneier,
"Section 13.9 IDEA,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
[[note: there is an error in the description; diagram is correct.]]
- [Inf] A. Menezes, P.C. van Oorschot, S.A. Vanstone,
"Section 7.6 IDEA,"
Handbook of Applied Cryptography,
CRC Press, 1997.
- [An] Joan Daemen, René Govaerts, Joos Vandewalle,
"Weak Keys of IDEA,"
Advances in Cryptology - CRYPTO '93 Proceedings,
Volume 773 of Lecture Notes in Computer Science (D. Stinson, ed.), pp. 224-231.
Springer-Verlag, 1994.
http://www.esat.kuleuven.ac.be/~rijmen/downloadable/daemen/ideaw.ps.gz
(or here)
- [An] Joan Daemen, René Govaerts, Joos Vandewalle,
"Cryptanalysis of 2.5 Rounds of IDEA,"
ESAT-COSIC Technical Report 93/1, 1993.
http://www.esat.kuleuven.ac.be/~cosicart/ps/JD-9306.ps.gz
- [An] J. Borst, L. Knudsen, V. Rijmen,
"Two attacks on reduced IDEA,"
Advances in Cryptology - EUROCRYPT '97 Proceedings,
Volume 1233 of Lecture Notes in Computer Science (W. Fumy, ed.), pp. 1-13.
Springer-Verlag, 1997.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/rijmen/idea.ps.gz
- [An] L. Knudsen, V. Rijmen,
"Truncated Differentials of IDEA,"
ESAT-COSIC Technical Report 97-1.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/knudsen/idea_trunc.ps.Z
- [An] J. Kelsey, B. Schneier, D. Wagner,
"Key-Schedule Cryptanalysis of 3-WAY, IDEA, G-DES, RC4, SAFER, and Triple-DES",
Advances in Cryptology - Crypto '96 Proceedings, pp. 237-251.
Springer-Verlag, August 1996.
http://www.counterpane.com/key_schedule.html
- [An] J. Kelsey, B. Schneier, D. Wagner, C. Hall,
"Side Channel Cryptanalysis of Product Ciphers",
ESORICS '98 Proceedings pp. 97-110,
Springer-Verlag, September 1998.
http://www.counterpane.com/side_channel.html
- [An] E.G. Giessmann, G. Lassmann,
"A Side Channel Cryptanalysis of the IDEA Cipher",
Submitted to CRYPTO '99.
- [Inf, An] Ascom Systec, Ltd.
"Side Channel Attack Hardening of the IDEATM Cipher,"
Ascom Systec White Paper (corrected version, May 1999).
http://www.ascom.ch/infosec/downloads/sidechannel.pdf
- [Impl, Test] Ascom Systec, Ltd.
IDEA C Source Code and Test Data (corrected version, May 1999).
http://www.ascom.ch/infosec/downloads.html
- Key length:
- 128 bits.
- Block size:
- 8 bytes.
- Comment:
- A version of the IDEA C reference code available in April and early May 1999 contained
a bug in the code for multiplication mod 216+1, which occurs when multiplying
two zero words; this bug is not caught by the standard test vectors. An additional
test vector that does catch the bug (and incidentally demonstrates a weakness of IDEA's
key schedule, but that's beside the point) is:
key = <00000000000000000000000000000000>
plaintext = <0000000000000000>
ciphertext = <0001000100000000>
- Security comment:
- IDEA is vulnerable to key schedule attacks, and therefore it should only
be used with keys that are generated by a strong PRNG, or by a source of
bits that are sufficiently uncorrelated (such as the output of a hash
function).
- Patent status:
- IDEA is
patented in the U.S and 9 European countries by
Ascom Systec Ltd., with a patent pending in
Japan. The licensing policy is described
here.
- Designer:
- Robert J. Jenkins Jr.
- References:
- [Def, An] Robert J. Jenkins Jr.,
ISAAC and RC4,
http://ourworld.compuserve.com/homepages/bob_jenkins/isaac.htm
- [Inf] Robert J. Jenkins Jr.,
"ISAAC,"
Fast Software Encryption, Third International Workshop,
Volume 1039 of Lecture Notes in Computer Science (D. Gollman, ed.),
pp. 41-49. Springer-Verlag, 1996.
- Key length:
- ?
- Missing information:
- ISAAC does not appear to have a standard key schedule; this would need
to be specified for it to be usable as a SCAN algorithm. Test vectors would
also be needed.
- Designer:
- Robert J. Jenkins Jr.
- References:
- Key length:
- ?
- Missing information:
- ISAAC-64 does not appear to have a standard key schedule; this would need
to be specified for it to be usable as a SCAN algorithm. Test vectors would
also be needed.
- Designer:
- Hervé Chabanne,
Emmanuel Michon
- Published:
- 1998
- Description:
- This algorithm refers to JEROBOAM version 2.0.
- Alias:
- "JEROBOAM-2.0"
- References:
- [Def, An] Hervé Chabanne, Emmanuel Michon,
"JEROBOAM",
Fast Software Encryption '98,
Volume 1372 of Lecture Notes in Computer Science (S. Vaudenay, ed.), pp. 49-59.
Springer-Verlag, 1998.
- [Def, An] Emmanuel Michon,
Rapport de stage d'option scientifique: étude cryptologique du
chiffreur JEROBOAM,
LATEX Document 2ε, 74 ko,
Ecole Polytechnique, June 1997.
- Key length:
- 128 or 248 bits
- Designers:
- Laurence Brown,
Matthew Kwan,
Josef Pieprzyk,
Jennifer Seberry
- Published:
- 1991-92
- References:
- [Def, An] Laurence Brown, Matthew Kwan, Josef Pieprzyk, Jennifer Seberry,
"Improving Resistance to Differential Cryptanalysis and the
Redesign of LOKI,"
Advances in Cryptology - ASIACRYPT '91 Proceedings,
Springer-Verlag, 1993, pp. 36-50.
- [Inf] Bruce Schneier,
"Section 13.6 LOKI,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [An] Eli Biham,
"New Types of Cryptanalytic Attacks Using Related Keys,"
CS 753, Computer Science Department, Technion -- Israel
Institute of Technology, September 1992.
http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-get.cgi/1992/CS/CS0753.ps
- [An] Lars Knudsen,
"Cryptanalysis of LOKI91,"
Volume 718 of Lecture Notes in Computer Science, pp. 196-208.
Springer-Verlag, 1992.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/knudsen/loki91.ps.Z
- [An] Lars Knudsen,
"Block ciphers - analysis, design and applications,"
PhD. Thesis, DAIMI PB 485, Aarhus University, 1994.
- [An] Toshio Tokita, Tohru Sorimachi, Mitsuru Matsui,
"Linear cryptanalysis of LOKI and S2DES,"
Volume 917 of Lecture Notes in Computer Science, pp. 293-306.
Springer-Verlag, 1994.
- [An] Lars Knudsen, M.J.B. Robshaw,
"Non-linear Approximations in Linear Cryptanalysis,"
Volume 1070 of Lecture Notes in Computer Science, pp. 224-236.
Springer-Verlag, 1996.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/knudsen/nonlinear.ps.Z
- [An] Kouichi Sakurai, Souichi Furuya,
"Improving Linear Cryptanalysis of LOKI91 by Probabalistic Counting Method,"
Volume ??? of Lecture Notes in Computer Science.
Springer-Verlag, 1997.
- [An] Lars Knudsen,
"New potentially weak keys for DES and LOKI,"
Advances in Cryptology - EUROCRYPT '94 Proceedings,
Volume 950 of Lecture Notes in Computer Science (A. De Santis, ed.), pp. 419-424.
Springer Verlag, 1995.
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/knudsen/potential.ps.Z
- Key length:
- 64 bits.
- Block size:
- 8 bytes.
- Security comments:
- LOKI91 is vulnerable to related-key attacks, with a work factor of about
260 operations, and therefore it should only be used with keys
that are generated by a strong PRNG, or by a source of bits that are
sufficiently uncorrelated (such as the output of a hash function).
- The attacks cited above based on Linear Cryptanalysis, are effective against
reduced-round variants of LOKI91 with up to 12 rounds (the full cipher has 16 rounds).
- The fixed 64-bit key length is too short to prevent brute-force attacks.
- Designers:
- Laurence Brown,
Josef Pieprzyk,
Jennifer Seberry
- Published:
- 1997
- References:
- [Def, An] Laurence Brown, Josef Pieprzyk,
Introducing the new LOKI97 Block Cipher,
http://www.adfa.oz.au/~lpb/research/loki97/loki97spec.ps
(PDF
version)
- [Inf, Impl] Laurence Brown,
The LOKI97 Block Cipher page,
http://www.adfa.oz.au/~lpb/research/loki97/
- [An] Vincent Rijmen, Lars Knudsen,
Weaknesses in LOKI97,
ftp://ftp.esat.kuleuven.ac.be/pub/COSIC/rijmen/loki97.pdf
- [Test] NIST,
LOKI97 Test Values,
http://www-08.nist.gov/encryption/aes/round1/testvals/loki97-vals.zip
- Key length:
- 128, 192 or 256 bits; default 128 bits.
- Block size:
- 16 bytes.
- Security comment:
- The paper "Weaknesses in LOKI97" describes an attack using
Differential Cryptanalysis, estimated as requiring at most 256
chosen plaintexts, and an attack using Linear Cryptanalysis, estimated
as requiring at most 256 known plaintexts.
- Description:
- "Modified alleged RC4". This uses the same algorithm as RC4, but with the first 256
bytes of keystream discarded after key scheduling.
- References:
- [Def] Bruce Schneier,
"Section 17.1 RC4,"
Applied Cryptography, Second Edition,
John Wiley & Sons, 1996.
- [Def] Anonymous,
Subject: RC4 Algorithm revealed,
Posting to Usenet newsgroups sci.crypt, alt.security, comp.security.misc,
and alt.privacy, September 14 1994.
(Message-ID: <sternCvKL4B.Hyy@netcom.com>)
Archived at
ftp://idea.sec.dsi.unimi.it/pub/security/crypt/code/rc4.revealed.gz
- [An] J. Kelsey, B. Schneier, D. Wagner,
"Key-Schedule Cryptanalysis of 3-WAY, IDEA, G-DES, RC4, SAFER, and Triple-DES",
Advances in Cryptology - Crypto '96 Proceedings, pp. 237-251.
Springer-Verlag, August 1996.
http://www.counterpane.com/key_schedule.html
- Key length:
- Minimum 8, maximum 2048, multiple of 8 bits; default 128 bits.
- Comment:
- For the purposes of SCAN, "MARK-4" will be based on the "RC4" cipher
described in in the "RC4 Algorithm revealed" article and in
Applied Cryptography, even in the unlikely event that
differences are found between that cipher, and RSA Data Security, Inc.'s
proprietary cipher of the same name.
The name "MARK-4" was apparently suggested by Brian Olson, in a posting
to sci.crypt.
- Designers:
- Carolynn Burwick, Don Coppersmith, Edward D'Avignon,
Rosario Gennaro,
Shai Halevi,
Charanjit Jutla, Stephen M. Matyas Jr.,
Luke O'Connor,
Mohammad Peyravian, David Safford, Nevenko Zunicof
- References:
- [Def, An] Carolynn Burwick, Don Coppersmith, Edward D'Avignon,
Rosario Gennaro, Shai Halevi, Charanjit Jutla, Stephen M. Matyas Jr.,
Luke O'Connor, Mohammad Peyravian, David Safford, Nevenko Zunicof,