.TH AES 3 | |
.SH NAME | |
setupAESstate, aesCBCencrypt, aesCBCdecrypt - advanced encryption standard (rijndael) | |
.SH SYNOPSIS | |
.B #include <u.h> | |
.br | |
.B #include <libc.h> | |
.br | |
.B #include <mp.h> | |
.br | |
.B #include <libsec.h> | |
.PP | |
.B | |
void setupAESstate(AESstate *s, uchar key[], int keybytes, uchar *ivec) | |
.PP | |
.B | |
void aesCBCencrypt(uchar*, int, AESstate*) | |
.PP | |
.B | |
void aesCBCdecrypt(uchar*, int, AESstate*) | |
.PP | |
.SH DESCRIPTION | |
.PP | |
DES is being replaced by Rijndael, also known as AES, as the preferred | |
block ciper. | |
.IR setupAESstate , | |
.IR aesCBCencrypt , | |
and | |
.I aesCBCdecrypt | |
implement cipher block chaining encryption. | |
.I Keybytes | |
should be 16, 24, or 32. | |
The initialization vector | |
.I ivec | |
of | |
.I AESbsize | |
bytes should random enough to be unlikely to be reused but does not need to be | |
cryptographically strongly unpredictable. | |
.SH SOURCE | |
.B \*9/src/libsec | |
.SH SEE ALSO | |
.IR mp (3), | |
.IR blowfish (3), | |
.IR des (3), | |
.IR dsa (3), | |
.IR elgamal (3), | |
.IR rc4 (3), | |
.IR rsa (3), | |
.IR sechash (3), | |
.IR prime (3), | |
.IR rand (3) |