mirror of
https://github.com/ipxe/ipxe
synced 2026-04-16 03:00:10 +03:00
[crypto] Add concept of authentication tag to cipher algorithms
Some ciphers (such as GCM) support the concept of a tag that can be used to authenticate the encrypted data. Add a cipher method for generating an authentication tag. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -783,10 +783,12 @@ struct cipher_algorithm aes_algorithm = {
|
||||
.name = "aes",
|
||||
.ctxsize = sizeof ( struct aes_context ),
|
||||
.blocksize = AES_BLOCKSIZE,
|
||||
.authsize = 0,
|
||||
.setkey = aes_setkey,
|
||||
.setiv = cipher_null_setiv,
|
||||
.encrypt = aes_encrypt,
|
||||
.decrypt = aes_decrypt,
|
||||
.auth = cipher_null_auth,
|
||||
};
|
||||
|
||||
/* AES in Electronic Codebook mode */
|
||||
|
||||
@@ -119,8 +119,10 @@ struct cipher_algorithm arc4_algorithm = {
|
||||
.name = "ARC4",
|
||||
.ctxsize = ARC4_CTX_SIZE,
|
||||
.blocksize = 1,
|
||||
.authsize = 0,
|
||||
.setkey = arc4_setkey,
|
||||
.setiv = cipher_null_setiv,
|
||||
.encrypt = arc4_xor,
|
||||
.decrypt = arc4_xor,
|
||||
.auth = cipher_null_auth,
|
||||
};
|
||||
|
||||
@@ -76,14 +76,20 @@ void cipher_null_decrypt ( void *ctx __unused, const void *src, void *dst,
|
||||
memcpy ( dst, src, len );
|
||||
}
|
||||
|
||||
void cipher_null_auth ( void *ctx __unused, void *auth __unused ) {
|
||||
/* Do nothing */
|
||||
}
|
||||
|
||||
struct cipher_algorithm cipher_null = {
|
||||
.name = "null",
|
||||
.ctxsize = 0,
|
||||
.blocksize = 1,
|
||||
.authsize = 0,
|
||||
.setkey = cipher_null_setkey,
|
||||
.setiv = cipher_null_setiv,
|
||||
.encrypt = cipher_null_encrypt,
|
||||
.decrypt = cipher_null_decrypt,
|
||||
.auth = cipher_null_auth,
|
||||
};
|
||||
|
||||
int pubkey_null_init ( void *ctx __unused, const void *key __unused,
|
||||
|
||||
Reference in New Issue
Block a user