upstream commit

- tedu@cvs.openbsd.org 2015/01/12 03:20:04
     [bcrypt_pbkdf.c]
     rename blocks to words. bcrypt "blocks" are unrelated to blowfish blocks,
     nor are they the same size.
This commit is contained in:
Damien Miller 2015-05-05 19:10:58 +10:00
parent f6391d4e59
commit d028d5d3a6
1 changed files with 6 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $OpenBSD: bcrypt_pbkdf.c,v 1.12 2015/01/08 00:30:07 deraadt Exp $ */ /* $OpenBSD: bcrypt_pbkdf.c,v 1.13 2015/01/12 03:20:04 tedu Exp $ */
/* /*
* Copyright (c) 2013 Ted Unangst <tedu@openbsd.org> * Copyright (c) 2013 Ted Unangst <tedu@openbsd.org>
* *
@ -63,8 +63,8 @@
* wise caller could do; we just do it for you. * wise caller could do; we just do it for you.
*/ */
#define BCRYPT_BLOCKS 8 #define BCRYPT_WORDS 8
#define BCRYPT_HASHSIZE (BCRYPT_BLOCKS * 4) #define BCRYPT_HASHSIZE (BCRYPT_WORDS * 4)
static void static void
bcrypt_hash(u_int8_t *sha2pass, u_int8_t *sha2salt, u_int8_t *out) bcrypt_hash(u_int8_t *sha2pass, u_int8_t *sha2salt, u_int8_t *out)
@ -72,7 +72,7 @@ bcrypt_hash(u_int8_t *sha2pass, u_int8_t *sha2salt, u_int8_t *out)
blf_ctx state; blf_ctx state;
u_int8_t ciphertext[BCRYPT_HASHSIZE] = u_int8_t ciphertext[BCRYPT_HASHSIZE] =
"OxychromaticBlowfishSwatDynamite"; "OxychromaticBlowfishSwatDynamite";
uint32_t cdata[BCRYPT_BLOCKS]; uint32_t cdata[BCRYPT_WORDS];
int i; int i;
uint16_t j; uint16_t j;
size_t shalen = SHA512_DIGEST_LENGTH; size_t shalen = SHA512_DIGEST_LENGTH;
@ -87,14 +87,14 @@ bcrypt_hash(u_int8_t *sha2pass, u_int8_t *sha2salt, u_int8_t *out)
/* encryption */ /* encryption */
j = 0; j = 0;
for (i = 0; i < BCRYPT_BLOCKS; i++) for (i = 0; i < BCRYPT_WORDS; i++)
cdata[i] = Blowfish_stream2word(ciphertext, sizeof(ciphertext), cdata[i] = Blowfish_stream2word(ciphertext, sizeof(ciphertext),
&j); &j);
for (i = 0; i < 64; i++) for (i = 0; i < 64; i++)
blf_enc(&state, cdata, sizeof(cdata) / sizeof(uint64_t)); blf_enc(&state, cdata, sizeof(cdata) / sizeof(uint64_t));
/* copy out */ /* copy out */
for (i = 0; i < BCRYPT_BLOCKS; i++) { for (i = 0; i < BCRYPT_WORDS; i++) {
out[4 * i + 3] = (cdata[i] >> 24) & 0xff; out[4 * i + 3] = (cdata[i] >> 24) & 0xff;
out[4 * i + 2] = (cdata[i] >> 16) & 0xff; out[4 * i + 2] = (cdata[i] >> 16) & 0xff;
out[4 * i + 1] = (cdata[i] >> 8) & 0xff; out[4 * i + 1] = (cdata[i] >> 8) & 0xff;