AES(3)

NAME
setupAESstate, aesCBCencrypt, aesCBCdecrypt - advanced encryption standard (rijndael)

SYNOPSIS
#include <u.h>
#include <libc.h>
#include <mp.h>
#include <libsec.h>

void    setupAESstate(AESstate *s, uchar key[], int keybytes, uchar *ivec)

void    aesCBCencrypt(uchar*, int, AESstate*)

void    aesCBCdecrypt(uchar*, int, AESstate*)

DESCRIPTION

DES is being replaced by Rijndael, also known as AES, as the preferred block ciper. setupAESstate, aesCBCencrypt, and aesCBCdecrypt implement cipher block chaining encryption. Keybytes should be 16, 24, or 32. The initialization vector ivec of AESbsize bytes should random enough to be unlikely to be reused but does not need to be cryptographically strongly unpredictable.

SOURCE
/usr/local/plan9/src/libsec

SEE ALSO
mp(3), blowfish(3), des(3), dsa(3), elgamal(3), rc4(3), rsa(3), sechash(3), prime(3), rand(3)