Home> Software> Cipher Reference
Cryptography - 256 bit Ciphers
Reference source code and submissions to international cryptographic designs contests
Cipher
256bit key - 128bit block
Hashing - 512 bit functions
Reference source code and submissions to international hashing designs contests
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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