document aes_xts_decrypt, aesCCMdecrypt Reference: /n/atom/patch/applied/manrefaes Date: Sun Oct 4 16:53:56 CES 2015 Signed-off-by: quanstro@quanstro.net --- /sys/man/2/aes Sun Oct 4 16:53:43 2015 +++ /sys/man/2/aes Sun Oct 4 16:53:45 2015 @@ -1,6 +1,6 @@ .TH AES 2 .SH NAME -aes_encrypt, aes_decrypt, setupAESstate, aesCBCencrypt, aesCBCdecrypt, aesCTRencrypt, aesCTRdecrypt, setupAESXCBCstate, aesXCBCmac - advanced encryption standard (rijndael) +aes_encrypt, aes_decrypt, aes_xts_encrypt, aes_xts_decrypt, setupAESstate, aesCBCencrypt, aesCBCdecrypt, aesCCMencrypt, aesCCMdecrypt, aesCTRencrypt, aesCTRdecrypt, setupAESXCBCstate, aesXCBCmac - advanced encryption standard (rijndael) .SH SYNOPSIS .B #include .br @@ -13,10 +13,20 @@ .in +0.5i .ti -0.5i .B -void aes_encrypt(ulong rk[], int Nr, uchar pt[16], uchar ct[16]); +void aes_encrypt(ulong rk[], int Nr, uchar pt[16], uchar ct[16]) .PP .B -void aes_decrypt(ulong rk[], int Nr, uchar ct[16], uchar pt[16]); +void aes_decrypt(ulong rk[], int Nr, uchar ct[16], uchar pt[16]) +.PP +.B +void aes_xts_encrypt(u32int tweak[], u32int ecb[], vlong sec, +.B + uchar *in, uchar *out, usize len) +.PP +.B +void aes_xts_decrypt(u32int tweak[], u32int ecb[], vlong sec, +.B + uchar *in, uchar *out, usize len) .PP .B void setupAESstate(AESstate *s, uchar key[], int keybytes, uchar *ivec) @@ -57,6 +67,10 @@ .I aesCTRdecrypt implement counter mode, per RFC 3686; they are identical operations. +.I AesCCMencrypt +and +.I aesCCMdecrypt +implement 128-bit counter with CBC mac mode for authenticated encryption. .I setupAESXCBCstate and .I aesXCBCmac @@ -71,6 +85,13 @@ bytes should be random enough to be unlikely to be reused but does not need to be cryptographically strongly unpredictable. +.PP +.I Aes_xts_encrypt +and +.I aes_xts_decrypt +is a variant implementing implements XTS (Xor-encrypt-xor with +cypertext stealing) mode, +commonly used for disk encryption. .SH SOURCE .B /sys/src/libsec .SH SEE ALSO