summaryrefslogtreecommitdiff
path: root/key.c
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-03-11 20:06:59 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-03-11 20:06:59 +0000
commitcbe3ad2f70e6682378cd06ce0c0236438e1ed581 (patch)
tree409793141653a53a39baa100970e70b873608031 /key.c
parenta8a73e62eda1c81e04c11099e0c0155164486992 (diff)
- jakob@cvs.openbsd.org 2001/03/11 15:13:09
[key.c] cleanup & shorten some var names key_fingerprint_bubblebabble.
Diffstat (limited to 'key.c')
-rw-r--r--key.c50
1 files changed, 24 insertions, 26 deletions
diff --git a/key.c b/key.c
index d8f994b5f..17a6c787d 100644
--- a/key.c
+++ b/key.c
@@ -32,7 +32,7 @@
32 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 */ 33 */
34#include "includes.h" 34#include "includes.h"
35RCSID("$OpenBSD: key.c,v 1.19 2001/03/11 15:03:15 jakob Exp $"); 35RCSID("$OpenBSD: key.c,v 1.20 2001/03/11 15:13:09 jakob Exp $");
36 36
37#include <openssl/evp.h> 37#include <openssl/evp.h>
38 38
@@ -236,46 +236,44 @@ key_fingerprint_bubblebabble(u_char* dgst_raw, size_t dgst_raw_len)
236 char vowels[] = { 'a', 'e', 'i', 'o', 'u', 'y' }; 236 char vowels[] = { 'a', 'e', 'i', 'o', 'u', 'y' };
237 char consonants[] = { 'b', 'c', 'd', 'f', 'g', 'h', 'k', 'l', 'm', 237 char consonants[] = { 'b', 'c', 'd', 'f', 'g', 'h', 'k', 'l', 'm',
238 'n', 'p', 'r', 's', 't', 'v', 'z', 'x' }; 238 'n', 'p', 'r', 's', 't', 'v', 'z', 'x' };
239 u_int rounds, idx, retval_idx, seed; 239 u_int i, j = 0, rounds, seed = 1;
240 char *retval; 240 char *retval;
241 241
242 rounds = (dgst_raw_len / 2) + 1; 242 rounds = (dgst_raw_len / 2) + 1;
243 retval = xmalloc(sizeof(char) * (rounds*6)); 243 retval = xmalloc(sizeof(char) * (rounds*6));
244 seed = 1; 244 retval[j++] = 'x';
245 retval_idx = 0; 245 for (i = 0; i < rounds; i++) {
246 retval[retval_idx++] = 'x';
247 for (idx=0;idx<rounds;idx++) {
248 u_int idx0, idx1, idx2, idx3, idx4; 246 u_int idx0, idx1, idx2, idx3, idx4;
249 if ((idx + 1 < rounds) || (dgst_raw_len % 2 != 0)) { 247 if ((i + 1 < rounds) || (dgst_raw_len % 2 != 0)) {
250 idx0 = (((((u_int)(dgst_raw[2 * idx])) >> 6) & 3) + 248 idx0 = (((((u_int)(dgst_raw[2 * i])) >> 6) & 3) +
251 seed) % 6; 249 seed) % 6;
252 idx1 = (((u_int)(dgst_raw[2 * idx])) >> 2) & 15; 250 idx1 = (((u_int)(dgst_raw[2 * i])) >> 2) & 15;
253 idx2 = ((((u_int)(dgst_raw[2 * idx])) & 3) + 251 idx2 = ((((u_int)(dgst_raw[2 * i])) & 3) +
254 (seed / 6)) % 6; 252 (seed / 6)) % 6;
255 retval[retval_idx++] = vowels[idx0]; 253 retval[j++] = vowels[idx0];
256 retval[retval_idx++] = consonants[idx1]; 254 retval[j++] = consonants[idx1];
257 retval[retval_idx++] = vowels[idx2]; 255 retval[j++] = vowels[idx2];
258 if ((idx + 1) < rounds) { 256 if ((i + 1) < rounds) {
259 idx3 = (((u_int)(dgst_raw[(2 * idx) + 1])) >> 4) & 15; 257 idx3 = (((u_int)(dgst_raw[(2 * i) + 1])) >> 4) & 15;
260 idx4 = (((u_int)(dgst_raw[(2 * idx) + 1]))) & 15; 258 idx4 = (((u_int)(dgst_raw[(2 * i) + 1]))) & 15;
261 retval[retval_idx++] = consonants[idx3]; 259 retval[j++] = consonants[idx3];
262 retval[retval_idx++] = '-'; 260 retval[j++] = '-';
263 retval[retval_idx++] = consonants[idx4]; 261 retval[j++] = consonants[idx4];
264 seed = ((seed * 5) + 262 seed = ((seed * 5) +
265 ((((u_int)(dgst_raw[2 * idx])) * 7) + 263 ((((u_int)(dgst_raw[2 * i])) * 7) +
266 ((u_int)(dgst_raw[(2 * idx) + 1])))) % 36; 264 ((u_int)(dgst_raw[(2 * i) + 1])))) % 36;
267 } 265 }
268 } else { 266 } else {
269 idx0 = seed % 6; 267 idx0 = seed % 6;
270 idx1 = 16; 268 idx1 = 16;
271 idx2 = seed / 6; 269 idx2 = seed / 6;
272 retval[retval_idx++] = vowels[idx0]; 270 retval[j++] = vowels[idx0];
273 retval[retval_idx++] = consonants[idx1]; 271 retval[j++] = consonants[idx1];
274 retval[retval_idx++] = vowels[idx2]; 272 retval[j++] = vowels[idx2];
275 } 273 }
276 } 274 }
277 retval[retval_idx++] = 'x'; 275 retval[j++] = 'x';
278 retval[retval_idx++] = '\0'; 276 retval[j++] = '\0';
279 return retval; 277 return retval;
280} 278}
281 279