Home > Software > Cipher Reference



Cryptography - 256 bit Ciphers

Reference source code and submissions
International cryptographic designs contests


 Cipher 

 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
International hashing designs contests


 Function 
 512bit digest 

 SHA2 Process 

 SHA3 Process 

 SHA2 

 √ 

 - 

 Grostl 

 - 

 √ 

 SHA3 / Keccak 

 - 

 √ 

 Skein 

 - 

 √ 



AES - 256bit key - 128bit block

Author: Vincent Rijmen, Joan Daemen (1998)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Anubis - 256bit key - 128bit block

Author: Vincent Rijmen, Paulo Barreto (2000)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Camellia - 256bit key - 128bit block

Author: Mitsubishi, NTT (2001)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Cast-256 - 256bit key - 128bit block

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


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Clefia - 256bit key - 128bit block

Author: Sony (2007)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



FROG - 256bit key - 128bit block

Author: Dianelos Georgoudis, Damian Leroux, Billy Chaves (1999)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Hierocrypt3 - 256bit key - 128bit block

Author: Toshiba (2000)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Idea-NXT - 256bit key - 128bit block

Author: Pascal Junod, Serge Vaudenay (2003)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



MARS - 256bit key - 128bit block

Author: IBM (1998)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



RC6 - 256bit key - 128bit block

Author: Ron Rivest, Matt Robshaw, Ray Sidney, Yiqun Yin (1998)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Safer+ - 256bit key - 128bit block

Author: James Massey (1998)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



SC2000 - 256bit key - 128bit block

Author: Fujitsu (2000)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Serpent - 256bit key - 128bit block

Author: Ross Anderson, Eli Biham, Lars Knudsen (1998)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Speed - 256bit key - 128bit block

Author: Yuliang Zheng (1997)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Twofish - 256bit key - 128bit block

Author: Bruce Schneier (1998)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Unicorn-A - 256bit key - 128bit block

Author: NEC (2000)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



SHA2 - 512bit digest

Author: NSA (2001)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Grostl - 512bit digest

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


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



SHA3 / Keccak - 512bit digest

Author: G. Bertoni, J. Daemen, M. Peeters, G. van Assche (2011)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)



Skein - 512bit digest

Author: Niels Ferguson, Bruce Schneier (2011)


>> libObfuscate ISO C open-source implementation
[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


Original Submission Source: zip.jpg Download (.ZIP)