aes.3 (1005B)
1 .TH AES 3 2 .SH NAME 3 setupAESstate, aesCBCencrypt, aesCBCdecrypt - advanced encryption standard (rijndael) 4 .SH SYNOPSIS 5 .B #include <u.h> 6 .br 7 .B #include <libc.h> 8 .br 9 .B #include <mp.h> 10 .br 11 .B #include <libsec.h> 12 .PP 13 .B 14 void setupAESstate(AESstate *s, uchar key[], int keybytes, uchar *ivec) 15 .PP 16 .B 17 void aesCBCencrypt(uchar*, int, AESstate*) 18 .PP 19 .B 20 void aesCBCdecrypt(uchar*, int, AESstate*) 21 .PP 22 .SH DESCRIPTION 23 .PP 24 DES is being replaced by Rijndael, also known as AES, as the preferred 25 block ciper. 26 .IR setupAESstate , 27 .IR aesCBCencrypt , 28 and 29 .I aesCBCdecrypt 30 implement cipher block chaining encryption. 31 .I Keybytes 32 should be 16, 24, or 32. 33 The initialization vector 34 .I ivec 35 of 36 .I AESbsize 37 bytes should random enough to be unlikely to be reused but does not need to be 38 cryptographically strongly unpredictable. 39 .SH SOURCE 40 .B \*9/src/libsec 41 .SH SEE ALSO 42 .MR mp (3) , 43 .MR blowfish (3) , 44 .MR des (3) , 45 .MR dsa (3) , 46 .MR elgamal (3) , 47 .MR rc4 (3) , 48 .MR rsa (3) , 49 .MR sechash (3) , 50 .MR prime (3) , 51 .MR rand (3)