Freeware. Generates a random passphrase from a list of words. Included is the original Diceware list. Other lists can be used also by reading the list into the program. Supports manual dice throwing i.e. the wanted number is typed and the corresponding word is found from the list and added to the passphrase. The program can also generate an 'ordinary' password for different security levels (2^96, 2^128, 2^256) - random bytes are generated and the password/passphrase is the hexadecimal or the base64 representation of the wanted number of bytes.
The random number generator uses the RNGCryptoServiceProvider of the C# language to generate random 32 bytes A. The previous mouse movements, their timings and the timings of the keypresses form 128 bytes of the seed B.
C=A2 xor B2
The generated word or password string is based on C2 e.g. for an 'ordinary' password the string is the hexadecimal or base64 representation of C2, consisting of 12, 16 or 32 bytes for the security levels 2^96, 2^128 and 2^256.
After calculation of C2 the new B is formed by calculating B_new=sha512(B_old), ie. the first 64 bytes of B_old are sha512 hashed to form the first 64 bytes of the B_new and the next 64 bytes of the B_old are sha512 hashed to form the next 64 bytes of the B_new.
When the seed (B) is updated during mouse movements etc. an old value is xored with a new measurement:
index=(index+1) % 128
B[index]=B[index] xor new_measurement
At program startup the seed B is initialized with sha512 hashed value of RNGCryptoServiceProvider given values and sha512 hashed value of certain values of the processes and threads in the computer.
The installation file is certified using Microsoft Authenticode1.
Windows Vista, Windows 7, Windows 8 (Desktop) … .
1. To view the certificate right mouse click the downloaded file, select the Digital Signatures tab, select the line Enternet Oy … and click Details. On top of the page must be lines Digital Signature Information, This digital signature is OK.