Re: Private Key Generation from Passwords/phrases

2007-01-23 Thread Matthias Bruestle
Joseph Ashwood wrote:
 I'm going to try to make this one a bit less aggregious in tone. I'm also

Thank you.

 - Original Message - From: Matthias Bruestle
 Joseph Ashwood wrote:
 - Original Message - From: Matthias Bruestle

 You also ended up removing a large portion of my point. My primary point
 was
 that 2^76  2^112. You made several assumptions in coming to your
 conclusion that are at least suspect.
 
 You observe that currently 3DES:ECC-224 speed is about 4000:1, and assume
 that it will stay this way. However, if you look at the history of ECC, the
 speed of ECC doesn't scale linearly against 3DES, in fact a single
 thread of
 3DES might've actually been faster 1 year ago (during the GHz war, before
 multi-core), whereas ECC is still improving as the ability of the CPU to
 perform complex routing and branch prediction improves. So next year the
 ratio could be 100:1, I doubt it will be that dramatic but it is possible.
 As a result this assumption will have to be reexamined every time a CPU
 revision is released, a slight timing change can actually make a big
 difference to the 3DES:ECC speed ratio. Also you need to consider the
 attack
 speed of the attacker, versus the production speed of the user.

I know there are likely some shifts. Hence I wrote The relation stays
(mostly) the same. But in my opinion these shifts are minimal compared
to all the other uncertainties, e.g.:

- How long does the protected secret/signature be ok?
- How well is your adversary funded?
- How much entropy has the passphrase really?
- How much is the general speed increase in the next 20 years?
- ...

If you calculate your bits without safety margin, then next year AMD
could add a 3DES unit to an CPU, the speed ratio is 4:1 and you're
busted. (Because of the hardware friendly design of DES I would say a
faster 3DES is easier to get than a faster ECC.)

 You assume that the fastest way to computer point exponents is through
 counting up to the exponent. While I admit I'm not familiar with point
 exponentiation algorithms, I strongly suspect this one to be incorrect, I
 see no immediate reason that (k*k*k*k) must be decomposed to (((k*k)*k)*k)
 instead of ((k*k)*(k*k)), at exp=4 there is no difference but at
 exp=16million there is an enormous difference. You might be able to make
 this assumption true for your system by somehow proving that the only
 way to compute k^x requires b^x steps (for some b.

My assumption is that the passphrase is properly processed, i.e. nicely
hashed. So an attacker has to go through this process if he wants to
exploit the reduced entropy of the passphrase and (at least) I see no
way how to exploit this reduced entropy then to help algorithms like
Pollard's rho/lambda to speed up the computation. The attacker may use
any point multiplication method he wants to use. (Jacobian, modified
Jacobian, NAF, windowing, ...)

 I see no reason it the arguments presented that the attacker would still
 have to perform 2^76 (ECC)work in 2^112 (3DES)time, instead of 2^76
 (ECC)work in substantially less than 2^112 (3DES)time.

An attacker would have to perform 2^100 (ECC)work, because the ratio
accounts in my calculation only for 2^12 steps. The other 2^24 is a
thrown away 24bit random.

 That is not to say that I don't think you will have  2^76 (ECC)work
 required to break it, taking longer than 2^76 (ECC)work, but that I
 disagree
 with your result. If you set your target at 2^80 (ECC)work, then I believe
 you can achieve it this way. I also think that if you were to perform
 result[i] = hash(result[i-1], passphrase) (result[0] = 0x000...000) it is a
 safe assumption that there is no faster way than counting to i, which would
 vastly improve your chances of security (see Secure Applications of
 Low-Entropy Keys by Hall, Kelsey, Schneier and Wagner for reference). I
 also think that most users would be unwilling to wait the full day you
 spec'd, it is hard enough to get users to wait 5 seconds.

The parameters can be changed as needed. A day can be ok for one
purpose, e.g. for key recovery, while it is not ok for a different
purpose, e.g. recreation of the private key for each decryption. In the
later case the passphrase has to contain more entropy.

Regarding passphrase entropy: Getting entropy into a rememberable
passphrase is a related, but completely different problem.

Matthias

-- 
Matthias Bruestle, Managing Director
Phone +49 (0) 91 19 55 14 91, Fax +49 (0) 91 19 55 14 97
MaskTech GmbH, Nordostpark 16, 90411 Nuernberg, Germany

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]


Re: Free WiFi man-in-the-middle scam seen in the wild.

2007-01-23 Thread Matthias Bruestle
Hi,

Perry E. Metzger wrote:
 For years, I've complained about banks, such as Chase, which let
 people type in the password to their bank account into a page that has
 been downloaded via http: instead of https:.
 
 The banks always say oh, that's no problem, because the password is
 posted via https:, and I say but that's only if the page comes from
 *you*, and it might come from a bad guy.

A German bank had the same problem. After some discussions without
positive results I wrote an article about SSL problems for a large
German IT magazine and described their situation. A short time after
they changed the login page to https.

Matthias

-- 
Matthias Bruestle, Managing Director
Phone +49 (0) 91 19 55 14 91, Fax +49 (0) 91 19 55 14 97
MaskTech GmbH, Nordostpark 16, 90411 Nuernberg, Germany

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]


Re: Private Key Generation from Passwords/phrases

2007-01-16 Thread Matthias Bruestle
Joseph Ashwood wrote:
 - Original Message - From: Matthias Bruestle
 [EMAIL PROTECTED]
 
 What do you think about this?
 
 I think you need some serious help in learning the difference between
 2^112 and 112, and that you really don't seem to have much grasp of the
 entire concept.

Please omit all 2^ besides in the 2^24. This should make you feel
better.

 [most offensive parts deleted]
 time units are inconsistent. Basically just stop fiddling around trying
 to convince yourself you need less than you do, and locate 112 bits of
 apparent entropy, anything else and you're into the world of trying to
 prove equivalence between entropy and work which work in physics but
 doesn't work in computation because next year the work level will be
 different and you'll have to redo all your figures.

What we are interested in is time (e.g. secure until 20XX), not
entropy. After all we are all in a physical world, also the computers.
But for entropy we can buy time. Because physical world changes things
have to be redone, e.g. DES - 3DES - AES - ... . So 30 years ago a
bit of entropy bought you much time, now not so much anymore. But
despite that with the system described in my email the figures don't
have to be redone every year. Because the computers (in the physical
world) get faster each year the time to bruteforce 3DES and 224bit-ECC
gets lower. The relation stays (mostly) the same. The only thing which
really changes is the time a user has to wait for recreating his key,
which gets lower and lower. He certainly has no problem with that.

Maybe you should take James Donald as an inspiring example for you. He
raised a valid point, the offline attack using the generally available
public key.

Matthias

-- 
Matthias Bruestle, Managing Director
Phone +49 (0) 91 19 55 14 91, Fax +49 (0) 91 19 55 14 97
MaskTech GmbH, Nordostpark 16, 90411 Nuernberg, Germany

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]


Private Key Generation from Passwords/phrases

2007-01-11 Thread Matthias Bruestle
Hi,

I am thinking about this since last night. On the web I haven't found
much and I want to go in a different direction as I have found.

Say I want to have 112bit security, i.e. as secure as 3DES. For this I
would choose (as everybody writes) 224bit ECC (or Tipsy Curve
Cryptosystem/TCC as I prefer, because the European Citizen Card is also
called ECC officially). With the Passwords I would have to provide so
much entropy, that a bruteforce attack needs as much time as 3DES to get
the same security. (Higher value of ECC key ignored.)

When I look at benchmarks ratio of the number of 3DES operations and of
point multiplications is about 4000:1, so I have gained here about 2^12
bits. (Processing of Password with a hash function is so fast that it
can be ignored unless the procession is artificially extended.) I am
aware that a DES unit is cheaper than an ECC unit and that for DES there
are special implementations for key search possible, so the gain might
be even more.

Lets assume the key is only very seldom regenerated. Then we could add a
short fragment of real entropy to the passwords and throw it away after
our first key generation. If a point multiplication takes around 4ms
then we can brute force on one day 2^24 keys. So if the user is willing
to wait for one day for his key recreation than he can add 3 random
bytes to his passwords and throw them away.

If we add this together, than we have already 2^36 bits of security from
our goal of 2^112 bits. The remaining necessary entropy is then 2^76
bits which would have then to be provided by the passwords/phrase. That
means the necessary length is reduced by about one third.

What do you think about this?

Matthias

-- 
Matthias Bruestle, Managing Director
Phone +49 (0) 91 19 55 14 91, Fax +49 (0) 91 19 55 14 97
MaskTech GmbH, Nordostpark 16, 90411 Nuernberg, Germany

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]


Re: secure CRNGs and FIPS (Re: How important is FIPS 140-2 Level 1 cert?)

2007-01-08 Thread Matthias Bruestle
Adam Back wrote:
 About the criticisms of Common Critera evaluation in general, I think
 why people complain it is a documentation exercise is because pretty
 much all it does ensure that it does what it says it does.  So
 basically you have to enumerates threats, state what threats the
 system is designed to protect against, and which are out of scope.
 
 Then the rest of the documentation is just saying that in increasing
 detail, that you have not made mistakes in the design and
 specification and to some extent implementation.

CC has very good points. One of the best points is IMO the ST/PP concept
which encourages to think what to protect against what. And I do think
that most of the CC documents are helpful. But some, esp. these which
occupy the most paper, are IMO not worth their effort. These are the
low- and high-level design. They are meant to be the link between
specification and implementation, but I am sure that there are simpler
ways to show the link. And my experience is that these two documents do
not change the product in any way.

Matthias

-- 
Matthias Bruestle, Managing Director
Phone +49 (0) 91 19 55 14 91, Fax +49 (0) 91 19 55 14 97
MaskTech GmbH, Nordostpark 16, 90411 Nuernberg, Germany

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]


Re: How important is FIPS 140-2 Level 1 cert?

2006-12-24 Thread Matthias Bruestle
 restrictions on current implementations. As a result a FIPS 140-
 certified key generator will be worse than a well-designed non-FIPS-140
 one because the FIPS requirements prevent you from doing several things
 that would improve the functioning like injecting extra entropy into the
 generator besides the DES3 key.

That's interesting. I would have expected to revise things like that for
FIPS140-*2*.

 In addition since no two eval labs can
 agree on exactly what is and isnt OK here its pretty much a crap-shoot
 as to what you can get through. Ive heard stories from different vendors
 of Lab B disallowing something that had already been certified by Lab A
 in a previous pass through the FIPS process.

I had a talk with a FIPS-140 lab. I have been told, that undocumented
wording has to be used that only the labs know. The FIPS-140 is to me a
obscure process. And btw. the lab told me, that they don't want to
have called it a certification (despite getting a certificate), but a
validation.


Mahlzeit,
Matthias

-- 
Matthias Bruestle, Managing Director

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to [EMAIL PROTECTED]