Browse Source

dial the time back to about 0.1s, closer to the original targets and

friendlier for users. requested by deraadt
OPENBSD_5_7
tedu 9 years ago
parent
commit
29b14402f1
1 changed files with 4 additions and 4 deletions
  1. +4
    -4
      src/lib/libc/crypt/bcrypt.c

+ 4
- 4
src/lib/libc/crypt/bcrypt.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: bcrypt.c,v 1.51 2015/01/12 03:20:04 tedu Exp $ */
/* $OpenBSD: bcrypt.c,v 1.52 2015/01/28 23:33:52 tedu Exp $ */
/* /*
* Copyright (c) 2014 Ted Unangst <tedu@openbsd.org> * Copyright (c) 2014 Ted Unangst <tedu@openbsd.org>
@ -235,7 +235,7 @@ bcrypt_checkpass(const char *pass, const char *goodhash)
/* /*
* Measure this system's performance by measuring the time for 8 rounds. * Measure this system's performance by measuring the time for 8 rounds.
* We are aiming for something that takes between 0.25 and 0.5 seconds.
* We are aiming for something that takes around 0.1s, but not too much over.
*/ */
int int
bcrypt_autorounds(void) bcrypt_autorounds(void)
@ -254,12 +254,12 @@ bcrypt_autorounds(void)
duration += (after.tv_nsec - before.tv_nsec) / 1000; duration += (after.tv_nsec - before.tv_nsec) / 1000;
/* too quick? slow it down. */ /* too quick? slow it down. */
while (r < 16 && duration <= 1000000 / 4) {
while (r < 16 && duration <= 60000) {
r += 1; r += 1;
duration *= 2; duration *= 2;
} }
/* too slow? speed it up. */ /* too slow? speed it up. */
while (r > 4 && duration > 1000000 / 2) {
while (r > 4 && duration > 120000) {
r -= 1; r -= 1;
duration /= 2; duration /= 2;
} }


Loading…
Cancel
Save