aes 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. .TH AES 2
  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. .in +0.5i
  14. .ti -0.5i
  15. .B
  16. void setupAESstate(AESstate *s, uchar key[], int keybytes, uchar *ivec)
  17. .PP
  18. .B
  19. void aesCBCencrypt(uchar *p, int len, AESstate *s)
  20. .PP
  21. .B
  22. void aesCBCdecrypt(uchar *p, int len, AESstate *s)
  23. .SH DESCRIPTION
  24. DES is being replaced by Rijndael, also known as AES, as the preferred
  25. block cipher.
  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 /sys/src/libsec
  41. .SH SEE ALSO
  42. .I aescbc
  43. in
  44. .IR secstore (1),
  45. .IR mp (2),
  46. .IR blowfish (2),
  47. .IR des (2),
  48. .IR dsa (2),
  49. .IR elgamal (2),
  50. .IR rc4 (2),
  51. .IR rsa (2),
  52. .IR sechash (2),
  53. .IR prime (2),
  54. .IR rand (2)