plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

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)