pass-strings
a method of generating random strings for a password/passphrase,
using the Diceware techinque
One of the best and simplest ways to randomly create a secure passphrase,
is to use Diceware, developed by A. G. Reinhold:
http://world.std.com/~reinhold/diceware.html
have noticed and heard from others, that there is a trend to cache the
passphrases, as a >/= 25 character Diceware passphrase, while not difficult
to remember, is tedious to type, especially in implementations that do not
allow the display of the passphrase as it is being typed.
{GnuPG and PGP command-lines }
have thought about an equivalently secure Diceware technique using single
characters, that, while harder to remember initially, is much easier to type
once remembered:
assuming 95 different keyboard characters
{U.S. English, case sensitive, including the 'empty space' as a character}
then a 'pair' of characters would be at least as secure as one Diceware word : {95x95 > 7776}
so, for a five word Diceware passphrase, the equivalent string would be 10 characters,
6 word ~ 12 character string
7 word ~ 14 character string
and so on,
2x character string ~ x word Diceware passphrase
these strings are not difficult to memorize if one concentrates on
memorizing 4 characters at a time
below is a list of the dicethrows for single characters that can be used with the
Diceware technique
it would require 3 dice throws per character [not counting 'do-overs']
and so, about 36 throws for a 12 character passphrase string
List of characters for three dice throws:
[1] 111 = ~
[2] 112 = `
[3] 113 = !
[4] 114 = @
[5] 115 = #
[6] 116 = $
[7] 121 = %
[8] 122 = ^
[9] 123 = &
[10] 124 = *
[11] 125 = (
[12] 126 = )
[13] 131 = _
[14] 132 = +
[15] 133 = -
[16] 134 = =
[17] 135 = {
[18] 136 = }
[19] 141 = [
[20] 142 = ]
[21] 143 = |
[22] 144 = \
[23] 145 = :
[24] 146 = "
[25] 151 = ;
[26] 152 = '
[27] 153 = left angle-bracket <
[28] 154 = right angle-bracket >
[29] 155 = ?
[30] 156 = ,
[31] 161 = .
[32] 162 = /
[33] 163 = 1
[34] 164 = 2
[35] 165 = 3
[36] 166 = 4
[37] 211 = 5
[38] 212 = 6
[39] 213 = 7
[40] 214 = 8
[41] 215 = 9
[42] 216 = 0
[43] 221 = q
[44] 222 = w
[45] 223 = e
[46] 224 = r
[47] 225 = t
[48] 226 = y
[49] 231 = u
[50] 232 = i
[51] 233 = o
[52] 234 = p
[53] 235 = a
[54] 236 = s
[55] 241 = d
[56] 242 = f
[57] 242 = g
[58] 243 = h
[59] 244 = j
[60] 245 = k
[61] 246 = l
[62] 251 = z
[63] 252 = x
[64] 253 = c
[65] 254 = v
[66] 255 = b
[67] 256 = n
[68] 261 = m
[69] 262 = Q
[70] 263 = W
[71] 264 = E
[72] 265 = R
[73] 266 = T
[74] 311 = Y
[75] 312 = U
[76] 313 = I
[77] 314 = O
[78] 315 = P
[79] 316 = A
[80] 321 = S
[81] 322 = D
[82] 323 = F
[83] 324 = G
[84] 325 = H
[85] 326 = J
[86] 331 = K
[87] 332 = L
[88] 333 = Z
[89] 334 = X
[90] 335 = C
[91] 336 = V
[92] 341 = B
[93] 342 = N
[94] 343 = M
[95] 344 = {empty space}
345 - 666 do-over
{this has the advantage that one can know on the first throw if one already has a do-over}
alternatively, the 345 - 666 space can be modified/extended for utf-8 characters
and ignored/treated as do-over, by those not using utf-8 for passphrase strings
feel free to modify/reproduce this list in any way that may be helpful in promoting
secure, easy to use, and easy to generate, passphrases/pass-strings
Please e-mail me if there are any inaccuracies in any of the above, or for any suggestions / comments / etc.
Thanks,
vedaal
my pgp keys are:
v3 rsa
size: 2048
key id: 0x6A05A0B785306D25
fingerprint: 96A6 5F71 1C43 8423 D9AE 02FD A711 97BA
v4 rsa
size: 4096
key id: 0x5AA20C866A589A97
fingerprint: ED03 5602 A6A9 093F 0BF7 1BD0 5AA2 0C86 6A58 9A97
Email: vedaal@hotmail.com