Decrement hmac_sha*_vector() maximum num_elem value to 11
This replaces the earlier commit 4c079dcc64
("Increment
hmac_sha*_vector() maximum num_elem value to 25") with a smaller
increment of just one extra element since the updated FTE MIC
calculation design does not use separate elements. This reduces stack
memory need. In addition, this starts using a define value for the
maximum number of vector elements to make this easier to change and to
make the code more readable.
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
parent
7381c60db8
commit
ac9bf1cc2a
4 changed files with 11 additions and 9 deletions
|
@ -21,6 +21,8 @@
|
||||||
#ifndef CRYPTO_H
|
#ifndef CRYPTO_H
|
||||||
#define CRYPTO_H
|
#define CRYPTO_H
|
||||||
|
|
||||||
|
#define HMAC_VECTOR_MAX_ELEM 11
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* md4_vector - MD4 hash for data vector
|
* md4_vector - MD4 hash for data vector
|
||||||
* @num_elem: Number of elements in the data vector
|
* @num_elem: Number of elements in the data vector
|
||||||
|
|
|
@ -28,11 +28,11 @@ int hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem,
|
||||||
{
|
{
|
||||||
unsigned char k_pad[64]; /* padding - key XORd with ipad/opad */
|
unsigned char k_pad[64]; /* padding - key XORd with ipad/opad */
|
||||||
unsigned char tk[32];
|
unsigned char tk[32];
|
||||||
const u8 *_addr[26];
|
const u8 *_addr[HMAC_VECTOR_MAX_ELEM + 1];
|
||||||
size_t _len[26], i;
|
size_t _len[HMAC_VECTOR_MAX_ELEM + 1], i;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (num_elem > 25) {
|
if (num_elem > HMAC_VECTOR_MAX_ELEM) {
|
||||||
/*
|
/*
|
||||||
* Fixed limit on the number of fragments to avoid having to
|
* Fixed limit on the number of fragments to avoid having to
|
||||||
* allocate memory (which could fail).
|
* allocate memory (which could fail).
|
||||||
|
|
|
@ -28,10 +28,10 @@ int hmac_sha384_vector(const u8 *key, size_t key_len, size_t num_elem,
|
||||||
{
|
{
|
||||||
unsigned char k_pad[128]; /* padding - key XORd with ipad/opad */
|
unsigned char k_pad[128]; /* padding - key XORd with ipad/opad */
|
||||||
unsigned char tk[48];
|
unsigned char tk[48];
|
||||||
const u8 *_addr[26];
|
const u8 *_addr[HMAC_VECTOR_MAX_ELEM + 1];
|
||||||
size_t _len[26], i;
|
size_t _len[HMAC_VECTOR_MAX_ELEM + 1], i;
|
||||||
|
|
||||||
if (num_elem > 25) {
|
if (num_elem > HMAC_VECTOR_MAX_ELEM) {
|
||||||
/*
|
/*
|
||||||
* Fixed limit on the number of fragments to avoid having to
|
* Fixed limit on the number of fragments to avoid having to
|
||||||
* allocate memory (which could fail).
|
* allocate memory (which could fail).
|
||||||
|
|
|
@ -28,10 +28,10 @@ int hmac_sha512_vector(const u8 *key, size_t key_len, size_t num_elem,
|
||||||
{
|
{
|
||||||
unsigned char k_pad[128]; /* padding - key XORd with ipad/opad */
|
unsigned char k_pad[128]; /* padding - key XORd with ipad/opad */
|
||||||
unsigned char tk[64];
|
unsigned char tk[64];
|
||||||
const u8 *_addr[26];
|
const u8 *_addr[HMAC_VECTOR_MAX_ELEM + 1];
|
||||||
size_t _len[26], i;
|
size_t _len[HMAC_VECTOR_MAX_ELEM + 1], i;
|
||||||
|
|
||||||
if (num_elem > 25) {
|
if (num_elem > HMAC_VECTOR_MAX_ELEM) {
|
||||||
/*
|
/*
|
||||||
* Fixed limit on the number of fragments to avoid having to
|
* Fixed limit on the number of fragments to avoid having to
|
||||||
* allocate memory (which could fail).
|
* allocate memory (which could fail).
|
||||||
|
|
Loading…
Reference in a new issue