Re: [IPsec] Question about RFC 5114

Richard Barnes <rbarnes@bbn.com> Tue, 06 April 2010 16:54 UTC

Return-Path: <rbarnes@bbn.com>
X-Original-To: ipsec@core3.amsl.com
Delivered-To: ipsec@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AD9493A6964 for <ipsec@core3.amsl.com>; Tue, 6 Apr 2010 09:54:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.855
X-Spam-Level:
X-Spam-Status: No, score=-1.855 tagged_above=-999 required=5 tests=[AWL=-0.745, BAYES_05=-1.11]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mkd8ENWBwJOG for <ipsec@core3.amsl.com>; Tue, 6 Apr 2010 09:54:28 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com (Postfix) with ESMTP id ED8ED3A6958 for <ipsec@ietf.org>; Tue, 6 Apr 2010 09:54:27 -0700 (PDT)
Received: from [192.1.255.171] (port=51270 helo=col-dhcp-192-1-255-171.bbn.com) by smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <rbarnes@bbn.com>) id 1NzC2j-000Nbx-3f; Tue, 06 Apr 2010 12:54:25 -0400
Message-Id: <50C9BA8B-3C10-4C7F-93B7-B95E0ECA2CEB@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: latten@austin.ibm.com
In-Reply-To: <1270571197.2838.504.camel@faith.austin.ibm.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Tue, 6 Apr 2010 12:54:23 -0400
References: <1269638701.2838.303.camel@faith.austin.ibm.com> <EE0C2F9E065E634B84FC3BE36CF8A4B2034074E1@xmb-sjc-23e.amer.cisco.com> <1270571197.2838.504.camel@faith.austin.ibm.com>
X-Mailer: Apple Mail (2.936)
Cc: ipsec@ietf.org, avagarwa@redhat.com, "Scott Fluhrer \(sfluhrer\)" <sfluhrer@cisco.com>
Subject: Re: [IPsec] Question about RFC 5114
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipsec>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Apr 2010 16:54:28 -0000

> Thanks so much for the detail. It has helped greatly.
> I did take a look at NIST SP 800-56A section 5.6.2.4 for validating  
> the
> public value. I am in learning mode, so I found the 2nd step
> confusing...
> 1. Verify that 2 <= y <= p - 2
> 2. Verify that y^q = 1 (mod p)
>
> Are the parenthesis around "mod p" correct? This is how it is in the
> NIST doc.


Yes, the parens are correct.  That's just a more traditional notation  
for modular equivalence:

A = B (mod p)

is the same as saying (in C notation)

A % p == B % p

So in your case you would want to check:

y^q % p == 1

Hope this help,
--Richard