CRYPTO 2017

Last week, Crypto 2017 took place at UC Santa Barbara. There were more than 425 attendees for this year’s 4-day conference, with 72 papers being presented.

Eclipse peeking through the cloudsMonday morning was interrupted by a very special coffee break: the ecliptic curve cryptography coffee break, a.k.a. viewing the solar eclipse. General Chair Steve Myers had very conveniently ordered solar eclipse glasses for everyone (from a legitimate vendor!). The sky was cloudy during the coffee break, but the eclipse occasionally peeked through, and the skies cleared afterward for a clearer view of the eclipse.

Later that morning, John Martinis, a physicist from UCSB, gave an invited lecture on the prospects of a quantum factoring (and, presumably, discrete logarithm-ing) machine.

On Monday afternoon, Yehuda Lindell gave a talk on his paper Fast Secure Two-Party ECDSA Signing. Fast protocols exist for many factoring-, discrete logarithm-, and elliptic curve-based signature and public key encryption schemes. DSA and ECDSA are tricky because signing involves operations both additive and multiplicative operations using $k$ and $k^{-1}$, but in a threshold scheme this must be done without knowing $k$. Past work by MacKenzie and Reiter (Crypto 2001) and Gennaro, Goldfeder, and Narayanan (ACNS 2016) gives two-party protocols for computing ECDSA using multiplicative sharing of the signing key $x$ and ephemeral secret $k$ and then Paillier encryption to combine their equations. Proving honest behaviour ends up being quite expensive, unfortunately. Lindell showed how to improve performance by simplifying the shared tasks that one of the party participates in while still using Paillier homomorphic encryption. The key idea is that the second party, before releasing the signature, can check whether the first party behaved honestly simply by checking the final signature, which is publicly checkable efficient by definition of a digital signature scheme. The paper reports experimental results that show that two-party signing for ECDSA (with the NIST P-256 curve) can be run in approximately 37 milliseconds. The techniques also apply to DSA.

Tuesday featured the three award papers. Sam Kim and David J. Wu won the best student paper award for Watermarking Cryptographic Functionalities from Standard Lattice Assumptions. Best paper awards went to Nico Döttling and Sanjam Garg for Identity-Based Encryption from the Diffie-Hellman Assumption and Marc Stevens, Elie Bursztein, Pierre Karpman, Ange Albertini, and Yarik Markov for The first collision for full SHA-1.

Döttling and Garg’s paper showed how to construct identity-based encryption from the computational Diffie–Hellman problem in any group, including elliptic curve groups. Previous results had shown it impossible to construct IBE in a black-box way from CDH, so this paper had to make non-black-box use of the underlying cryptographic primitives. While the scheme is polynomial-time, this non-black-box use ends up making the scheme quite inefficient. On Wednesday another paper expanded the set of assumptions from which one can construct identity-based encryption: Identity-based Encryption from Codes with Rank Metric.

R, S, and A on stage at the Crypto 2017 rump session Tuesday evening featured the annual rump session, including the program chair’s report, reminiscences, announcements, songs, joke talks, and, unfortunately, some serious talks too. Most poignant was the second talk, entitled “Forty years and still running”. Jean-Jacques Quisquater presented a list of cryptosystems still running after 40 years, including the DES/Triple-DES algorithm and the RSA cryptosystem. In fact, 2017 marks the 40th anniversary of the invention of RSA, and Quisquater had arranged a wonderful surprise: Ron Rivest, Adi Shamir, and Leonard Adleman were all present for the rump session, and they took the stage to commemorate this milestone.

Later in the rump session, Michael Naehrig, co-inventor of the Barreto–Naehrig (BN) family of elliptic curves, performed (via Youtube) his original song The Sound of Quantum.

On Wednesday, Cédric Fournet of Microsoft Research Cambridge gave the second invited talk on Project Everest, a massive multi-institution multi-year project to create a fully verified efficient implementation of the TLS protocol. One component of Everest is a verified implementation of Curve25519 in a language called HaCL*, which compiles down to verified C code. This invited lecture was a joint talk between Crypto 2017 and the 30th IEEE Computer Security Foundations Symposium (CSF), also taking place at UCSB last week.

The full proceedings of Crypto 2017 are available on SpringerLink:

Crypto 2018 will take place in August 2018 at—where else?—UC Santa Barbara.

— Douglas Stebila

Advertisements
Posted in Uncategorized | Leave a comment

Isogeny-based post-quantum crypto

I’ve been meaning to write about isogeny-based crypto for a long while. This area has steadily become more and more active and there are now many researchers working seriously on it. The main motivation is its potential to provide a key exchange primitive that is efficient enough for practical deployment, yet potentially secure against an adversary with a quantum computer.

The first suggestions to use isogenies in crypto were due to Couveignes (in a talk in 1997), Charles, Lauter and Goren (a hash function proposed in 2005) and Rostovtsev and Stolbunov (eprint, 2006). But the biggest impetus came from the paper by David Jao and Luca De Feo in PQCrypto 2011. This paper presents the supersingular isogeny Diffie-Hellman (SIDH) key exchange scheme that has potential to be post-quantum secure.

The first thing to note is that the Jao and De Feo scheme is based on supersingular elliptic curves. Readers might think: Supersingular curves are weak for classical crypto, and ECDLP is broken by Shor’s algorithm, so how can this be a good idea? The point is that we are no longer basing security on discrete logarithms, or any “algebraic” property of a specific elliptic curve. Instead, the basic structure is group homomorphisms between curves.

There are several reasons to be interested in supersingular isogeny crypto.

  • The pool of potential post-quantum assumptions is very small, and so all avenues need to be fully explored and tested.
  • There has been a huge body of knowledge and experience developed over the last 20 years in support of elliptic curve crypto, and so it is natural to try to continue using elliptic curves if possible.
  • Some of the underlying computational problems have already been considered by researchers in classical elliptic curve crypto and computational number theory, and so there is some good evidence that the assumptions are reasonable, at least against classical computers.
  • It is straightforward to choose parameters to achieve a given security level. In contrast, selecting parameters for lattice crypto that achieve a given security level is still problematic. For example, different models of how the BKZ algorithm performs lead to quite different results (although it is possible to make conservative choices that still lead to a practical scheme).

However, there are also several serious concerns about supersingular isogeny crypto.

  • One of the most serious concerns is that the systems have not been sufficiently scrutinised by researchers in quantum algorithms. A contributing factor is that there are significant mathematical preliminaries needed to fully understand isogeny crypto, and so it is not an easy field for non-experts to work in.
  • Another concern, especially in contrast to lattices, is that isogenies are not a very “expressive” tool. Lattice crypto has provided a rich suite of cryptographic functionalities including encryption, signatures, id-based crypto, homomorphic encryption, and more. On the other hand, the only practical isogeny crypto primitive known is key exchange. We do not even have a practical digital signature scheme based on isogenies (see Yoo et al in FC2017 and this paper, which is to appear at Asiacrypt 2017), and signatures are a relatively basic primitive.

The main conceptual idea of isogeny key exchange is the following: In the original Diffie-Hellman protocol Alice sends to Bob g^a and Bob sends to Alice g^b. One can interpret this in terms of group homomorphisms: Alice has a private group homomorphism \phi : G \to G defined by \phi(x) = x^a and Bob has a private group homomorphism \psi : G \to G defined by \psi(x) = x^b. Alice publishes \phi(g) and Bob publishes \psi(g). Alice completes the protocol by computing \phi( \psi(g )) and Bob computes \psi( \phi( g )). The homomorphisms commute so Alice and Bob compute the same key.

An isogeny is a group homomorphism from an elliptic curve E. An isogeny has a finite kernel G. So one can think of an isogeny as a homomorphism E \to E/G. The crucial fact is that there is a way to represent the image E/G in a form that does not reveal the group G. In other words, it is not represented using cosets, but as another elliptic curve.

The key exchange protocol is then seen to be analogous to the Diffie-Hellman protocol. Fix an elliptic curve E. Alice has a private subgroup G_A and a private isogeny (group homomorphism) \phi : E \to E/G_A. Bob has a private subgroup G_B and a private isogeny \psi : E \to E/G_B. Alice publishes \phi(P) for some points P \in E that enable Bob to compute \phi(G_B). Bob computes \psi( Q ) for some other points Q \in E that enable Alice to compute \psi( G_A ). Then Alice computes (E/G_B)/\psi(G_A) and Bob computes (E/G_A)/\phi(G_B) and in both cases they get the same elliptic curve (up to isomorphism) E/(G_A,G_B). For details see the paper by Jao and De Feo, or any of the other subsequent papers in the field.

One reason to choose supersingular elliptic curves is that it makes key generation and some computational and theoretical aspects of the protocol much more simple and efficient than if using other elliptic curves.

The fundamental computational problem underlying isogeny crypto is the problem: Given two elliptic curves E, E' to find an isogeny \phi : E \to E'. This has been studied by researchers since David Kohel’s thesis in the mid-1990s and is a well-established problem in computational number theory. Only exponential-time classical algorithms are known for this problem. Moving to quantum algorithms: Childs, Jao and Soukharev gave in 2014 a subexponential-time quantum algorithm for the ordinary curve case. However, for supersingular curves the only quantum algorithm known is by Biasse, Jao and Sankar and it requires exponential time and subexponential space. This gives further motivation to only consider the case of supersingular curves.

However, it is important to note that the Jao-De-Feo key exchange scheme relies on a weaker variant of this problem. In the scheme one gets two elliptic curves E, E' plus two pairs of points (P, \phi(P)) where \phi : E \to E' is an isogeny of known degree. Using these points one can generate exponentially many points (R, \phi(R)) on the graph of \phi. Is it possible to compute \phi using some kind of interpolation algorithm? Perhaps a quantum algorithm? A recent paper by Christophe Petit explores a novel classical approach to solving this variant of the isogeny problem, but currently these methods do not break practical versions of the SIDH scheme.

In conclusion, isogeny crypto is a very interesting and active area of research in crypto. However, more investigation is needed by researchers in quantum algorithms before we can be confident that it really is post-quantum secure. If you wish to learn more about the subject then I recommend this paper for a tutorial on the basic theory, and for a discussion of computational problems of interest.

— Steven Galbraith

Posted in Uncategorized | 2 Comments

Great animations explaining SIDH

There is a great blog post by Wouter Castryck on the COSIC research group (KU Leuven) website about supersingular Isogeny Diffie-Hellman (SIDH). I’ve been meaning to write about this for months but haven’t had the time. So in the meantime read about it here: Elliptic curves are quantum dead, long live elliptic curves.

— Steven Galbraith

Posted in Uncategorized | Leave a comment

CRYPTO and PQCRYPTO

The list of accepted papers to Crypto 2017 is now online. Some highlights for ECC fans include:

  • “The first collision for full SHA-1” by Marc Stevens, Elie Bursztein, Pierre Karpman, Ange Albertini and Yarik Markov
  • “Fast Secure Two-Party ECDSA Signing” by Yehuda Lindell
  • “Identity-Based Encryption from the Diffie-Hellman Assumption” by Nico Döttling and Sanjam Garg

The conference takes place August 20-24, 2017 in Santa Barbara.

The Eighth International Conference on Post-Quantum Cryptography (PQCrypto 2017)
takes place in Utrecht, the Netherlands, June 26–28, 2017.
The invited speakers are:

  •     Jaya Baloo
  •     Vadim Lyubashevsky
  •    Lieven Vandersypen

The list of acepted papers is available, and includes a session on isogeny-based crypto.

— Steven Galbraith

Posted in Uncategorized | Leave a comment

Eurocrypt 2017

Eurocrypt 2017 was hosted by the ENS crypto group in Paris, France. There were four talks of special interest to researchers in curve-based cryptography, and a couple of items in the Rump Session.

Twisted \mu_4-normal form for elliptic curves

David Kohel introduced the \mu_4-normal form for elliptic curves five years ago (at Indocrypt 2012). These curves are basically the “right way” to generalize Edwards curve arithmetic to characteristic 2. And they’re the right generalization not only mathematically, but also NIST-ically: existing standardized characteristic 2 curves cannot be transformed into \mu_4-normal form. David’s paper twists its way around that obstruction, for a small cost of two extra multiplications per point addition. These twisted \mu_4-normal curves are clearly the fastest and prettiest standard-compatible characteristic-2 elliptic curves out there. This is great news for binarophiles, and it will be interesting to see if implementers working on the hardware level can get much benefit from this.

Efficient compression of SIDH public keys

Joost Renes gave a remarkably accessible talk about his work with Craig Costello, David Jao, Patrick Longa, Michael Naehrig, and David Urbanik on compressing public keys for the Supersingular Isogeny Diffie–Hellman protocol. SIDH is the best-known supposedly-quantum-resistant elliptic curve cryptosystem; while it might be slow compared with other postquantum alternatives, its principal attraction for cryptographers is its particularly small keys. Well, those keys are now even smaller (330 bytes for 128-bit security)—but the interesting thing in this paper is a much-improved key compression algorithm, which runs an order of magnitude faster than previous methods.

Computation of a 768-bit prime field discrete logarithm

Thorsten Kleinjung gave a really nice talk on his record discrete logarithm computation with Claus Diem, Arjen Lenstra, Christine Priplata, and Colin Stahlke. Together they computed a discrete logarithm in a 768-bit prime field.
Why 768 bits? Because that matches the record for general integer factorization (from 2009, in a project that also included Thorsten and Arjen), which was computed with the General Number Field Sieve (GNFS); and GNFS is also what we use for prime-field discrete logs. In contrast to most recent finite-field discrete-log results which attack small-characteristic or pairing-related fields, this computation represents the state-of-the-art in the classic prime-field case.

The prime in question was p = [2^{766}\pi] + 6272, which is the smallest “safe prime” larger than 2^{766}\pi (“safe” meaning that (p-1)/2 is also prime, so that this represents the hardest case for generic algorithms applied to finite fields of the same size). The element 11 generates the multiplicative group of \mathbb{F}_p .

No doubt the question you are asking yourself right now is “what is the discrete logarithm of [2^{766}e] with respect to the base 11?”  Ask no more, for Thorsten has the answer: it’s 325923617918270562238615985978623709128341338833721058543950813521768156295091638348030637920237175638117352442299234041658748471079911977497864301995972638266781162575370644813703762423329783129621567127479417280687495231463348812.

…So now you know. But as Thorsten points out, the journey is more interesting than the final destination: using some clever techniques detailed in the paper, this calculation took much less time and effort (a whole order of magnitude!) than the authors expected. Before you get too excited, it still took 5300 core years—but if this isn’t the exact discrete logarithm you are looking for, computing another one in the same field will now only take two core days. From a cryptographic perspective, that two-core-day figure is especially interesting, because that’s the time required to break actual keys, after a 5-core-millennium precomputation depending only on the field.

A kilobit hidden SNFS discrete logarithm computation

Joshua Fried spoke about his work on with Pierrick Gaudry, Nadia Heninger, and Emmanuel Thomé about discrete logarithms in an even bigger prime field: 1024 bits. How can you compute discrete logs in such a large prime field? You cheat—or, I should say, the parameter generator cheats. Our estimates of the difficulty of these problems, and the cryptosystems that depend on them, are based on the performance of the General Number Field Sieve algorithm (GNFS). But Dan Gordon explained 25 years ago how to choose primes that are vulnerable to the much faster Special Number Field Sieve (SNFS)—but only if we know a secret backdoor, and detecting that backdoor is apparently infeasible. This project set up an instance of a backdoored 1024-bit prime, and then solved it.  This means that if you’re still using 1024-bit fields (and why are you doing such a thing in the twenty-first century?), then you should be extremely careful about their provenance. Kevin McCurley asked an interesting question: is Gordon’s backdoor optimal?

Speeding up the Huff form of elliptic curves

Gamze Orhon gave a lightning-fast presentation of her work with Huseyin Hisil on optimizing Huff curve arithmetic during the rump session. The key is viewing these curves as curves in \mathbb{P}^1\times\mathbb{P}^1, rather than \mathbb{P}^2. The details are in their preprint.

A database of discrete logarithm computations

Aurore Guillevic and Laurent Grémy have established a new reference website to help you keep track of records progress and progress in finite field discrete logarithm computations. It was about time we had a better solution than trawling the archives of the NMBRTHRY list! Laurent is hosting a front-end on his website, but what’s really nice is that the database itself is git-able.

—Ben Smith

Posted in Uncategorized | 3 Comments

ECC Conference 2017

The 21st Workshop on Elliptic Curve Cryptography will take place in Nijmegen, The Netherlands, November 13–15, 2017.

— Steven Galbraith

Posted in Uncategorized | Leave a comment

ECC 2017, Nijmegen November 13-15

The ECC 2017 conference will be held in Nijmegen, The Netherlands, November 13-15, 2017. There will be a school held before the conference on November 9-11.

More information is available at the conference page
https://ecc2017.cs.ru.nl/

Posted in Uncategorized | Leave a comment