scram: renamed BLOCK_SIZE
BLOCK_SIZE is too common name, so remove it to HMAC_BLOCK_SIZE.
This commit is contained in:
20
src/scram.c
20
src/scram.c
@@ -24,11 +24,7 @@
|
|||||||
|
|
||||||
#include "scram.h"
|
#include "scram.h"
|
||||||
|
|
||||||
/* block size for HMAC */
|
#define HMAC_BLOCK_SIZE 64
|
||||||
#define BLOCK_SIZE 64
|
|
||||||
#if BLOCK_SIZE < SHA1_DIGEST_SIZE
|
|
||||||
#error BLOCK_SIZE must not be less than SHA1_DIGEST_SIZE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const uint8_t ipad = 0x36;
|
static const uint8_t ipad = 0x36;
|
||||||
static const uint8_t opad = 0x5C;
|
static const uint8_t opad = 0x5C;
|
||||||
@@ -37,33 +33,33 @@ static void crypto_HMAC_SHA1(const uint8_t *key, size_t key_len,
|
|||||||
const uint8_t *text, size_t len,
|
const uint8_t *text, size_t len,
|
||||||
uint8_t *digest)
|
uint8_t *digest)
|
||||||
{
|
{
|
||||||
uint8_t key_pad[BLOCK_SIZE];
|
uint8_t key_pad[HMAC_BLOCK_SIZE];
|
||||||
uint8_t key_ipad[BLOCK_SIZE];
|
uint8_t key_ipad[HMAC_BLOCK_SIZE];
|
||||||
uint8_t key_opad[BLOCK_SIZE];
|
uint8_t key_opad[HMAC_BLOCK_SIZE];
|
||||||
uint8_t sha_digest[SHA1_DIGEST_SIZE];
|
uint8_t sha_digest[SHA1_DIGEST_SIZE];
|
||||||
int i;
|
int i;
|
||||||
SHA1_CTX ctx;
|
SHA1_CTX ctx;
|
||||||
|
|
||||||
memset(key_pad, 0, sizeof(key_pad));
|
memset(key_pad, 0, sizeof(key_pad));
|
||||||
if (key_len <= BLOCK_SIZE) {
|
if (key_len <= HMAC_BLOCK_SIZE) {
|
||||||
memcpy(key_pad, key, key_len);
|
memcpy(key_pad, key, key_len);
|
||||||
} else {
|
} else {
|
||||||
/* according to RFC2104 */
|
/* according to RFC2104 */
|
||||||
crypto_SHA1(key, key_len, key_pad);
|
crypto_SHA1(key, key_len, key_pad);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < BLOCK_SIZE; i++) {
|
for (i = 0; i < HMAC_BLOCK_SIZE; i++) {
|
||||||
key_ipad[i] = key_pad[i] ^ ipad;
|
key_ipad[i] = key_pad[i] ^ ipad;
|
||||||
key_opad[i] = key_pad[i] ^ opad;
|
key_opad[i] = key_pad[i] ^ opad;
|
||||||
}
|
}
|
||||||
|
|
||||||
crypto_SHA1_Init(&ctx);
|
crypto_SHA1_Init(&ctx);
|
||||||
crypto_SHA1_Update(&ctx, key_ipad, BLOCK_SIZE);
|
crypto_SHA1_Update(&ctx, key_ipad, HMAC_BLOCK_SIZE);
|
||||||
crypto_SHA1_Update(&ctx, text, len);
|
crypto_SHA1_Update(&ctx, text, len);
|
||||||
crypto_SHA1_Final(&ctx, sha_digest);
|
crypto_SHA1_Final(&ctx, sha_digest);
|
||||||
|
|
||||||
crypto_SHA1_Init(&ctx);
|
crypto_SHA1_Init(&ctx);
|
||||||
crypto_SHA1_Update(&ctx, key_opad, BLOCK_SIZE);
|
crypto_SHA1_Update(&ctx, key_opad, HMAC_BLOCK_SIZE);
|
||||||
crypto_SHA1_Update(&ctx, sha_digest, SHA1_DIGEST_SIZE);
|
crypto_SHA1_Update(&ctx, sha_digest, SHA1_DIGEST_SIZE);
|
||||||
crypto_SHA1_Final(&ctx, digest);
|
crypto_SHA1_Final(&ctx, digest);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user