Re: [Cfrg] Suggestion for open competition on PAKE -> Was Re: Dragonfly has advantages

Feng Hao <> Sat, 04 January 2014 19:05 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 15DF41AE089 for <>; Sat, 4 Jan 2014 11:05:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id To83nWAd6n4R for <>; Sat, 4 Jan 2014 11:05:43 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id DBB221AE051 for <>; Sat, 4 Jan 2014 11:05:42 -0800 (PST)
Received: from ([] by with esmtp (Exim 4.63) (envelope-from <>) id 1VzWXO-0006y1-BS; Sat, 04 Jan 2014 19:05:34 +0000
Received: from ([fe80::c039:e17:9d60:9f3]) by ([2002:80f0:ea09::80f0:ea09]) with mapi id 14.03.0158.001; Sat, 4 Jan 2014 19:05:14 +0000
From: Feng Hao <>
To: Trevor Perrin <>
Thread-Topic: Suggestion for open competition on PAKE -> Was Re: [Cfrg] Dragonfly has advantages
Thread-Index: AQHPCWD7uc8g4tkQ/kavqKMss/3tVpp0z0gAgAAdvoA=
Date: Sat, 04 Jan 2014 19:05:13 +0000
Message-ID: <>
In-Reply-To: <>
Accept-Language: en-US, en-GB
Content-Language: en-US
user-agent: Microsoft-MacOutlook/
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "" <>
Subject: Re: [Cfrg] Suggestion for open competition on PAKE -> Was Re: Dragonfly has advantages
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Crypto Forum Research Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 04 Jan 2014 19:05:45 -0000

Hi Trevor,

On 04/01/2014 17:18, "Trevor Perrin" <> wrote:

>On Sat, Jan 4, 2014 at 7:23 AM, Feng Hao <> wrote:
>> In summary, if the password element derivation in Dragonfly can be done
>> securely and efficiently, that would be a good contribution in my view.
>> That would even resolve an issue that SPEKE can't. The way that SPEKE
>> works is by requiring the use of a safe prime, but then for 1024-bit p,
>> the exponent will be 1023 bits - one modular exponentiation will be
>> equivalent to about 6 times of the exponentiation with a 160-bit
>Hi Feng,
>Minor comments:  I don't agree that Dragonfly could "resolve an issue
>that SPEKE can't".
>It's true that SPEKE is generally described in terms of safe primes to
>avoid the problems Dragonfly is running into.
>But any password element derivation that works for Dragonfly would of
>course work for SPEKE.

Actually, I don't see disagreement here, but maybe I didn't express myself

I mean if Dan manages to work out a way to derive the PE "securely and
efficiently" for Dragonfly, the same technique would also work for SPEKE.
Of course, that is a big "IF" at the moment, but I hope Dan will continue
to work on it. 

>> (Some people compare PAKEs by merely counting the number of modular
>> exponentiations, but they should also look at if the protocol readily
>> accommodates short exponents. The length of the exponent has a direct
>> impact on the cost of exponentiation.)
>Another important issue, particularly for EC protocols, is to
>distinguish operations with a fixed base (or fixed point) from
>operations with a random base / point.
>The fixed operations can be optimized to be several times faster
>(perhaps ~4x is a rule of thumb I've heard).

I guess you mean optimizing by caching the intermediate terms or saving
them in a look-up table? The amount of speed-up is not surprising. It also
applies to the exponential operation in a prime field, where one can
pre-compute all the square terms for a fixed base.

There are all sorts of similar optimizing tricks (generally involving
memory/speed trade-off and off-line pre-computation) that people can play
to make the cost in the protocol look as small as possible. But that often
raises a lot of confusion. For fairness, one should compare protocols
side-by-side under the same levels of optimization.