23 research outputs found
Attacking (EC)DSA scheme with ephemeral keys sharing specific bits
In this paper, we present a deterministic attack on (EC)DSA signature scheme,
providing that several signatures are known such that the corresponding
ephemeral keys share a certain amount of bits without knowing their value. By
eliminating the shared blocks of bits between the ephemeral keys, we get a
lattice of dimension equal to the number of signatures having a vector
containing the private key. We compute an upper bound for the distance of this
vector from a target vector, and next, using Kannan's enumeration algorithm, we
determine it and hence the secret key. The attack can be made highly efficient
by appropriately selecting the number of shared bits and the number of
signatures
Safe-Errors on SPA Protected implementations with the Atomicity Technique
ECDSA is one of the most important public-key signature scheme, however it is vulnerable to lattice attack once a few bits of the nonces are leaked. To protect Elliptic Curve Cryptography (ECC) against Simple Power Analysis, many countermeasures have been proposed.
Doubling and Additions of points on the given elliptic curve require several additions and multiplications in the base field and this number is not the same for the two operations.
The idea of the atomicity protection is to use a fixed pattern, i.e. a small number of instructions and rewrite the two basic operations of ECC using this pattern. Dummy operations are introduced so that the different elliptic curve operations might be written with the same atomic pattern. In an adversary point of view, the attacker only sees a succession of patterns and is no longer able to distinguish which one corresponds to addition and doubling.
Chevallier-Mames, Ciet and Joye were the first to introduce such countermeasure.
In this paper, we are interested in studying this countermeasure and we show a new vulnerability since the ECDSA implementation succumbs now to C Safe-Error attacks. Then, we propose an effective solution to prevent against C Safe-Error attacks when using the Side-Channel Atomicity. The dummy operations are used in such a way that if a fault is introduced on one of them, it can be detected. Finally, our countermeasure method is generic, meaning that it can be adapted to all formulae. We apply our methods to different formulae presented for side-channel Atomicity
A Novel Related Nonce Attack for ECDSA
We describe a new related nonce attack able to extract the
original signing key from a small collection of ECDSA signatures generated with weak PRNGs. Under suitable conditions on the modulo order
of the PRNG, we are able to attack linear, quadratic, cubic as well as
arbitrary degree recurrence relations (with unknown coefficients) with
few signatures and in negligible time. We also show that for any collection of randomly generated ECDSA nonces, there is one more nonce that
can be added following the implicit recurrence relation, and that would
allow retrieval of the private key; we exploit this fact to present a novel
rogue nonce attack against ECDSA. Up to our knowledge, this is the
first known attack exploiting generic and unknown high-degree algebraic
relations between nonces that do not require assumptions on the value
of single bits or bit sequences (e.g. prefixes and suffixes)
Recovering Secrets From Prefix-Dependent Leakage
We discuss how to recover a secret bitstring given partial information obtained during a computation over that string, assuming the computation is a deterministic algorithm processing the secret bits sequentially. That abstract situation models certain types of side-channel attacks against discrete logarithm and RSA-based cryptosystems, where the adversary obtains information not on the secret exponent directly, but instead on the group or ring element that varies at each step of the exponentiation algorithm.
Our main result shows that for a leakage of a single bit per iteration, under suitable statistical independence assumptions, one can recover the whole secret bitstring in polynomial time. We also discuss how to cope with imperfect leakage, extend the model to -bit leaks, and show how our algorithm yields attacks on popular cryptosystems such as (EC)DSA
Recovering cryptographic keys from partial information, by example
Side-channel attacks targeting cryptography may leak only partial or indirect information about the secret keys. There are a variety of techniques in the literature for recovering secret keys from partial information. In this tutorial, we survey several of the main families of partial key recovery algorithms for RSA, (EC)DSA, and (elliptic curve) Diffie-Hellman, the public-key cryptosystems in common use today. We categorize the known techniques by the structure of the information that is learned by the attacker, and give simplified examples for each technique to illustrate the underlying ideas
Cache-Timing Techniques: Exploiting the DSA Algorithm
Side-channel information is any type of information leaked through unexpected channels due to physical features of a system dealing with data. The memory cache can be used as a side-channel, leakage and exploitation of side-channel information from the executing processes is possible, leading to the recovery of secret information. Cache-based side-channel attacks represent a serious threat to implementations of several cryptographic primitives, especially in shared libraries. This work explains some of the cache-timing techniques commonly used to exploit vulnerable software. Using a particular combination of techniques and exploiting a vulnerability found in the implementation of the DSA signature scheme in the OpenSSL shared library, a cache-timing attack is performed against the DSA’s sliding window exponentiation algorithm. Moreover, the attack is expanded to show that it is possible to perform cache-timing attacks against protocols relying on the DSA signature scheme. SSH and TLS are attacked, leading to a key-recovery attack: 260 SSH-2 handshakes to extract a 1024/160-bit DSA hostkey from an OpenSSH server, and 580 TLS 1.2 handshakes to extract a 2048/256-bit DSA key from an stunnel server
Finding Significant Fourier Coefficients: Clarifications, Simplifications, Applications and Limitations
Ideas from Fourier analysis have been used in cryptography for the last three
decades. Akavia, Goldwasser and Safra unified some of these ideas to give a
complete algorithm that finds significant Fourier coefficients of functions on
any finite abelian group. Their algorithm stimulated a lot of interest in the
cryptography community, especially in the context of `bit security'. This
manuscript attempts to be a friendly and comprehensive guide to the tools and
results in this field. The intended readership is cryptographers who have heard
about these tools and seek an understanding of their mechanics and their
usefulness and limitations. A compact overview of the algorithm is presented
with emphasis on the ideas behind it. We show how these ideas can be extended
to a `modulus-switching' variant of the algorithm. We survey some applications
of this algorithm, and explain that several results should be taken in the
right context. In particular, we point out that some of the most important bit
security problems are still open. Our original contributions include: a
discussion of the limitations on the usefulness of these tools; an answer to an
open question about the modular inversion hidden number problem