Re: [kitten] SPAKE preauth: generation of SPAKE2 secret input

Nico Williams <> Thu, 14 May 2015 15:47 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 7B6851A854D for <>; Thu, 14 May 2015 08:47:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.666
X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id TOsgqPdGIF7j for <>; Thu, 14 May 2015 08:47:25 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id ABA941A710C for <>; Thu, 14 May 2015 08:47:25 -0700 (PDT)
Received: from (localhost []) by (Postfix) with ESMTP id 63A07940D0; Thu, 14 May 2015 08:47:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed;; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to;; bh=XnxVycGIPGIllU WxoAkO2uZN7Xs=; b=lnhbyojBg8bdmCUeX8QcjXeBOqK3v+A26yvFRXX9Dq0Ib9 hECkO0p1JYM/ipeYIeJOmbxFEVOMZqFBaDFp480KoQu/xmFSsCyCEmJ3fQk0BY8P CdMDFEh4NLmZBezwr7TE+ZlTZLkoBO49c3nQQpntexJNpkOgr1US1nQVd+o9Q=
Received: from localhost ( []) (Authenticated sender: by (Postfix) with ESMTPA id 2BDC9940C5; Thu, 14 May 2015 08:47:23 -0700 (PDT)
Date: Thu, 14 May 2015 10:47:22 -0500
From: Nico Williams <>
To: Watson Ladd <>
Message-ID: <20150514154721.GC7287@localhost>
References: <> <20150512214740.GT7287@localhost> <> <> <20150513160549.GV7287@localhost> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <>
Subject: Re: [kitten] SPAKE preauth: generation of SPAKE2 secret input
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 14 May 2015 15:47:29 -0000

On Wed, May 13, 2015 at 09:15:19PM -0700, Watson Ladd wrote:
> On May 13, 2015 9:05 AM, "Nico Williams" <> wrote:
> > > w is not distributed uniformly: far from it. The question of how far
> >
> > That depends on how its salted.  For our purposes, in practice it's not.
> Not true: w comes from a much smaller list of values. If it was
> uniformly distributed over a wide range, we could use it as a key
> directly.

For Kerberos (the context in which we're discussing SPAKE2) w would be
derived from user principal long-term keys, which are basically a
PBKDF2() application to the password and salt.  The salt can in
principle be uniformly distributed and randomly chosen, but it is
public, so w has no more entropy than the password, but w can be as
uniformly distributed as the salt.

In practice the salt is not chosen randomly but derived from the user's
principal name.  So w does not (will not) be uniformly distributed.

In any case, there's a big difference between "uniformly distributed"
and "difficult to guess".  We want a PAKE precisely because user
principal long-term keys are derived from simple passwords and used to
encrypt messages which are then subject to off-line dictionary attacks.