Hi John:

I do think your statements below got some things wrong:
a) Virtually all implementations of curve arithmetic for Weierstrass curves (including NIST curves, such as P-256) use a *lossless* representation of elliptic curve points, for which - in the case of the P-256 curve - no secure 256-bit representation is known (if you know one, I would be excited to learn about this). So, characterizing this as "change from 32 to 33 bytes" gets the order wrong, as the SECG, NIST, ANSI, and BSI specs show. {I am not sure whether RFC 6090 counts as a spec, since its purpose was mainly to document prior art for intellectual property reasons, and is known to be entirely insecure for any curve with co-factor greater than one (if only due to allowing small subgroup attacks.} b) Affine representations allow virtually zero-cost public-key validation of a received point (which most standards mandate), while allowing implementors to pick an implementation that suits their needs (taking into account development cost, existing platforms, etc.). As case in point, this allows use of table-assisted approaches, differential addition chains (e.g., Montgomery ladder), etc. Lossy representations may make some of the security checks less economical (and, thereby, promote moral hazards by implementors wishing to squeeze out more efficiency "because nobody would normally notice"). c) Montgomery ladders can be implemented with so-called y-coordinate recovery at the end of this calculation - see, e.g., https://datatracker.ietf.org/doc/html/draft-ietf-lwig-curve-representations-19#appendix-C. This fact has been known since 2002 or earlier.For formulas, see also Secion 4.2 of the lwig curve document.

Encoding format issues may negatively impact code reuse and reuse of existing standards, since can be used as artificial ‟moat around a solution”, making code reuse or algorithm agility economically less viable than these could/should be. For a detailed discussion of various representation aspects, see also https://datatracker.ietf.org/meeting/101/materials/slides-101-lwig-4-lwig-curve-representations-01.

Best regards, Rene

On 2021-02-11 6:19 a.m., John Mattsson wrote:

Hi Mohit,

A P-256 ECDH public key does not _/require/_ 33 bytes. EDHOC uses 32 bytes compact representation [RFC 6090] and there are a lot of people arguing that HPKE should do the same.

3GPP 5G already uses the 33 bytes compressed format from SECG in SUCI (I wrote part of that specification) but I now think it was a mistake.

The change from 32 to 33 bytes encoding affects more than just size. Forcing the implementation to calculate a y-coordinate significantly slows down the calculations as a x-coordinate only ladder cannot be used. I don’t think this change is good.

Also, referring to both 186-4 and SECG for the encoding seems strange. If the 33 byte encoding is kept, I think SECG only is enough.

John

*From: *Emu <emu-boun...@ietf.org> on behalf of Mohit Sethi M <mohit.m.sethi=40ericsson....@dmarc.ietf.org>
*Date: *Thursday, 9 July 2020 at 08:46
*To: *Russ Housley <hous...@vigilsec.com>
*Cc: *"emu@ietf.org" <emu@ietf.org>
*Subject: *Re: [Emu] I-D Action: draft-ietf-emu-aka-pfs-04.txt

Rene, Russ, and I had an offline email exchange about this issue. I think we are now in agreement that the public key for the NIST P-256 curve requires at least 33 bytes (in the compressed format).

Thus, we should update the draft to reflect the correct key size. Adding a reference to https://www.secg.org/SEC2-Ver-1.0.pdf <https://protect2.fireeye.com/v1/url?k=ee7f4584-b0df87c2-ee7f051f-86fc6812c361-2b60805fe723aebc&q=1&e=8fc33e3e-797f-4645-8a58-9177a3822ce7&u=https%3A%2F%2Fwww.secg.org%2FSEC2-Ver-1.0.pdf> and explicitly mentioning the use of the compressed format would also be beneficial.

--Mohit

On 6/24/20 11:04 PM, Russ Housley wrote:

    The ECDH public value in RFC 5480 is an OCTET STRING, which means that the 
value is exactly 32 bytes.  When this gets carried as a subject public key in a 
certificate, there is an extra byte only because the type is a BIT STRING.

    My conclusion is that the current draft is correct:

           *  For P-256, the length of this value is 32 bytes, encoded in

              binary as specified in [FIPS186-4].

    Russ

        On Jun 24, 2020, at 1:10 AM, Mohit Sethi 
M<mohit.m.sethi=40ericsson....@dmarc.ietf.org>  
<mailto:mohit.m.sethi=40ericsson....@dmarc.ietf.org>  wrote:

        Hi all,

        I am not a crypto expert and my knowledge of public key encodings is

        based on my work with Rene Struik for a different draft.

        The current text in draft-ietf-emu-aka-pfs-04 says "For P-256, the

        length of this value is 32 bytes, encoded in binary". Shouldn't this be

        33 bytes? And wouldn't it make sense to explicitly say that this is an

        octet string in the compressed format while referencing "SEC 1: Elliptic

        Curve Cryptography, Version 2.0" for the point to octet string

        conversion rules?

        --Mohit

        On 5/26/20 9:57 AM,internet-dra...@ietf.org  
<mailto:internet-dra...@ietf.org>  wrote:

            A New Internet-Draft is available from the on-line Internet-Drafts 
directories.

            This draft is a work item of the EAP Method Update WG of the IETF.

                     Title           : Perfect-Forward Secrecy for the 
Extensible Authentication Protocol Method for Authentication and Key Agreement 
(EAP-AKA' PFS)

                     Authors         : Jari Arkko

                                       Karl Norrman

                                       Vesa Torvinen

                    Filename        : draft-ietf-emu-aka-pfs-04.txt

                    Pages           : 26

                    Date            : 2020-05-25

            Abstract:

                Many different attacks have been reported as part of revelations

                associated with pervasive surveillance.  Some of the reported 
attacks

                involved compromising smart cards, such as attacking SIM card

                manufacturers and operators in an effort to compromise shared 
secrets

                stored on these cards.  Since the publication of those reports,

                manufacturing and provisioning processes have gained much 
scrutiny

                and have improved.  However, the danger of resourceful 
attackers for

                these systems is still a concern.

                This specification is an optional extension to the EAP-AKA'

                authentication method which was defined in 
[I-D.ietf-emu-rfc5448bis].

                The extension, when negotiated, provides Perfect Forward 
Secrecy for

                the session key generated as a part of the authentication run 
in EAP-

                AKA'.  This prevents an attacker who has gained access to the 
long-

                term pre-shared secret in a SIM card from being able to decrypt 
any

                past communications.  In addition, if the attacker stays merely 
a

                passive eavesdropper, the extension prevents attacks against 
future

                sessions.  This forces attackers to use active attacks instead.

            The IETF datatracker status page for this draft is:

            https://datatracker.ietf.org/doc/draft-ietf-emu-aka-pfs/  
<https://datatracker.ietf.org/doc/draft-ietf-emu-aka-pfs/>

            There are also htmlized versions available at:

            https://tools.ietf.org/html/draft-ietf-emu-aka-pfs-04  
<https://tools.ietf.org/html/draft-ietf-emu-aka-pfs-04>

            https://datatracker.ietf.org/doc/html/draft-ietf-emu-aka-pfs-04  
<https://datatracker.ietf.org/doc/html/draft-ietf-emu-aka-pfs-04>

            A diff from the previous version is available at:

            https://www.ietf.org/rfcdiff?url2=draft-ietf-emu-aka-pfs-04  
<https://www.ietf.org/rfcdiff?url2=draft-ietf-emu-aka-pfs-04>

            Please note that it may take a couple of minutes from the time of 
submission

            until the htmlized version and diff are available at tools.ietf.org.

            Internet-Drafts are also available by anonymous FTP at:

            ftp://ftp.ietf.org/internet-drafts/  
<ftp://ftp.ietf.org/internet-drafts/>

            _______________________________________________

            Emu mailing list

            Emu@ietf.org  <mailto:Emu@ietf.org>

            https://www.ietf.org/mailman/listinfo/emu  
<https://www.ietf.org/mailman/listinfo/emu>

        _______________________________________________

        Emu mailing list

        Emu@ietf.org  <mailto:Emu@ietf.org>

        https://www.ietf.org/mailman/listinfo/emu  
<https://www.ietf.org/mailman/listinfo/emu>

    _______________________________________________

    Emu mailing list

    Emu@ietf.org  <mailto:Emu@ietf.org>

    https://www.ietf.org/mailman/listinfo/emu  
<https://www.ietf.org/mailman/listinfo/emu>


_______________________________________________
Emu mailing list
Emu@ietf.org
https://www.ietf.org/mailman/listinfo/emu


--
email: rstruik....@gmail.com | Skype: rstruik
cell: +1 (647) 867-5658 | US: +1 (415) 287-3867

_______________________________________________
Emu mailing list
Emu@ietf.org
https://www.ietf.org/mailman/listinfo/emu

Reply via email to