Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

Password Safe and Password Gorilla are both programs to manage passwords. Both store a list of user passwords in a file, which is encrypted using a master password. They use the same file format, so you can alternate between the two, using the same file, as Joel Spolsky recommended.

Password Safe was created by Bruce Schneier, who said the following about it:

Password Safe protects passwords with the Twofish encryption algorithm, a fast, free alternative to DES.

Although I respect Schneier, the "fast" encryption part gives me pause. I want it to be very difficult to brute force my password file, so I want the decryption be relatively slow.

I think that Password Safe now supports something like the work factor of bcrypt, but if I'm going to use the Spolsky method of sharing my file between computers with Dropbox, I want to be very sure that, if it fell into the wrong hands, nobody would be able to brute force it.

Assuming I've chosen a complex password, how secure is the encryption on these files?

share|improve this question

3 Answers 3

By fast, they mean once you've set up a decryption key (e.g., entered your passphrase), you can decrypt a large or small file very quickly. The time necessary to check a single passphrase of twofish and DES are both similar (see time/cycles to set up key and IV - initialization vector):

http://www.cryptopp.com/benchmarks.html

(these are benchmarks for encryption; but should be similar).

Wikipedia lists some progress on attacks of twofish, but concludes by quotes the first author of the a decades old published partial attack:

"But even from a theoretical perspective, Twofish isn't even remotely broken. There have been no extensions to these results since they were published in 2000".

However, you mention you have a complex password. You probably should be using a passphrase. Eight random characters (upper/lowercase + numbers) ~ 247 ~ 1014? The quoted benchmark may take ~10 microseconds (10-5 s) to try one password; so you could try 10^14 passwords in a 109 s ~ 100 years of CPU time; which is in the realm of feasibility for say gov't to eventually break. If you had say a 6 word diceware passphrase (77 bits of entropy) it would take 100 billion years of today's CPU time to break.

share|improve this answer

When doing encryption while using a password as key, there are two phases:

  1. The password is transformed into a key suitable for the symmetric encryption algorithm which is to be used.
  2. The encryption algorithm is applied to whatever data is to be encrypted.

Salts and configurable slowness, the two mantras of good password processing, are to be applied on step 1, not step 2. If the encryption was inherently slow, then it would be very slow for you, because encryption time is proportional to the size of the data to encrypt or decrypt. On the other hand, the attacker only has to decrypt the first block or so to quickly rule out wrong passwords.

In other words, if the encryption itself was slow, you would not be able to make it as sow as you would wish, and the attacker would not be much thwarted. When doing the slowness in the password hashing step, on the other hand, you can make things more equal between you and the attacker. I have not looked what Password Safe employs for that step, but usual recommendations are bcrypt and PBKDF2.

In practice, the encryption speed is not important. 3DES is "slow" which means that decrypting all your stored password would take 500 microseconds instead of 50 with a faster algorithm -- but you would not see the difference anyway. Scheneier's banter about speed of Twofish is just an old piece of commercial advertisement which made sense 15 years ago when Twofish was involved in the AES competition (but, ultimately, Rijndael won and became "the AES").

share|improve this answer

I don't know of any independent assessment of Password Safe and its security. However the fact that the program's source code is open is of some comfort when it comes to hidden backdoors, "calling home" behavior etc.

Until a comprehensive and independent analysis is available, I would keep my Password Safe file wrapped inside a TrueCrypt file container. That way, potential vulnerabilities in the Password Safe implementation should be a lesser problem.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                  <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2015 stack exchange inc; user contributions licensed under <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a> \r\n                with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2015.5.29.2615\r\n            </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Information Security Stack Exchange works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"d"], "copyright__copyright__copyright": ["ackdoors, \"calling home\" behavior etc.\n\nUntil a comprehensive and independent analysis is available, I would keep my Password Safe file wrapped inside a TrueCrypt file container. That way, potential vulnerabilities in the Password Safe implementation should be a lesser problem.\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}