shithub: riscv

Download patch

ref: 5c1afc882cb8cf533048dde508bcf8117244f361
parent: 0e68b7551a4f2784a48368a7287fe04030516c41
author: cinap_lenrek <[email protected]>
date: Sun Oct 29 23:04:05 EDT 2017

aes(2): document aes_xts_encrypt() and aes_xts_decrypt() functions

--- a/sys/man/2/aes
+++ b/sys/man/2/aes
@@ -1,6 +1,16 @@
 .TH AES 2
 .SH NAME
-setupAESstate, aesCBCencrypt, aesCBCdecrypt, aesCFBencrypt, aesCFBdecrypt, aesOFBencrypt, setupAESXCBCstate, aesXCBCmac, setupAESGCMstate - advanced encryption standard (rijndael)
+setupAESstate, \
+aesCBCencrypt, \
+aesCBCdecrypt, \
+aesCFBencrypt, \
+aesCFBdecrypt, \
+aesOFBencrypt, \
+aes_xts_encrypt, aes_xts_decrypt, \
+setupAESXCBCstate, aesXCBCmac, \
+setupAESGCMstate, \
+aesgcm_setiv, aesgcm_encrypt, aesgcm_decrypt \
+- advanced encryption standard (rijndael)
 .SH SYNOPSIS
 .B #include <u.h>
 .br
@@ -37,6 +47,12 @@
 void	aesOFBencrypt(uchar *p, int len, AESstate *s)
 .PP
 .B
+void	aes_xts_encrypt(AESstate *tweak, AESstate *ecb, uvlong sectorNumber, uchar *input, uchar *output, ulong len)
+.PP
+.B
+void	aes_xts_decrypt(AESstate *tweak, AESstate *ecb, uvlong sectorNumber, uchar *input, uchar *output, ulong len)
+.PP
+.B
 void	setupAESXCBCstate(AESstate *s)
 .PP
 .B
@@ -72,6 +88,10 @@
 .I aesOFBencrypt
 implement cipher-feedback- and output-feedback-mode
 stream cipher encryption.
+.I Aes_xts_encrypt
+and
+.I aes_xts_decrypt
+implement the XTS-AES tweakable block cipher, per IEEE 1619-2017 (see bugs below).
 .IR SetupAESstate
 is used to initialize the state of the above encryption modes.
 .I SetupAESXCBCstate
@@ -137,3 +157,10 @@
 must be fed buffers of the same size as the
 .I aesCBCencrypt
 calls that encrypted it.
+.PP
+The functions
+.I aes_xts_encrypt
+an
+.I aes_xts_decrypt
+abort on a non-multiple-of-16 length as ciphertext stealing
+is not implemented.