[106502] in cryptography@c2.net mail archive

home help back first fref pref prev next nref lref last post

Re: Password vs data entropy

daemon@ATHENA.MIT.EDU (Ben Laurie)
Sat Oct 27 11:34:46 2007

Date: Fri, 26 Oct 2007 23:56:05 +0100
From: Ben Laurie <ben@links.org>
To: Alex Pankratov <ap@poneyhot.org>
CC:  cryptography@metzdowd.com
In-Reply-To: <000c01c81786$f807b3d0$6601a8c0@lenovo>

Alex Pankratov wrote:
> Say, we have a random value of 4 kilobits that someone wants 
> to keep secret by the means of protecting it with a password. 

It would assist understanding, I feel, if we thought about 4 kilobits of
entropy, rather than a 4 kilobit value. I want to make this distinction
because I'd like to talk about secret keys, which have to be rather
larger than 4 kbits to have 4kbits of entropy for modular arithmetic stuff.

> Empirical entropy estimate for an English text is 1.3 bits of 
> randomness per character, IIRC.
> 
> Assuming the password is an English word or a phrase, and the 
> secret is truly random, does it mean that the password needs 
> to be 3100+ characters in size in order to provide a "proper"
> degree of protection to the value ? 
> 
> Or, rephrasing, what should the entropy of the password be 
> compared to the entropy of the value being protected (under
> whatever keying/encryption scheme) ? 
> 
> I realize that this is rather .. err .. open-ended question, 
> and it depends on what one means by "protected", but I'm sure 
> you can see the gist of the question. How would one deem a
> password random enough to be fit for protecting an equivalent
> of N bits of random data ? Is it a 1-to-1 ratio ?

Given the above, it seems there's an obvious formulation.

Let's say the cost of a brute force attack on the secret itself is 2^xn
for n bits of entropy in the secret (it seems that this is actually the
interesting definition of entropy in this case, somewhat circularly).
Similarly, the cost of a brute force attack on the encryption protecting
the secret is 2^ym, where y is the entropy in the password.

So, when 2^ym < 2^xn, it is worth attacking the password.

So, ym < xn and hence m < xn/y.

In other words, your password needs to be x/y times the size of the
secret (in bits), where x and y are the costs of attacking the secret
and the password respectively.

-- 
http://www.apache-ssl.org/ben.html           http://www.links.org/

"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo@metzdowd.com

home help back first fref pref prev next nref lref last post