close
The Wayback Machine - https://web.archive.org/web/20110926210349/http://embeddedsw.net:80/Cipher_Reference_Home.html

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: Image libObfuscateSrc/Derived_crypt_code/Rijndael.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Anubis.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Camellia.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Cast256.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Clefia.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Frog.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Hierocrypt3.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Idea_nxt128.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Mars.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Rc6.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Saferp.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Sc2000.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Serpent.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Speed.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Twofish.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Unicorn-A.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Sha512.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Grostl512.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Keccak512.* 


 Original Source: Image Download 
 Reference: Image 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: Image libObfuscateSrc/Derived_crypt_code/Skein512.* 


 Original Source: Image Download 
 Reference: Image http://www.skein-hash.info/ 
 Wikipedia: Skein