libskarnet
skalibs
Software
skarnet.org
stdcrypto is a small collection of standard, public-domain cryptographic primitives. Currently, the following operations are provided:
Please bear in mind that rc4 and md5 are broken, and that sha1 is about to be. Do not use them in security-critical applications.
You should refer to the skalibs/stdcrypto.h header and included headers for the exact function prototypes.
RC4Schedule ctx ; unsigned char const *key ; size_t keylen ; unsigned char const *in ; unsigned char *out ; size_t len ; rc4_init(&ctx, key, keylen) ; rc4(&ctx, in, out, len) ;
MD5Schedule ctx ; char const *message ; size_t messagelen ; char digest[16] ; md5_init(&ctx) ; md5_update(&ctx, message, messagelen) ; md5_final(&ctx, digest) ;
SHA1Schedule ctx ; char const *message ; size_t messagelen ; unsigned char digest[20] ; sha1_init(&ctx) ; sha1_update(&ctx, message, messagelen) ; sha1_final(&ctx, digest) ;
SHA256Schedule ctx ; char const *message ; size_t messagelen ; char digest[32] ; sha256_init(&ctx) ; sha256_update(&ctx, message, messagelen) ; sha256_final(&ctx, digest) ;
SHA512Schedule ctx ; char const *message ; size_t messagelen ; char digest[64] ; sha512_init(&ctx) ; sha512_update(&ctx, message, messagelen) ; sha512_final(&ctx, digest) ;