aboutsummaryrefslogtreecommitdiff
path: root/man/man3/aes.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/aes.3')
-rw-r--r--man/man3/aes.351
1 files changed, 51 insertions, 0 deletions
diff --git a/man/man3/aes.3 b/man/man3/aes.3
new file mode 100644
index 00000000..6b23c861
--- /dev/null
+++ b/man/man3/aes.3
@@ -0,0 +1,51 @@
+.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 /sys/src/libsec
+.SH SEE ALSO
+.IR mp (2),
+.IR blowfish (2),
+.IR des (2),
+.IR dsa (2),
+.IR elgamal (2),
+.IR rc4 (2),
+.IR rsa (2),
+.IR sechash (2),
+.IR prime (2),
+.IR rand (2)