libskarnet
skalibs
Software
skarnet.org

The stdcrypto library interface

stdcrypto is a small collection of standard, public-domain cryptographic primitives. Currently, the following operations are provided:

Compiling

Programming

You should refer to the skalibs/stdcrypto.h header and included headers for the exact function prototypes.

RC4

  RC4Schedule ctx ;
  unsigned char const *key ;
  unsigned int keylen ;
  unsigned char const *in ;
  unsigned char *out ;
  unsigned int len ;

  rc4_init(&ctx, key, keylen) ;
  rc4(&ctx, in, out, len) ;

MD5

  MD5Schedule ctx ;
  char const *message ;
  unsigned int messagelen ;
  char digest[16] ;

  md5_init(&ctx) ;
  md5_update(&ctx, message, messagelen) ;
  md5_final(&ctx, digest) ;

SHA1

  SHA1Schedule ctx ;
  char const *message ;
  unsigned int messagelen ;
  unsigned char digest[20] ;

  sha1_init(&ctx) ;
  sha1_update(&ctx, message, messagelen) ;
  sha1_final(&ctx, digest) ;

SHA256

  SHA256Schedule ctx ;
  char const *message ;
  unsigned int messagelen ;
  char digest[32] ;

  sha256_init(&ctx) ;
  sha256_update(&ctx, message, messagelen) ;
  sha256_final(&ctx, digest) ;