diff options
| author | tedu <> | 2015-01-12 03:20:04 +0000 |
|---|---|---|
| committer | tedu <> | 2015-01-12 03:20:04 +0000 |
| commit | d8fbc422dcf8766c771862d297d34685d1e22165 (patch) | |
| tree | 00763f2e784032a8c8e1d26eec5cd01fee04d9d8 /src/lib/libc/crypt/bcrypt.c | |
| parent | 96638f9d72621d2898d50d3cdb83ab1ac716b3b6 (diff) | |
| download | openbsd-d8fbc422dcf8766c771862d297d34685d1e22165.tar.gz openbsd-d8fbc422dcf8766c771862d297d34685d1e22165.tar.bz2 openbsd-d8fbc422dcf8766c771862d297d34685d1e22165.zip | |
rename blocks to words. bcrypt "blocks" are unrelated to blowfish blocks,
nor are they the same size.
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libc/crypt/bcrypt.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/lib/libc/crypt/bcrypt.c b/src/lib/libc/crypt/bcrypt.c index f6ff29b234..8bf0995043 100644 --- a/src/lib/libc/crypt/bcrypt.c +++ b/src/lib/libc/crypt/bcrypt.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: bcrypt.c,v 1.50 2015/01/07 16:05:28 tedu Exp $ */ | 1 | /* $OpenBSD: bcrypt.c,v 1.51 2015/01/12 03:20:04 tedu Exp $ */ |
| 2 | 2 | ||
| 3 | /* | 3 | /* |
| 4 | * Copyright (c) 2014 Ted Unangst <tedu@openbsd.org> | 4 | * Copyright (c) 2014 Ted Unangst <tedu@openbsd.org> |
| @@ -47,7 +47,7 @@ | |||
| 47 | 47 | ||
| 48 | #define BCRYPT_VERSION '2' | 48 | #define BCRYPT_VERSION '2' |
| 49 | #define BCRYPT_MAXSALT 16 /* Precomputation is just so nice */ | 49 | #define BCRYPT_MAXSALT 16 /* Precomputation is just so nice */ |
| 50 | #define BCRYPT_BLOCKS 6 /* Ciphertext blocks */ | 50 | #define BCRYPT_WORDS 6 /* Ciphertext words */ |
| 51 | #define BCRYPT_MINLOGROUNDS 4 /* we have log2(rounds) in salt */ | 51 | #define BCRYPT_MINLOGROUNDS 4 /* we have log2(rounds) in salt */ |
| 52 | 52 | ||
| 53 | #define BCRYPT_SALTSPACE (7 + (BCRYPT_MAXSALT * 4 + 2) / 3 + 1) | 53 | #define BCRYPT_SALTSPACE (7 + (BCRYPT_MAXSALT * 4 + 2) / 3 + 1) |
| @@ -96,9 +96,9 @@ bcrypt_hashpass(const char *key, const char *salt, char *encrypted, | |||
| 96 | u_int16_t j; | 96 | u_int16_t j; |
| 97 | size_t key_len; | 97 | size_t key_len; |
| 98 | u_int8_t salt_len, logr, minor; | 98 | u_int8_t salt_len, logr, minor; |
| 99 | u_int8_t ciphertext[4 * BCRYPT_BLOCKS] = "OrpheanBeholderScryDoubt"; | 99 | u_int8_t ciphertext[4 * BCRYPT_WORDS] = "OrpheanBeholderScryDoubt"; |
| 100 | u_int8_t csalt[BCRYPT_MAXSALT]; | 100 | u_int8_t csalt[BCRYPT_MAXSALT]; |
| 101 | u_int32_t cdata[BCRYPT_BLOCKS]; | 101 | u_int32_t cdata[BCRYPT_WORDS]; |
| 102 | 102 | ||
| 103 | if (encryptedlen < BCRYPT_HASHSPACE) | 103 | if (encryptedlen < BCRYPT_HASHSPACE) |
| 104 | goto inval; | 104 | goto inval; |
| @@ -166,14 +166,14 @@ bcrypt_hashpass(const char *key, const char *salt, char *encrypted, | |||
| 166 | 166 | ||
| 167 | /* This can be precomputed later */ | 167 | /* This can be precomputed later */ |
| 168 | j = 0; | 168 | j = 0; |
| 169 | for (i = 0; i < BCRYPT_BLOCKS; i++) | 169 | for (i = 0; i < BCRYPT_WORDS; i++) |
| 170 | cdata[i] = Blowfish_stream2word(ciphertext, 4 * BCRYPT_BLOCKS, &j); | 170 | cdata[i] = Blowfish_stream2word(ciphertext, 4 * BCRYPT_WORDS, &j); |
| 171 | 171 | ||
| 172 | /* Now do the encryption */ | 172 | /* Now do the encryption */ |
| 173 | for (k = 0; k < 64; k++) | 173 | for (k = 0; k < 64; k++) |
| 174 | blf_enc(&state, cdata, BCRYPT_BLOCKS / 2); | 174 | blf_enc(&state, cdata, BCRYPT_WORDS / 2); |
| 175 | 175 | ||
| 176 | for (i = 0; i < BCRYPT_BLOCKS; i++) { | 176 | for (i = 0; i < BCRYPT_WORDS; i++) { |
| 177 | ciphertext[4 * i + 3] = cdata[i] & 0xff; | 177 | ciphertext[4 * i + 3] = cdata[i] & 0xff; |
| 178 | cdata[i] = cdata[i] >> 8; | 178 | cdata[i] = cdata[i] >> 8; |
| 179 | ciphertext[4 * i + 2] = cdata[i] & 0xff; | 179 | ciphertext[4 * i + 2] = cdata[i] & 0xff; |
| @@ -186,7 +186,7 @@ bcrypt_hashpass(const char *key, const char *salt, char *encrypted, | |||
| 186 | 186 | ||
| 187 | snprintf(encrypted, 8, "$2%c$%2.2u$", minor, logr); | 187 | snprintf(encrypted, 8, "$2%c$%2.2u$", minor, logr); |
| 188 | encode_base64(encrypted + 7, csalt, BCRYPT_MAXSALT); | 188 | encode_base64(encrypted + 7, csalt, BCRYPT_MAXSALT); |
| 189 | encode_base64(encrypted + 7 + 22, ciphertext, 4 * BCRYPT_BLOCKS - 1); | 189 | encode_base64(encrypted + 7 + 22, ciphertext, 4 * BCRYPT_WORDS - 1); |
| 190 | explicit_bzero(&state, sizeof(state)); | 190 | explicit_bzero(&state, sizeof(state)); |
| 191 | explicit_bzero(ciphertext, sizeof(ciphertext)); | 191 | explicit_bzero(ciphertext, sizeof(ciphertext)); |
| 192 | explicit_bzero(csalt, sizeof(csalt)); | 192 | explicit_bzero(csalt, sizeof(csalt)); |
