Cryptography - 256 bit Ciphers


Reference source code and submissions to international cryptographic designs contests


 Cipher 
 256bit key - 128bit block 

 AES Process 
 (1997-2000) 

 NESSIE Process 
 (2000-2003) 

 CRYPTREC Process 
 (2000-2003) 

 AES 

 √ 

 √ 

 √ 

 Anubis 

 - 

 √ 

 - 

 Camellia 

 - 

 √ 

 √ 

 Cast-256 

 √ 

 √ 

 - 

 Clefia 

 - 

 - 

 √ 

 FROG 

 √ 

 - 

 - 

 Hierocrypt3 

 - 

 √ 

 √ 

 Idea-NXT 

 - 

 √ 

 - 

 MARS 

 √ 

 - 

 - 

 RC6 

 √ 

 √ 

 √ 

 Safer+ 

 √ 

 √ 

 - 

 SC2000 

 - 

 √ 

 √ 

 Serpent 

 √ 

 √ 

 - 

 Speed

 - 

 - 

 - 

 Twofish 

 √ 

 √ 

 - 

 Unicorn-A 

 - 

 - 

 √ 


Hashing - 512 bit functions


Reference source code and submissions to international hashing designs contests


 Function 
 512bit digest 

 SHA2 

 SHA3 Process 

 SHA2 

 √ 

 - 

 Grostl 

 - 

 √ 

 Keccak 

 - 

 √ 

 Skein 

 - 

 √ 


256bit key - 128bit block - AES


 [Rijndael.h] 

 #ifndef RIJNDAEL_H 
 #define RIJNDAEL_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern int Rijndael_set_key_encrypt(...); 
 extern int Rijndael_set_key_decrypt(...); 
 extern void Rijndael_encrypt(...); 
 extern void Rijndael_decrypt(...); 

 #endif 

 Author: Vincent Rijmen, Joan Daemen 
 Date: 1998 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Rijndael.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.efgh.com/software/rijndael.htm 
 Wikipedia: AES - AES implementation 


256bit key - 128bit block - Anubis


 [Anubis.h] 

 #ifndef ANUBIS_H 
 #define ANUBIS_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Anubis_set_key(...); 
 extern void Anubis_encrypt(...); 
 extern void Anubis_decrypt(...); 

 #endif 

 Author: Vincent Rijmen and Paulo S. L. M. Barreto 
 Date: 2000 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Anubis.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.larc.usp.br/~pbarreto/AnubisPage.html 
 Wikipedia: Anubis 


256bit key - 128bit block - Camellia


 [Camellia.h] 

 #ifndef CAMELLIA_H 
 #define CAMELLIA_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Camellia_set_key(...); 
 extern void Camellia_encrypt(...); 
 extern void Camellia_decrypt(...); 

 #endif 

 Author: Mitsubishi, NTT 
 Date: 2001 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Camellia.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://info.isl.ntt.co.jp/crypt/eng/camellia/technology.html 
 Wikipedia: Camellia 


256bit key - 128bit block - Cast-256


 [Cast256.h] 

 #ifndef CAST256_H 
 #define CAST256_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Cast256_set_key(...); 
 extern void Cast256_encrypt(...); 
 extern void Cast256_decrypt(...); 

 #endif 

 Author: Carlisle Adams, Stafford Tavares, Howard Heys, Michael Wiener 
 Date: 1999 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Cast256.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.schneier.com/book-applied-source.html 
 Wikipedia: Cast-256 


256bit key - 128bit block - Clefia


 [Clefia.h] 

 #ifndef CLEFIA_H 
 #define CLEFIA_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Clefia_set_key(...); 
 extern void Clefia_encrypt(...); 
 extern void Clefia_decrypt(...); 

 #endif 

 Author: Sony 
 Date: 2007 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Clefia.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.sony.net/Products/cryptography/clefia/index.html 
 Wikipedia: Clefia 


256bit key - 128bit block - FROG


 [Frog.h] 

 #ifndef FROG_H 
 #define FROG_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Frog_set_key(...); 
 extern void Frog_encrypt(...); 
 extern void Frog_decrypt(...); 

 #endif 

 Author: Dianelos Georgoudis, Damian Leroux, and Billy Simon Chaves 
 Date: 1999 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Frog.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.schneier.com/book-applied-source.html 
 Wikipedia: FROG 


256bit key - 128bit block - Hierocrypt3


 [Hierocrypt3.h] 

 #ifndef HIEROCRYPT3_H 
 #define HIEROCRYPT3_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Hierocrypt3_set_key(...); 
 extern void Hierocrypt3_encrypt(...); 
 extern void Hierocrypt3_decrypt(...); 

 #endif 

 Author: Toshiba 
 Date: 2000 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Hierocrypt3.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.darksoftware.narod.ru 
 Wikipedia: Hierocrypt3 


256bit key - 128bit block - Idea-NXT


 [Idea_nxt128.h] 

 #ifndef IDEANXT128_H 
 #define IDEANXT128_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Ideanxt128_set_key(...); 
 extern void Ideanxt128_encrypt(...); 
 extern void Ideanxt128_decrypt(...); 

 #endif 

 Author: Pascal Junod, Serge Vaudenay 
 Date: 2003 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Idea_nxt128.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.ouah.org/ogay/idea_nxt/ 
 Wikipedia: Idea-NXT 


256bit key - 128bit block - MARS


 [Mars.h] 

 #ifndef MARS_H 
 #define MARS_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Mars_set_key(...); 
 extern void Mars_encrypt(...); 
 extern void Mars_decrypt(...); 

 #endif 

 Author: IBM 
 Date: 1998 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Mars.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.schneier.com/book-applied-source.html 
 Wikipedia: MARS 


256bit key - 128bit block - RC6


 [Rc6.h] 

 #ifndef RC6_H 
 #define RC6_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Rc6_set_key(...); 
 extern void Rc6_encrypt(...); 
 extern void Rc6_decrypt(...); 

 #endif 

 Author: Ron Rivest, Matt Robshaw, Ray Sidney, Yiqun Lisa Yin 
 Date: 1998 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Rc6.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.schneier.com/book-applied-source.html 
 Wikipedia: RC6 


256bit key - 128bit block - Safer+


 [Saferp.h] 

 #ifndef SAFERP_H 
 #define SAFERP_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Saferp_set_key(...); 
 extern void Saferp_encrypt(...); 
 extern void Saferp_decrypt(...); 

 #endif 

 Author: James Massey 
 Date: 1998 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Saferp.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.schneier.com/book-applied-source.html 
 Wikipedia: Safer+ 


256bit key - 128bit block - SC2000


 [Sc2000.h] 

 #ifndef SC2000_H 
 #define SC2000_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Sc2000_set_key(...); 
 extern void Sc2000_encrypt(...); 
 extern void Sc2000_decrypt(...); 

 #endif 

 Author: Fujitsu 
 Date: 2000 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Sc2000.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.darksoftware.narod.ru 
 Wikipedia: SC2000 


256bit key - 128bit block - Serpent


 [Serpent.h] 

 #ifndef SERPENT_H 
 #define SERPENT_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Serpent_set_key(...); 
 extern void Serpent_encrypt(...); 
 extern void Serpent_decrypt(...); 

 #endif 

 Author: Ross Anderson, Eli Biham, Lars Knudsen 
 Date: 1998 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Serpent.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.schneier.com/book-applied-source.html 
 Wikipedia: Serpent 


256bit key - 128bit block - Speed


 [Speed.h] 

 #ifndef SPEED_H 
 #define SPEED_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Speed_set_key(...); 
 extern void Speed_encrypt(...); 
 extern void Speed_decrypt(...); 

 #endif 

 Author: Yuliang Zheng 
 Date: 1997 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Speed.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://labs.calyptix.com/speed.php 


256bit key - 128bit block - Twofish


 [Twofish.h] 

 #ifndef TWOFISH_H 
 #define TWOFISH_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Twofish_set_key(...); 
 extern void Twofish_encrypt(...); 
 extern void Twofish_decrypt(...); 

 #endif 

 Author: Bruce Schneier 
 Date: 1998 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Twofish.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.schneier.com/book-applied-source.html 
 Wikipedia: Twofish 


256bit key - 128bit block - Unicorn-A


 [Unicorn-A.h] 

 #ifndef UNICORNA_H 
 #define UNICORNA_H 

 // ** Thread-safe implementation 
 // ** 128bit block size 
 // ** 256bit key 

 extern void Unicorn_set_key(...); 
 extern void Unicorn_encrypt(...); 
 extern void Unicorn_decrypt(...); 

 #endif 

 Author: NEC 
 Date: 2000 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Unicorn-A.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.darksoftware.narod.ru 
 Wikipedia: Unicorn-A 


512bit digest - SHA2


 [Sha512.h] 

 #ifndef SHA512_H 
 #define SHA512_H 

 // ** Thread-safe implementation 
 // ** SHA2 hashing 
 // ** 512bit hash 

 extern void Sha512_init(...); 
 extern void Sha512_data(...); 
 extern void Sha512_finalize(...); 

 #endif 

 Author: NSA 
 Date: 2001 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Sha512.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.koders.com/ 
 Wikipedia: SHA2 


512bit digest - Grostl


 [Grostl512.h] 

 #ifndef GROSTL512_H 
 #define GROSTL512_H 

 // ** Thread-safe implementation 
 // ** Grostl hashing 
 // ** 512bit hash 

 extern void Grostl512_init(...); 
 extern void Grostl512_data(...); 
 extern void Grostl512_finalize(...); 

 #endif 

 Author: P. Gauravaram, L. Knudsen, K. Matusiewicz 
 Author: F. Mendel, C. Rechberger, M. Schlaeffer, S. Thomsen 
 Date: 2011 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Grostl512.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.groestl.info/ 
 Wikipedia: Grostl 


512bit digest - Keccak


 [Keccak512.h] 

 #ifndef KECCAK512_H 
 #define KECCAK512_H 

 // ** Thread-safe implementation 
 // ** Keccak hashing 
 // ** 512bit hash 

 extern void Keccak512_init(...); 
 extern void Keccak512_data(...); 
 extern void Keccak512_finalize(...); 

 #endif 

 Author: G. Bertoni, J. Daemen, M. Peeters, G. Van Assche 
 Date: 2011 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Keccak512.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://keccak.noekeon.org/ 
 Wikipedia: Keccak 


512bit digest - Skein


 [Skein512.h] 

 #ifndef SKEIN512_H 
 #define SKEIN512_H 

 // ** Thread-safe implementation 
 // ** Skein hashing 
 // ** 512bit hash 

 extern void Skein512_init(...); 
 extern void Skein512_data(...); 
 extern void Skein512_finalize(...); 

 #endif 

 Author: Niels Ferguson, Bruce Schneier 
 Date: 2011 

 Full Source: zip.jpg libObfuscateSrc/Derived_crypt_code/Skein512.* 

 Original Source: zip.jpg Download 

 Reference: lambda.jpg http://www.skein-hash.info/ 
 Wikipedia: Skein