(Arne Babenhauserheide)
2016-04-19: document the strength of securepassword.w and remove ? as delimiter, document the strength of securepassword.w and remove ? as delimiter, since it differs on US and DE keyboards
diff --git a/examples/securepassword.w b/examples/securepassword.w
--- a/examples/securepassword.w
+++ b/examples/securepassword.w
@@ -5,6 +5,18 @@ exec guile -L $(dirname $(dirname $(real
;; Create secure passwords, usable on US and German keyboards without problems
+;; As of 2011, a single device can do 2,800,000,000 guesses per second.
+;; According to a recovery company which sells crackers at 1.5k$, as of
+;; 2016 a zip-file can be attacked with 100,000 guesses per second.
+
+;; A password with 8 letters and 2 delimiters (length 8, entropy 50)
+;; would on average withstand the strong attack for 2.5 days, the weak
+;; until 2032, assuming doubling of processing power every two years.
+
+;; A password with 12 letters and 3 delimiters (length 12, entropy 75)
+;; should withstand the strong attack until 2049, assuming doubling of
+;; processing power every two years, the weak until 2082.
+
define-module : examples securepassword
. #:export : password
@@ -15,10 +27,10 @@ import
srfi srfi-42
-;; newbase60 without yz_: 57 letters, each 5.78 bits of entropy.
+;; newbase60 without yz_: 55 letters, 5.78 bits of entropy per letter.
define qwertysafeletters "0123456789ABCDEFGHJKLMNPQRSTUVWXabcdefghijkmnopqrstuvwx"
-;; delimiters: 2.32 bits of entropy per delimiter.
-define delimiters ",.!?-"
+;; delimiters: 2 bits of entropy per delimiter.
+define delimiters ",.!-"
define random-source : make-random-source
random-source-randomize! random-source