2439 results
Analysis of Efficient Techniques for Fast Elliptic Curve Cryptography on x86-64 based Processors
In this work, we analyze and present experimental data evaluating the efficiency of several techniques for speeding up the computation of elliptic curve point multiplication on emerging x86-64 processor architectures. In particular, we study the efficient combination of such techniques as elimination of conditional branches and incomplete reduction to achieve fast field arithmetic over GF(p). Furthermore, we study the impact of (true) data dependencies on these processors and propose several generic techniques to reduce the number of pipeline stalls, memory reads/writes and function calls. We also extend these techniques to field arithmetic over GF(p^2), which is utilized as underlying field by the recently proposed Galbraith-Lin-Scott (GLS) method to achieve higher performance in the point multiplication. By efficiently combining all these methods with state-of-the-art elliptic curve algorithms we obtain high-speed implementations of point multiplication that are up to 31% faster than the best previous published results on similar platforms. This research is crucial for advancing high-speed cryptography on new emerging processor architectures.
Co-Z Addition Formulae and Binary Ladders on Elliptic Curves
Meloni recently introduced a new type of arithmetic on elliptic curves when adding projective points sharing the same Z-coordinate. This paper presents further co-Z addition formulae (and register allocations) for various point additions on Weierstrass elliptic curves. It explains how the use of conjugate point addition and other implementation tricks allow one to develop efficient scalar multiplication algorithms making use of co-Z arithmetic. Specifically, this paper describes efficient co-Z based versions of Montgomery ladder and Joye’s double-add algorithm. Further, the resulting implementations are protected against a large variety of implementation attacks.
Efficient Techniques for High-Speed Elliptic Curve Cryptography
In this paper, a thorough bottom-up optimization process (field, point and scalar arithmetic) is used to speed up the computation of elliptic curve point multiplication and report new speed records on modern x86-64 based processors. Our different implementations include elliptic curves using Jacobian coordinates, extended Twisted Edwards coordinates and the recently proposed Galbraith-Lin-Scott (GLS) method. Compared to state-of-the-art implementations on identical platforms the proposed techniques provide up to 30% speed improvements. Additionally, compared to the best previous published results on similar platforms improvements up to 31% are observed. This research is crucial for advancing high speed cryptography on new emerging processor
architectures.
Fast Exhaustive Search for Polynomial Systems in $F_2$
We analyze how fast we can solve general systems of multivariate
equations of various low degrees over \GF{2}; this is
a well known hard problem which is important both in itself and
as part of many types of algebraic cryptanalysis. Compared to the standard
exhaustive-search technique, our improved approach is more
efficient both asymptotically and practically.
We implemented several optimized versions of our techniques on CPUs and GPUs. Modern graphic cards allows our technique to run more than 10 times faster than the most powerful CPU available. Today, we can solve 48+ quadratic equations in 48 binary variables on a NVIDIA GTX 295 video card (USD 500) in 21 minutes.
With this level of performance, solving systems of equations supposed to ensure a security level of 64 bits turns out to be feasible in practice with a modest budget. This is a clear demonstration of the power of GPUs in solving many types of combinatorial and cryptanalytic problems.
Combining leak--resistant arithmetic for elliptic curves defined over $\F_p$ and RNS representation
In this paper we combine the residue number system (RNS) representation
and the leak-resistant arithmetic on elliptic curves. These two techniques are relevant for implementation of elliptic curve
cryptography on embedded devices.\\
% since they have leak-resistance properties.
It is well known that the RNS multiplication is very efficient whereas the reduction step is costly. Hence, we optimize formulae for basic operations arising in leak-resistant arithmetic on elliptic curves (unified addition, Montgomery ladder) in order to minimize the number of modular reductions. We also improve the complexity of the RNS modular reduction step. As a result, we show how to obtain a competitive secured implementation.\\
Finally, %we recall the main advantages of the RNS representation,
%especially in hardware and for embedded devices, and
we show that,
contrary to other approaches, ours takes optimally the advantage of a dedicated parallel
architecture.
Optimal Average Joint Hamming Weight and Minimal Weight Conversion of d Integers
In this paper, we propose the minimal joint Hamming weight conversion for any binary expansions of $d$ integers. With redundant representations, we may represent a number by many expansions, and the minimal joint Hamming weight conversion is the algorithm to select the expansion that has the least joint Hamming weight. As the computation time of the cryptosystem strongly depends on the joint Hamming weight, the conversion can make the cryptosystem faster. Most of existing conversions are limited to some specific representations, and are difficult to apply to other representations. On the other hand, our conversion is applicable to any binary expansions. The proposed can explore the minimal average weights in a class of representation that have not been found. One of the most interesting results is that, for the expansion of integer pairs when the digit set is $\{0, \pm 1, \pm 3\}$, we show that the minimal average joint Hamming weight is $0.3575$. This improves the upper bound value, $0.3616$, proposed by Dahmen, Okeya, and Takagi.
Virtual Secure Circuit: Porting Dual-Rail Pre-charge Technique into Software on Multicore
This paper discusses a novel direction for multicore cryptographic
software, namely the use of multicore to protect a design against
side-channel attacks. We present a technique which is based on the
principle of dual-rail pre-charge, but which can be completely
implemented in software. The resulting protected software is called
a Virtual Secure Circuit (VSC). Similar to the dual-rail pre-charge
technique, a VSC executes as two complementary programs on two
identical processor cores. Our key contributions include (1) the
analysis of the security properties of a VSC, (2) the construction
of a VSC AES prototype on a dual-PowerPC architecture, (3) the
demonstration of VSC's protection effectiveness with real
side-channel attack experiments. The attack results showed that the
VSC protected AES needs 80 times more measurements than the
unprotected AES to find the first correct key byte. Even one million
measurements were not sufficient to fully break VSC protected AES,
while unprotected AES was broken using only 40000 measurements. We
conclude that VSC can provide a similar side-channel resistance as
WDDL, the dedicated hardware equivalent of dual-rail pre-charge.
However, in contrast to WDDL, VSC is a software technique, and
therefore it is flexible.
Cube Test Analysis of the Statistical Behavior of CubeHash and Skein
This work analyzes the statistical properties of the SHA-3 candidate cryptographic hash algorithms CubeHash and Skein to try to find nonrandom behavior. Cube tests were used to probe each algorithm's internal polynomial structure for a large number of choices of the polynomial input variables. The cube test data were calculated on a 40-core hybrid SMP cluster parallel computer. The cube test data were subjected to three statistical tests: balance, independence, and off-by-one. Although isolated statistical test failures were observed, the balance and off-by-one tests did not find nonrandom behavior overall in either CubeHash or Skein. However, the independence test did find nonrandom behavior overall in both CubeHash and Skein.
On FPGA-based implementations of Gr\{o}stl
The National Institute of Standards and Technology (NIST) has started a competition for a new secure hash standard. To make a significant comparison between the submitted candidates, third party implementations of all proposed hash functions are needed. This is one of the reasons why the SHA-3 candidate Gr\{o}stl has been chosen for a FPGA-based implementation.
Mainly our work is motivated by actual and future developments of the automotive market (e.g. car-2-car communication systems), which will increase the necessity for a suitable cryptographic infrastructure in modern vehicles (cf. AUTOSAR project) even further. One core component of such an infrastructure is a secure cryptographic hash function, which is used for a lot of applications like challenge-response authentication systems or digital signature schemes. Another motivation to evaluate Gr\{o}stl is its resemblance to AES.
The automotive market demands, like any mass market, low budget and therefore compact implementations, hence our evaluation of Gr\{o}stl focuses on area optimizations. It is shown that, while Gr\{o}stl is inherently quite large compared to AES, it is still possible to implement the Gr\{o}stl algorithm on small and low budget FPGAs like the second smallest available Spartan-3, while maintaining a reasonable high throughput.
Modeling Attacks on Physical Unclonable Functions
We show in this paper how several proposed Physical Unclonable Functions (PUFs)
can be broken by numerical
modeling attacks. Given a set of challenge-response pairs (CRPs) of a PUF, our attacks construct a computer algorithm
which behaves indistinguishably from the original PUF on almost all CRPs. This algorithm can subsequently impersonate
the PUF, and can be cloned and distributed arbitrarily. This breaks the security of essentially all applications and
protocols that are based on the respective PUF.
The PUFs we attacked successfully include standard Arbiter PUFs and Ring Oscillator PUFs of arbitrary sizes, and XOR Arbiter PUFs, Lightweight Secure PUFs, and Feed-Forward Arbiter PUFs of up to a given size and complexity.
Our attacks are based upon various machine learning techniques,
including Logistic Regression and Evolution Strategies. Our work will be useful to PUF designers and attackers alike.
Practical NFC Peer-to-Peer Relay Attack using Mobile Phones
NFC is a standardised technology providing short-range RFID communication channels for mobile devices. Peer-to-peer applications for mobile devices are receiving increased interest and in some cases these services are relying on NFC communication. It has been suggested that NFC systems are particularly vulnerable to relay attacks, and that the attacker's proxy devices could even be implemented using off-the-shelf NFC-enabled devices. This paper describes how a relay attack can be implemented against systems using legitimate peer-to-peer NFC communication by developing and installing suitable MIDlets on the attacker's own NFC-enabled mobile phones. The attack does not need to access secure program memory nor use any code signing, and can use publicly available APIs. We go on to discuss how relay attack countermeasures using device location could be used in the mobile environment. These countermeasures could also be applied to prevent relay attacks on contactless applications using `passive' NFC on mobile phones.
Type-II Optimal Polynomial Bases
In the 1990s and early 2000s several papers investigated the relative merits of polynomial-basis and normal-basis computations for $\F_{2^n}$. Even for particularly squaring-friendly applications, such as implementations of Koblitz curves, normal bases fell behind in performance unless a type-I normal basis existed for $\F_{2^n}$.
In 2007 Shokrollahi proposed a new method of multiplying in a type-II normal basis. Shokrollahi's method efficiently transforms the normal-basis multiplication into a single multiplication of two size-$(n+1)$ polynomials.
This paper speeds up Shokrollahi's method in several ways. It first presents a simpler algorithm that uses only size-$n$ polynomials. It then explains how to reduce the transformation cost by dynamically switching to a `type-II optimal polynomial basis' and by using a new reduction strategy for multiplications that produce output in type-II polynomial basis.
As an illustration of its improvements, this paper explains in detail how the multiplication overhead in Shokrollahi's original method has been reduced by a factor of $1.4$ in a major cryptanalytic computation, the ongoing attack on the ECC2K-130 Certicom challenge. The resulting overhead is also considerably smaller than the overhead in a traditional low-weight-polynomial-basis approach. This is the first state-of-the-art binary-elliptic-curve computation in which type-II bases have been shown to outperform traditional low-weight polynomial bases.
New logic minimization techniques with applications to cryptology.
A new technique for combinational circuit optimization
is described in the context of S-boxes.
The technique is a two-step process. In
the first step, the non-linearity of the circuit -- as measured
by the number of non-linear gates it contains -- is
reduced. The second step reduces the number of gates in
the linear components of the already reduced circuit.
The technique can be applied to arbitrary circuits, and seems
to yield improvements even on circuits that have
already been optimized by standard methods. We apply our technique
to the S-box of the Advanced Encryption Standard (AES).
The result is, as far as we know, the
smallest circuit yet constructed for this function.
A Hardware Wrapper for the SHA-3 Hash Algorithms
The second round of the NIST public competition is underway to find a new hash algorithm(s) for inclusion in the NIST Secure Hash Standard (SHA-3). Computational efficiency of the algorithms in hardware is to be addressed during the second round of the contest.
For software implementations NIST specifies an application programming interface (API) along with reference implementation for each of the designs, thereby enabling quick and easy comparison and testing on software platforms, however no such specification was given for hardware analysis. In this paper we present a hardware wrapper interface which attempts to encompass all the competition entries (and indeed, hash algorithms in general) across any number of both FPGA and ASIC hardware platforms. This interface comprises communications and padding, and attempts to standardise the hashing algorithms to allow accurate and fair area, timing and power measurement between the different designs.
An Improved Timing Attack with Error Detection on RSA-CRT
Several types of timing attacks have been published, but they are either in theory or hard to be taken into practice. In order to improve the feasibility of attack, this paper proposes an advance timing attack scheme on RSA-CRT with T-test statistical tool. Similar timing attacks have been presented, such as BB-Attack and Shindler’s attack, however none of them applied statistical tool in their methods with such efficiency, and showed the complete recovery in practice by attacking on RSA-CRT. With T-test, we enlarge the 0-1 gap, reduce the neighborhood size and improve the precision of decision. However, the most contribution of this paper is that our algorithm has an error detection property which can detect the erroneous decision of guessing qk and correct it. We could make the success rate of recovering q to be 100% indeed for interprocess timing attack, recovery 1024bits RSA key completely in practice.
Parallel Shortest Lattice Vector Enumeration on Graphics Cards
In this paper we present an algorithm for parallel exhaustive search for short vectors in lattices. This algorithm can be applied to a wide range of parallel computing systems. To illustrate the algorithm, it was implemented on graphics cards using CUDA, a programming framework for NVIDIA graphics cards. We gain large speedups compared to previous serial CPU implementations. Our implementation is almost 5 times faster in high lattice dimensions.
Exhaustive search is one of the main building blocks for lattice basis reduction in cryptanalysis. Our work results in an advance in practical lattice reduction.
ECC2K-130 on Cell CPUs
This paper describes an implementation of Pollard's rho algorithm to
compute the elliptic curve discrete logarithm for the Synergistic
Processor Elements of the Cell Broadband Engine Architecture.
Our implementation targets
the elliptic curve discrete logarithm problem defined in the Certicom
ECC2K-130 challenge. We compare a bitsliced implementation to a
non-bitsliced implementation and describe several optimization
techniques for both approaches. In particular, we address the question whether normal-basis or polynomial-basis representation of field elements leads to better performance. Using our software, the ECC2K-130 challenge can be solved in one year using the
Synergistic Processor Units of less than 2700
Sony Playstation~3 gaming consoles.
Fault Resistant RSA Signatures: Chinese Remaindering in Both Directions
Fault attacks are one of the most severe attacks against secure embedded cryptographic implementations. Block ciphers such as AES, DES or public key algorithms such as RSA can be broken with as few as a single or a handful of erroneous computation results. Many countermeasures have been proposed both at the algorithmic level and using ad-hoc methods. In this paper, we address the problem of finding efficient countermeasures for RSA signature computations based on the Chinese Remainder Theorem for which one uses the inverse operation (verification) in order to secure the algorithm against fault attacks. We propose new efficient methods with associated security proofs in two different models; our methods
protect against run-time errors, computation errors, and most permanent errors in the key parameters as well. We also extend our methods with infective computation strategies to secure the algorithm against double faults.
Evaluation of Hardware Performance for the SHA-3 Candidates Using SASEBO-GII
As a result of extensive analyses on cryptographic hash functions, NIST started an open competition for selecting a new standard hash function SHA-3. One important aspect of this competition is in evaluating hardware implementations and in collecting much attention of researchers in this area. For a fair comparison of the hardware performance, we propose an evaluation platform, a hardware design strategy, and evaluation criteria that must be consistent for all SHA-3 candidates. First, we define specifications of interface for the SASEBO-GII platform that are suitable for evaluating the performance in real-life hash applications, while one can also evaluate the performance of the SHA-3 core function that has an ideal interface. Second, we discuss the design strategy for high-throughput hardware implementations. Lastly, we explain the evaluation criteria to compare the cost and speed performance of eight SHA-3 candidates out of fourteen.
Towards Side-Channel Resistant Block Cipher Usage or Can We Encrypt Without Side-Channel Countermeasures?
Based on re-keying techniques by Abdalla, Bellare, and Borst [1,2], we consider two black-box secure block cipher based symmetric encryption schemes, which we prove secure in the physically observable
cryptography model. They are proven side-channel secure against a strong type of adversary that can adaptively choose the leakage function as long as the leaked information is bounded. It turns out that our simple construction is side-channel secure against all types of attacks that satisfy some reasonable assumptions. In particular, the security turns out to be negligible in the block cipher’s block size n, for all attacks. We also show that our ideas result in an interesting alternative to the implementation of block ciphers using different logic styles or masking countermeasures.
Skew-Frobenius map on twisted Edwards curve
In this paper, we consider the Frobenius endomorphism on twisted Edwards curve and give the characteristic polynomial of the map. Applying the Frobenius endomorphism on twisted Edwards curve, we construct a skew-Frobenius map defined on the quadratic twist of an twisted Edwards curve. Our results show that the Frobenius endomorphism on twisted Edwards curve and the skew-Frobenius endomorphism on quadratic twist of an twisted Edwards curve can be exploited to devise fast point multiplication algorithm that do not use any point doubling. As an application, the GLV method can be used for speeding up point multiplication on twisted Edwards curve.
A Comparative Analysis of Delay Based PUF Implementations on FPGA
Physical Unclonable Functions promise cheap, efficient, and secure identification and authentication of devices. In FPGA devices, PUFs may be instantiated directly from FPGA fabric components in order to exploit the propagation delay differences of signals caused by manufacturing process variations. Multiple delay based PUF architectures have been proposed. However, we have observed inconsistent results among them. Ring Oscillator PUF works fine, while other delay based PUFs show a significantly lower quality. Rather than proposing complex system level solutions, we focus on the fundamental building blocks of the PUF. In our effort to compare the various delay based PUF architectures, we have closely examined how each architecture maps into the FPGA fabric. Our conclusions are that arbiter and butterfly PUF architectures are ill suited for FPGAs, because delay skew due to routing asymmetry is over 10 times higher than the random variation due to manufacturing process. On the other hand, ring oscillator PUF does not suffer from the same limitations.
Secure Multiparty AES (full paper)
We propose several variants of a secure multiparty computation
protocol for AES encryption. The best variant requires $2200 +
\frac{400}{255}$ expected elementary operations in expected $70 +
\frac{20}{255}$ rounds to encrypt one 128-bit block with a 128-bit
key. We implemented the variants using VIFF, a software framework for
implementing secure multiparty computation (MPC).
Tests with three players (passive security against
at most one corrupted player) in a local network showed that one block
can be encrypted in 2 seconds. We also argue that this result could be
improved by an optimized implementation. The security requirements are
the same as for the underlying MPC scheme.
An FPGA Technologies Area Examination of the SHA-3 Hash Candidate Implementations
This paper presents an examination of the different FPGA architectures used to implement the various hash function candidates for the currently ongoing NIST-organised SHA-3 competition~\cite{Sha3NIST}. This paper is meant to be used as both a quick reference guide used in conjunction with the results table~\cite{Sha3zoo} as an aid in finding the ”best-fit” FPGA for a particular algorithm, as well as a helpful guide for explaining the many different terms and measurement units used in the various FPGA packages.
On the Design and Implementation of an Efficient DAA Scheme
Direct Anonymous Attestation (DAA) is an anonymous digital signature scheme that aims to provide both signer authentication and privacy. One of the properties that makes DAA an attractive choice in practice is the split signer role. In short, a principal signer (a Trusted Platform Module (TPM)) signs messages in collaboration with an assistant signer (the Host, a standard computing platform into which the TPM is embedded). This split aims to harness the high level of security
offered by the TPM, and augment it using the high level of computational and storage ability oered by the Host. Our contribution in this paper is a modication to an existing pairing-based DAA scheme that signicantly improves efficiency, and a comparison with the original RSA-based DAA scheme via a concrete implementation.
New Addition Operation and Its Application for Scalar Multiplication on Hessian Curves over Prime Fields
In this paper, we present a new addition operation on Hessian curves with low cost.
It can be applied to resist the side channel attacks for scalar multiplication,
and also can be used to compute precomputation points for window-based
scalar multiplication on Hessian curves over prime fields.
We propose two new precomputation schemes
that are shown to achieve the lowest cost among all known methods.
By using the fractional $w$NAF and fractional $wmb$NAF,
if $n=192$ bits and $1I\approx30M$, scheme 1 can save up to $31M$,
scheme 2 can save up to $28M$ with $w\geq 6$, where $I$, $M$ represent
the inversion and the multiplication, respectively.
A Diagonal Fault Attack on the Advanced Encryption Standard
The present paper develops an attack on the AES algorithm,
exploiting multiple byte faults in the state matrix. The
work shows that inducing a random fault anywhere in one of the four diagonals
of the state matrix at the input of the
eighth round of the cipher leads to the deduction of the entire AES key.
We also propose a more generalized fault attack which works if the fault induction does
not stay confined to one diagonal.
To the best of our knowledge, we present for the first time actual chip results
for a fault attack on an iterative AES hardware running on a Xilinx FPGA platform.
We show that when the fault stays within a diagonal, the AES key can be deduced with a brute force complexity of
approximately $2^{32}$, which was successfully performed in about $400$ seconds
on an Intel Xeon Server with $8$ cores. We show further that even if the
fault induction corrupts two
or three diagonals, $2$ and $4$ faulty ciphertexts are necessary to
uniquely identify the correct key.
Faster Squaring in the Cyclotomic Subgroup of Sixth Degree Extensions
This paper describes an extremely efficient squaring operation in the so-called `cyclotomic subgroup' of $\F_{q^6}^{\times}$, for $q \equiv 1 \bmod{6}$. This result arises from considering the Weil restriction of scalars of this group from $\F_{q^6}$ to $\F_{q^2}$, and provides efficiency improvements for both pairing-based and
torus-based cryptographic protocols.
Optimal pairing revisited
Vercauteren introduced
a notion of optimal pairings. Up to know the only known optimal
pairing is the optimal Ate pairing. In this paper, we give some
properties of optimal pairing and provide an algorithm for finding
an optimal pairing if there exists one which is defined on the given
elliptic curve. Applying the cyclotomic polynomial, we construct
some new optimal pairings and provide a construction method of
pairing-friendly elliptic curves on which the optimal pairing can be
defined. Our algorithm is explicit and works for arbitrary embedding
degree $k$ and large prime subgroup orders $r$.
On the Security Vulnerabilities of a Hash Based Strong Password Authentication Scheme
User authentication is an essential task for network security. To serve this purpose,in the past years, several strong password
authentication schemes have been proposed, but none of them probably withstand to known security threats. In 2004, W.
C. Ku proposed a new hash based strong password authentication scheme and claimed that the proposed scheme withstands
to replay, password fie compromise, denial of service and insider attack. This paper analyzes W. C. Ku’s scheme and found
that the proposed scheme does not support mutual authentication, session key generation phase for secure communication.
In addition, in W. C. Ku’s scheme, the user is not free to change his password. However, in this paper, we show that W. C.
Ku’s scheme is still vulnerable to insider, man in the middle, password guessing, replay, impersonation, stolen verifier and
denial of service attacks.
Breaking ECC2K-130
Elliptic-curve cryptography is becoming the standard public-key
primitive not only for mobile devices but also for high-security
applications.
Advantages are the higher cryptographic
strength per bit in comparison with RSA and the higher speed in
implementations.
To improve understanding of the exact strength of the elliptic-curve
discrete-logarithm problem, Certicom has published a series of
challenges. This paper describes breaking the ECC2K-130 challenge
using a parallelized version of Pollard's rho method.
This is a major computation bringing together the contributions of
several clusters of conventional computers, PlayStation~3 clusters,
computers with powerful graphics cards and FPGAs. We also give
/preseestimates for an ASIC design. In particular we present * our choice and analysis of the iteration function for the rho method; * our choice of finite field arithmetic and representation;
* detailed descriptions of the implementations on a multitude of
platforms: CPUs, Cells, GPUs, FPGAs, and ASICs; * details about running the attack.
High-Speed Hardware Implementations of BLAKE, Blue Midnight Wish, CubeHash, ECHO, Fugue, Grøstl, Hamsi, JH, Keccak, Luffa, Shabal, SHAvite-3, SIMD, and Skein
In this paper we describe our high-speed hardware implementations of the 14 candidates of the second evalution round of the \mbox{SHA-3} hash function competition. We synthesized all implementations using a uniform tool chain, standard-cell library, target technology, and optimization heuristic. This work provides the fairest comparison of all second-round candidates to date.
Side-Channel Analysis of Cryptographic Software via Early-Terminating Multiplications
The design of embedded processors demands a careful trade-off between many conflicting objectives such as performance, silicon area and power consumption. Finding such a trade-off can often ignore the issue of security, which can cause, otherwise secure, software to leak information through so-called micro-architectural side channels. In this paper we show that early-terminating integer multipliers found in many embedded processors (e.g., ARM7TDMI) represent an instance of this problem. The early-termination mechanism causes differences in the time taken to compute a multiplication depending on the magnitude of the operands (e.g., up to three clock cycles on an ARM7TDMI processor), which are observable via variations in execution time and power consumption. Exploiting the early-termination mechanism makes Simple Power Analysis (SPA) attacks relatively straightforward to conduct, and may even allow one to attack implementations with integrated countermeasures that would not leak any information when executed on a processor with a constant-latency multiplier. We describe a number of case studies, including both public-key (RSA, ECIES) and secret-key algorithms (RC6, AES), to demonstrate the threat posed by early-terminating multipliers. Furthermore, we describe an implementation of one such attack on an implementation of AES, where we were able the extract the entire key using just eight power traces.
Lightweight Cryptography - Cryptographic Engineering for a Pervasive World
In the near future myriads of low-cost pervasive computing devices will enable the ubiquitous computing era that is widely believed to be the next paradigm in computing. Along with all its benefits come new security and privacy risks, which, given the severe cost constraints, provide a remarkable challenge. The thesis at hand provides an engineering approach to lightweight cryptography, a research field that aims at providing low-cost cryptographic solutions for constrained devices. Trade-offs for lightweight cryptography are discussed and, since this thesis has a strong emphasis on hardware implementations, application specific integrated circuit design is briefly introduced. Several lightweight cryptographic primitives for encryption, hashing and identification schemes are presented and their implementation for software and hardware platforms is discussed in detail.
Multi-core Implementation of the Tate Pairing over Supersingular Elliptic Curves
This paper describes the design of a fast multi-core library for the cryptographic Tate pairing over supersingular elliptic curves. For the computation of the reduced modified Tate pairing over $\mathbb{F}_{3^{509}}$, we report calculation times of just $2.94$ ms and $1.87$ ms on the Intel Core2 and Intel Core i7 architectures, respectively. We also try to answer one important design question that surges: how many cores should be utilized for a given application?
On the security of oscillator-based random number generators
Physical random number generators (a.k.a. TRNGs) appear to be
critical components of many cryptographic systems. Yet, such
building blocks are still too seldom provided with a formal
assessment of security, in comparison to what is achieved for
conventional cryptography. In this work, we present a comprehensive
statistical study of TRNGs based on the sampling of an oscillator
subject to phase noise (a.k.a. phase jitters). This classical
layout, typically instantiated with a ring oscillator, provides a
simple and attractive way to implement a TRNG on a chip. Our
mathematical study allows one to evaluate and control the main
security parameters of such a random source, including its entropy
rate and the biases of certain bit patterns, provided that a small
number of physical parameters of the oscillator are known. In order
to evaluate these parameters in a secure way, we also provide an
experimental method for filtering out the global perturbations
affecting a chip and possibly visible to an attacker. Finally, from
our mathematical model, we deduce specific statistical tests
applicable to the bit stream of a TRNG. In particular, in the case
of an insecure configuration, we show how to recover the parameters
of the underlying oscillator.
Higher-order Masking and Shuffling for Software Implementations of Block Ciphers
Differential Power Analysis (DPA) is a powerful side channel key recovery attack that efficiently breaks block ciphers implementations. In software, two main techniques are usually applied to thwart them: masking and operations shuffling. To benefit from the advantages of the two techniques, recent works have proposed to combine them. However, the schemes which have been
designed until now only provide limited resistance levels and some
advanced DPA attacks have turned out to break them. In this paper,
we investigate the combination of masking and shuffling. We moreover
extend the approach with the use of higher-order masking and we
show that it enables to significantly improve the security level of
such a scheme. We first conduct a theoretical analysis in which the
efficiency of advanced DPA attacks targeting masking and shuffling
is quantified. Based on this analysis, we design a generic scheme
combining higher-order masking and shuffling. This scheme is
scalable and its security parameters can be chosen according to any
desired resistance level. As an illustration, we apply it to protect
a software implementation of AES for which we give several
security/efficiency trade-offs.
An Efficient Method for Random Delay Generation in Embedded Software
Random delays are a countermeasure against a range of side channel and fault attacks that is often implemented in embedded software. We propose a new method for generation of random delays and a criterion for measuring the efficiency of a random delay countermeasure. We implement this new method along with the existing ones on an 8-bit platform and mount practical side-channel attacks against the implementations. We show that the new method is significantly more secure in practice than the previously published solutions and also more lightweight.
A Tree Based Recursive Scheme for Space Efficient Secret Sharing
This paper presents a k-out-of-n recursive secret sharing scheme based on an n-ary tree data structure. In recursive hiding of secrets, the user encodes additional secrets in the shares of the secret intended to be original shared without an expansion in the size of the latter, thereby decreasing the effective share size per secret and increasing the overall space efficiency of secret sharing, with a trade-off in security. The proposed scheme has applications in secure distributed storage and information dispersal protocols. It may be used as a steganographic channel to transmit hidden information in secret sharing, which may be used for authentication and verification of shares and the reconstructed secret itself.
Fast Architectures for the $\eta_T$ Pairing over Small-Characteristic Supersingular Elliptic Curves
This paper is devoted to the design of fast parallel accelerators for the cryptographic $\eta_T$ pairing on supersingular elliptic curves over finite fields of characteristics two and three. We propose here a novel hardware implementation of Miller's algorithm based on a parallel pipelined Karatsuba multiplier. After a short description of the strategies we considered to design our multiplier, we point out the intrinsic parallelism of Miller's loop and outline the architecture of coprocessors for the $\eta_T$ pairing over $\mathbb{F}_{2^m}$ and $\mathbb{F}_{3^m}$. Thanks to a careful choice of algorithms for the tower field arithmetic associated with the $\eta_T$ pairing, we manage to keep the pipelined multiplier at the heart of each coprocessor busy. A final exponentiation is still required to obtain a unique value, which is desirable in most cryptographic protocols. We supplement our pairing accelerators with a coprocessor responsible for this task. An improved exponentiation algorithm allows us to save hardware resources.
According to our place-and-route results on Xilinx FPGAs, our designs improve both the computation time and the area-time trade-off compared to previously published coprocessors.
The Application of Polynomials over the Field of Two Elements to a Problem in Intellectual Property
It is a routine task to convert a digital circuit to a system
of polynomial equations over GF(2). A very well-studied set
of tools called ``SAT-solvers'', which solve Conjunctive Normal
Form logical satisfiability problems, can be used to determine
if two circuits are equivalent, as is commonly done in
computer engineering. An interesting problem in intellectual
property is to determine if two circuits are identical but
subject to an unknown permutation of the inputs and outputs.
This could be of interest if a manufacturer suspects his
encryption circuit has been stolen. While this is easily shown
to be a sub-problem of the famously hard “isomorphism of
polynomials” problem, we show that in fact it can be easily
solved via conversion to a polynomial system of equations over
GF(2), and is only slightly harder than if the permutations
were in fact known.
Hardware Accelerator for the Tate Pairing in Characteristic Three Based on Karatsuba-Ofman Multipliers
This paper is devoted to the design of fast parallel accelerators
for the cryptographic Tate pairing in characteristic three over
supersingular elliptic curves. We propose here a novel hardware
implementation of Miller's loop based on a pipelined Karatsuba-Ofman
multiplier. Thanks to a careful selection of algorithms for computing the tower field arithmetic associated to the Tate pairing, we manage to keep the pipeline busy. We also describe the strategies we
considered to design our parallel multiplier. They are included in a
VHDL code generator allowing for the exploration of a wide range of
operators. Then, we outline the architecture of a coprocessor for
the Tate pairing over $\mathbb{F}_{3^m}$. However, a final
exponentiation is still needed to obtain a unique value, which is
desirable in most of the cryptographic protocols. We supplement our
pairing accelerator with a coprocessor responsible for this task. An
improved exponentiation algorithm allows us to save hardware
resources.
According to our place-and-route results on Xilinx FPGAs, our design
improves both the computation time and the area-time trade-off
compared to previoulsy published coprocessors.
Built-in Determined Sub-key Correlation Power Analysis
Correlation power analysis (CPA) is a well-known attack against cryptographic modules with which an attacker evaluates the correlation between the power consumption and the sensitive data candidate calculated from a guessed sub-key and known data (plaintext or ciphertext).
This paper enhances CPA to propose a new general power analysis, \textit{build-in determined sub-key CPA} (BS-CPA), that finds a new sub-key by using the previously determined sub-keys recursively to compute the sensitive data candidate and to increase the signal-to-noise ratio in its analysis. BS-CPA is powerful and effective when the multiple sbox outputs (or corresponding data) are processed simultaneously as in the hardware implementation. We apply BS-CPA to the power consumption traces provided at the DPA contest and succeed in finding DES key less than the original CPA does.
A study of pairing computation for elliptic curves with embedding degree 15
This paper presents the first study of pairing computation on curves with embedding degree $15$. We compute the Ate and the twisted Ate pairing for a family of curves with parameter $\rho~1.5$ and embedding degree $15$. We use a twist of degree 3 to perform most of the operations in $\F_p$ or $\F_{p^5}$. Furthermore, we present a new arithmetic for extension fields of degree $5$. Our computations show that these curves give very efficient implementations for pairing-based cryptography at high security levels.
Securing RSA against Fault Analysis by Double Addition Chain Exponentiation
Fault Analysis is a powerful cryptanalytic technique that enables to break cryptographic implementations embedded in portable devices more efficiently than any other technique. For an RSA implemented with the Chinese Remainder Theorem method, one faulty execution
suffices to factorize the public modulus and fully recover the
private key. It is therefore mandatory to protect embedded implementations of RSA against fault analysis.
This paper provides a new countermeasure against fault analysis for
exponentiation and RSA. It consists in a {\em self-secure}
exponentiation algorithm, namely an exponentiation algorithm that
provides a direct way to check the result coherence. An RSA
implemented with our solution hence avoids the use of an extended
modulus (which slows down the computation) as in several other
countermeasures. Moreover, our exponentiation algorithm involves
$1.65$ multiplications per bit of the exponent which is
significantly less than the $2$ required by other self-secure
exponentiations.
Compact Hardware Implementations of the SHA-3 Candidates ARIRANG, BLAKE, Grøstl, and Skein
The weakening of the widely used SHA-1 hash function has also cast doubts on the strength of the related algorithms of the SHA-2 family. The US NIST has therefore initiated the SHA-3 competition in order to select a modern hash function algorithm as a ``backup'' for SHA-2. This algorithm should be efficiently implementable both in software and hardware under different constraints. In this paper, we present hardware implementations of the four SHA-3 candidates ARIRANG, BLAKE, Grøstl, and Skein with the primary constraint of minimizing chip area.
Designing an ASIP for Cryptographic Pairings over Barreto-Naehrig Curves
This paper presents a design-space exploration of an application-specific instruction-set
processor (ASIP) for the computation of various cryptographic pairings over Barreto-Naehrig
curves (BN curves). Cryptographic pairings are based on elliptic curves over finite fields--in
the case of BN curves a field Fp of large prime order p. Efficient arithmetic in these fields is
crucial for fast computation of pairings. Moreover, computation of cryptographic pairings is
much more complex than elliptic-curve cryptography (ECC) in general. Therefore, we facilitate
programming of the proposed ASIP by providing a C compiler.
In order to speed up $\mathbb{F}_p$ -arithmetic, a RISC core is extended with additional functional units.
The critical path delay of these units is adjusted to the base architecture in order to maintain
the operating frequency. Independently from that adjustment, these units are scalable allowing
for a trade-off between execution time and area consumption. Because the resulting speedup
can be limited by the memory throughput, utilization of multiple data memories is proposed.
However, developing a C compiler for multiple memories is a challenging task. Therefore, we
introduce an enhanced memory system enabling multiple concurrent memory accesses while
remaining totally transparent to the C compiler.
The proposed design needs 15.8 ms for the computation of the Optimal-Ate pairing over a
256-bit BN curve at 338 MHz implemented with a 130 nm standard cell library. The processor
core consumes 97 kGates making it suitable for the use in embedded systems.
Fault Attacks on RSA Signatures with Partially Unknown Messages
Fault attacks exploit hardware malfunctions to recover secrets from embedded electronic devices.
In the late 90's, Boneh, DeMillo and Lipton introduced fault-based attacks on {\sc crt-rsa}.
These attacks factor the signer's modulus when the message padding
function is deterministic. However, the attack does not apply when the
message is partially unknown, for example when messages contain some
randomness which is recovered only when
verifying a {\sl correct} signature.
In this paper we successfully extends RSA fault attacks to a large class
of partially known message configurations.
The new attacks rely on Coppersmith's algorithm for finding small roots of multivariate polynomial equations.
We illustrate the approach by successfully attacking several randomized versions of the ISO 9796-2 encoding standard.
Practical experiments show that a $2048$-bit modulus can be factored
in less than a minute given one faulty signature containing $160$
random bits and an unknown $160$-bit message digest.
FPGA and ASIC Implementations of the $\eta_T$ Pairing in Characteristic Three
Since their introduction in constructive cryptographic applications, pairings over (hyper)elliptic curves are at the heart of an ever increasing number of protocols. As they rely critically on efficient algorithms and implementations of pairing primitives, the study of hardware accelerators became an active research area.
In this paper, we propose two coprocessors for the reduced $\eta_T$ pairing introduced by Barreto {\it et al.} as an alternative means of computing the Tate pairing on supersingular elliptic curves. We prototyped our architectures on FPGAs. According to our place-and-route results, our coprocessors compare favorably with other solutions described in the open literature. We also present the first ASIC implementation of the reduced $\eta_T$ pairing.
Faster and Timing-Attack Resistant AES-GCM
We present a bitsliced implementation of AES encryption in counter mode for
64-bit Intel processors. Running at 7.59 cycles/byte on a Core~2, it is up to 25% faster than previous implementations,
while simultaneously offering protection against timing attacks. In
particular, it is the only cache-timing-attack resistant
implementation offering competitive speeds for stream as well as for
packet encryption: for 576-byte packets, we improve performance over
previous bitsliced implementations by more than a factor of 2. We also report more than 30%
improved speeds for lookup-table based Galois/Counter mode
authentication, achieving 10.68 cycles/byte for authenticated
encryption. Furthermore, we present the first constant-time
implementation of AES-GCM that has a reasonable speed of $21.99$
cycles/byte, thus offering a full suite of timing-analysis resistant software for authenticated encryption.
On the Foundations of Physical Unclonable Functions
We investigate the foundations of Physical Unclonable Functions from several perspectives. Firstly, we discuss formal and conceptual issues in the various current definitions of PUFs. As we argue, they have the effect that many PUF candidates formally meet no existing definition. Next, we present alternative definitions and a new formalism. It avoids asymptotic concepts like polynomial time, but is based on concrete time bounds and on the concept of a security experiment. The formalism splits the notion of a PUF into two new notions, Strong $t$-PUFs and Obfuscating $t$-PUFs.
Then, we provide a comparative analysis between the existing definitions and our new notions, by classifying existing PUF implementations with respect to them. In this process, we use several new and unpublished machine learning results. The outcome of this comparative classification is that our definitions seem to match the current PUF landscape well, perhaps better than previous definitions.
Finally, we analyze the security and practicality features of Strong and Obfuscating $t$-PUFs in concrete applications, obtaining further justification for the split into two notions.
On Second-Order Fault Analysis Resistance for CRT-RSA Implementations
Since their publication in 1996, Fault Attacks have been widely studied from both theoretical and practical points of view and most of cryptographic systems have been shown vulnerable to this kind of attacks. Until recently, most of the theoretical fault attacks and countermeasures used a fault model which assumes that the attacker is able to disturb the execution of a cryptographic algorithm only once. However, this approach seems too restrictive since the publication in 2007 of the successful experiment of an attack based on the injection of two faults, namely a second-order fault attack. Amongst the few papers dealing with second-order fault analysis, three countermeasures were published at WISTP'07 and FDTC'07 to protect the RSA cryptosystem using the CRT mode. In this paper, we analyse the security of these countermeasures with respect to the second-order fault model considered by their authors. We show that these countermeasures are not intrinsically resistant and we propose a new method allowing us to implement a CRT-RSA that resists to this kind of second-order fault attack.
MeshHash2
This specification describes a modification of a candidate for SHA-3, named MeshHash. The first version had a flaw in it, it was possible to mount a second preimage attack [Tho08]. So MeshHash has not fulfilled the requirements for SHA-3 anymore and hence was conceded broken. Furthermore there was a bug in the reference implementation:
The macro for rotation of a word computed an undefined value if it should rotate a word by 0 bit.
But since the flaw can be easily fixed, which was already implemented in a preliminary version, it seems to be a good idea to publish MeshHash2 as a patch and see if it might be useful for further research or even usage. The patch uses a feedback, which increases the memory usage, but doesn't give more security against a straight forward collision attack, which was the reason it has been dropped from the preliminary version of MeshHash.
This specification is the patched version of MeshHash, named MashHash2. It is a very flexible but conservative design with primarily security in mind and only secondarily speed. But it achieves about the same speed as the SHA-2 family and security up to 16320 bit. It can also be used in a keyed version as PRF or PRG and hence build a stream-cipher of it.
Hardware Implementations of a Variant of the Zémor-Tillich Hash Function: Can a Provably Secure Hash Function be very efficient ?
Hash functions are widely used in Cryptography, and hardware implementations of hash functions are of interest in a variety of contexts such as speeding up the computations of a network server or providing authentication in small electronic devices such as RFID tags. Provably secure hash functions, the security of which relies
on the hardness of a mathematical problem, are particularly appealing for security, but they used to be too inefficient in practice. In this paper, we study the efficiency
in hardware of ZT', a provably secure hash function based on the Zémor-Tillich hash function. We consider three kinds of implementations targeting a high throughput and a low area in different ways. We first present a high-speed implementation of ZT' on
FPGA that is nearly half as efficient as state-of-the-art SHA implementations in terms of throughput per area. We then focus on area reduction and present an ASIC implementation of ZT' with much smaller area costs than SHA-1 and even than SQUASH, which was specially designed for low-cost RFID tags. Between these two extreme implementations, we show that the throughput and area can be traded with a lot of flexibility. Finally, we show that the inherent parallelism of ZT' makes it particularly suitable for applications requiring high speed hashing of very long messages. Our work,
together with existing reasonably efficient software implementations, shows that this variant of the Zémor-Tillich hash function is in fact very practical for a wide range of applications, while having a security related to the hardness of a mathematical problem
and significant additional advantages such as scalability and parallelism.
Bringing Zero-Knowledge Proofs of Knowledge to Practice
Efficient zero-knowledge proofs of knowledge (ZK-PoK) are basic
building blocks of many practical cryptographic applications
such as identification schemes, group signatures, and secure
multiparty computation. Currently, first applications that
critically rely on ZK-PoKs are being deployed in the real
world. The most prominent example is Direct Anonymous
Attestation (DAA), which was adopted by the Trusted Computing
Group (TCG) and implemented as one of the functionalities of
the cryptographic Trusted Platform Module (TPM) chip.
Implementing systems using ZK-PoK turns out to be challenging, since
ZK-PoK are, loosely speaking, significantly more complex than
standard crypto primitives, such as encryption and signature
schemes. As a result, implementation cycles of ZK-PoK are
time-consuming and error-prone, in particular for developers with
minor or no cryptographic skills.
In this paper we report on our ongoing and future research
vision with the goal to bring ZK-PoK to practice by making them
accessible to crypto and security engineers. To this end we are
developing compilers and related tools that support and partially
automate the design, implementation, verification and secure
implementation of ZK-PoK protocols.
On Optimized FPGA Implementations of the SHA-3 Candidate Groestl
The National Institute of Standards and Technology (NIST) has started
a competition for a new secure hash standard. In this context third
party implementations of all proposed hash functions are regarded as
an important part of the competition. We chose to implement the
Groestl hash function for FPGAs, for its resemblance to AES. More
precisely we developed two optimized versions, one optimized for
throughput, the other one for area. Both implementations improve the
results and estimates presented in the original submission to the
competition. The performance of both implementations may be improved
further, thus Groestl seems to be a good candidate for
implementations on medium sized FPGAs. Besides that, it is shown that
Groestl needs a significant amount of resources, which will hinder
its use for automotive applications.
Hardware Implementation of the SHA-3 Candidate Skein
Skein is a submission to the NIST SHA-3 hash function competition which has been optimized towards implementation in modern 64-bit processor architectures. This paper investigates the performance characteristics of a high-speed hardware implementation of Skein with a 0.18\,\textmu}m standard-cell library and on different modern FPGAs. The results allow a first comparison of the hardware performance figures of full Skein with other SHA-3 candidates.
Fast elliptic-curve cryptography on the Cell Broadband Engine
This paper is the first to investigate the power of the Cell
Broadband Engine for state-of-the-art public-key cryptography. We pre-
sent a high-speed implementation of elliptic-curve Diffie-Hellman (ECDH)
key exchange for this processor, which needs 697080 cycles on one Syn-
ergistic Processor Unit for a scalar multiplication on a 255-bit elliptic
curve, including the costs for key verification and key compression. This
cycle count is independent of inputs therefore protecting against timing
attacks.
This speed relies on a new representation of elements of the underlying
finite field suited for the unconventional instruction set of this architec-
ture.
Furthermore we demonstrate that an implementation based on the multi-
precision integer arithmetic functions provided by IBM's multi-precision
math (MPM) library would take at least 2227040 cycles.
Comparison with implementations of the same function for other archi-
tectures shows that the Cell Broadband Engine is competitive in terms of
cost-performance ratio to other recent processors such as the Intel Core
2 for public-key cryptography.
Specifically, the state-of-the-art Galbraith-Lin-Scott ECDH software per-
forms 27370 scalar multiplications per second using all four cores of a
2.5GHz Intel Core 2 Quad Q9300 inside a $296 computer, while the new
software reported in this paper performs 27474 scalar multiplications
per second on a Playstation 3 that costs just $221. Both of these speed
reports are for high-security 256-bit elliptic-curve cryptography.
A Continuous Fault Countermeasure for AES Providing a Constant Error Detection Rate
Many implementations of cryptographic algorithms have shown to be susceptible to fault attacks. For some of them, countermeasures against specific fault models have been proposed. However, for symmetric algorithms like AES, the main focus of available countermeasures lies on performance so that their achieved error detection rates are rather low or not determinable at all. Even worse, those error detection rates only apply to specific parts of the cipher. In this paper we present a way to achieve a constantly higher error detection rate throughout the whole algorithm while assuming a much stronger adversary model than in previous papers. Furthermore, we propose solutions for two very important, unsolved questions: First, how to do secure and efficient table lookups in redundant algebras. Second, how to implement secure correctness checks to verify the result in a scenario where the adversary can manipulate comparisons. Our paper is therefore the first one to construct a sound and continuous AES fault countermeasure with an attacker-independent minimum error detection rate.
Automatic Generation of Sound Zero-Knowledge Protocols
Efficient zero-knowledge proofs of knowledge (ZK-PoK) are basic building blocks of many practical cryptographic applications such as identification schemes, group signatures, and secure multiparty computation. Currently, first applications that essentially rely on ZK-POKs are being deployed in the real world. The most prominent example is Direct Anonymous Attestation (DAA), which was adopted by the Trusted Computing Group (TCG) and implemented as one of the functionalities of the cryptographic chip Trusted Platform Module (TPM).
Implementing systems using ZK-PoK turns out to be challenging, since ZK-PoK are, loosely speaking, significantly more complex than standard crypto primitives, such as encryption and signature schemes. As a result, implementation cycles of ZK-PoK are time-consuming and error-prone, in particular for developers with minor or no cryptographic skills.
To overcome these challenges, we have designed and implemented a compiler with corresponding languages that given a high-level ZK-PoK protocol specification automatically generates a sound implementation of this. The output is given in form of $\Sigma$-protocols, which are the most efficient protocols for ZK-PoK currently known. Our compiler translates ZK-PoK protocol specifications, written in a high-level protocol description language, into Java code or \LaTeX\ documentation of the protocol.
The compiler is based on a unified theoretical framework that encompasses a large number of existing ZK-PoK techniques. Within this framework we present a new efficient ZK-PoK protocol for exponentiation homomorphisms in hidden order groups. Our protocol overcomes several limitations of the existing proof techniques.
Implementing cryptographic pairings: a magma tutorial
In this paper we show an efficient implementation if the Tate, ate, and R-ate pairings in magma. This will be demostrated by using the KSS curves with embedding degree k=18
Practical Short Signature Batch Verification
In many applications, it is desirable to work with signatures that are both short, and yet where many messages from different signers be verified very quickly. RSA signatures satisfy the latter condition, but are generally thousands of bits in length. Recent developments in pairing-based cryptography produced a number of short signatures which provide equivalent security in a fraction of the space. Unfortunately, verifying these signatures is computationally intensive due to the expensive pairing operation. In an attempt to simultaneously achieve "short and fast" signatures, Camenisch, Hohenberger and Pedersen (Eurocrypt 2007) showed how to batch verify two pairing-based schemes so that the total number of pairings was independent of the number of signatures to verify.
In this work, we present both theoretical and practical contributions. On the theoretical side, we introduce new batch verifiers for a wide variety of regular, identity-based, group, ring and aggregate signature schemes. These are the first constructions for batching group signatures, which answers an open problem of Camenisch et al. On the practical side, we implement each of these algorithms and compare each batching algorithm to doing individual verifications. Our goal is to test whether batching is practical; that is, whether the benefits of removing pairings significantly outweigh the cost of the additional operations required for batching, such as group membership testing, randomness generation, and additional modular exponentiations and multiplications. We experimentally verify that the theoretical results of Camenisch et al. and this work, indeed, provide an efficient, effective approach to verifying multiple signatures from (possibly) different signers.
Choosing the correct elliptic curve in the CM method
We give an elementary way to distinguish between the twists of
an ordinary elliptic curve $E$ over $\Fp$
in order to identify the one with $p+1-2U$ points,
when $p=U^2+\d V^2$ with $2U, 2V\in \Z$ and
$E$ is constructed using the CM method
for finding elliptic curves with a prescribed number of points.
Our algorithms consist in most cases of
reading off simple congruence conditions
on $U$ and $V$ modulo $4$.
A Fast Implementation of $\eta_T$ Pairing in Characteristic Three on Intel Core 2 Duo Processor
We present an efficient implementation of $\eta_T$ pairing on Intel Core 2 Duo processor.
The processing speed of our implementation achieves 92 $\mu$sec over ${\mathbb F}_3^{97}$ and 553 $\mu$sec over ${\mathbb F}_3^{193}$ on 2.6GHz processor.
Avoid Mask Re-use in Masked Galois Multipliers
This work examines a weakness in re-using masks for masked Galois inversion, specifically in the masked Galois multipliers. Here we show that the mask re-use scheme included in our work[1] cannot result in "perfect masking," regardless of the order in which the terms are added; explicit distributions are derived for each step. The same problem requires new masks in the subfield calculations, not included in [1]. Hence, for resistance to first-order differential attacks, the masked S-box must use distinct, independent masks for input and output bytes of the masked inverter, and new masks in the subfields, resulting in a larger size.
Ref[1]: Canright, D., Batina, L.: A Very Compact "Perfectly Masked" S-Box for AES. In ACNS2008, LNCS 5037, Springer-Verlag (2008), 446-459
A Very Compact "Perfectly Masked" S-Box for AES (corrected)
Implementations of the Advanced Encryption Standard (AES), including hardware applications with limited resources (e.g., smart cards), may be vulnerable to "side-channel attacks" such as differential power analysis. One countermeasure against such attacks is adding a random mask to the data; this randomizes the statistics of the calculation at the cost of computing "mask corrections." The single nonlinear step in each AES round is the "S-box" (involving a Galois inversion), which incurs the majority of the cost for mask corrections. Oswald et al. showed how the "tower field" representation allows maintaining an additive mask throughout the Galois inverse calculation. This work applies a similar masking strategy to the most compact (unmasked) S-box to date. The result is the most compact masked S-box so far, with "perfect masking" (by the definition of Blomer) giving suitable implementations immunity to first-order differential side-channel attacks.
Thermocommunication
Looking up -- you realize that one of the twelve light bulbs of your living room chandelier has to be replaced. You turn electricity off, move a table to the center of the room, put a chair on top of the table and, new bulb in hand, you climb up on top of the chair. As you reach the chandelier, you notice that\ldots all bulbs look alike and that you have forgotten which bulb needed to be changed.\smallskip
Restart all over again?\smallskip
Luckily, an effortless creative solution exists. By just touching the light bulbs you can determine the cold one and replace it! Put differently, information about the device's malfunction leaked-out via its temperature...
A Hardware Analysis of Twisted Edwards Curves for an Elliptic Curve Cryptosystem
This paper presents implementation results of a reconfigurable elliptic curve processor defined over prime fields $GF(p)$. We use this processor to compare a new algorithm for point addition and point doubling operations on the twisted Edwards curves, against a current standard algorithm in use, namely the Double-and-Add. Secure power analysis versions of both algorithms are also examined and compared. The algorithms are implemented on an FPGA, and the speed, area and power performance of each are then evaluated for various modes of circuit operation using parallel processing. To the authors' knowledge, this work introduces the first documented FPGA implementation for computations on twisted Edwards curves over fields $GF(p)$.
Small Odd Prime Field Multivariate PKCs
We show that Multivariate Public Key Cryptosystems (MPKCs)
over fields of small odd prime characteristic, say 31, can be highly
efficient. Indeed, at the same design security of $2^{80}$ under
the best known attacks, odd-char MPKC is generally
faster than prior MPKCs over \GF{2^k}, which are in turn faster than
``traditional'' alternatives.
This seemingly counter-intuitive feat is accomplished by exploiting
the comparative over-abundance of small integer arithmetic resources
in commodity hardware, here embodied by SSE2 or more advanced
special multimedia instructions on modern x86-compatible CPUs.
We explain our implementation techniques and design choices in
implementing our chosen MPKC instances modulo small a odd prime.
The same techniques are also applicable in modern FPGAs which often
contains a large number of multipliers.
Fast hashing to G2 on pairing friendly curves
When using pairing-friendly ordinary elliptic curves over prime fields to implement identity-based protocols, there is often a need to hash identities to points on one or both of the two elliptic curve groups of prime order $r$ involved in the pairing. Of these $G_1$ is a group of points on the base field $E(\F_p)$ and $G_2$ is instantiated as a group of points with coordinates on some extension field, over a twisted curve $E'(\F_{p^d})$, where $d$ divides the embedding degree $k$. While hashing to $G_1$ is relatively easy, hashing to $G_2$ has been less considered, and is regarded as likely to be more expensive as it appears to require a multiplication by a large cofactor. In this paper we introduce a fast method for this cofactor multiplication on $G_2$ which exploits an efficiently computable homomorphism.
A Hardware Interface for Hashing Algorithms
The submissions to the SHA-3 competition include a reference implementation in C, built on top of a standard programmer's interface (API). This greatly improves the evaluation process: it enables portability across platforms, and it makes performance comparison of the algorithms easy. For hardware crypto-implementations, such a stan-dard interface does not exist. As a result, the evaluation and comparison of hardware hashing algorithms becomes complex and error prone. The first step to improve the evaluation process for hardware is the definition of an interface. This document describes a general hardware interface for hashing algorithms. The operation of the interface is discussed, and the appendix lists a SHA-256 reference implementation that uses the interface.
Improving the Rules of the DPA Contest
A DPA contest has been launched at CHES 2008. The goal of this initiative is to make it possible for researchers to compare different side-channel attacks in an objective manner. For this purpose, a set of 80000 traces corresponding to the encryption of 80000 different plaintexts with the Data Encryption Standard and a fixed key has been made available. In this short note, we discuss the rules that the contest uses to rate the effectiveness of different distinguishers. We first describe practical examples of attacks in which these rules can be misleading. Then, we suggest an improved set of rules that can be implemented easily in order to obtain a better interpretation of the comparisons performed.
Implementing Cryptographic Pairings over Barreto-Naehrig Curves
In this paper we describe an efficient implementation of the Tate and Ate pairings using Barreto-Naehrig pairing-friendly curves, on both a
standard 32-bit PC and on a 32-bit smartcard. First we introduce a sub-family of such curves with a particularly simple representation. Next we consider the issues that arise in the efficient implementation of field arithmetic in $\F_{p^{12}}$, which is crucial to good performance. Various optimisations are suggested, including a novel approach to the `final exponentiation', which is faster and requires less memory than the methods previously recommended.
Asynchronous Multiparty Computation: Theory and Implementation
We propose an asynchronous protocol for general multiparty computation with perfect security and communication complexity O(n^2 |C| k) where n is the number of parties, |C| is the size of the arithmetic circuit being computed, and k is the size of elements in the underlying field. The protocol guarantees termination if the adversary allows a preprocessing phase to terminate, in which no information is released. The communication complexity of this protocol is the same as that of a passively secure solution up to a constant factor. It is secure against an adaptive and active adversary corrupting less than n/3 players.
We also present a software framework for implementation of asynchronous protocols called VIFF (Virtual Ideal Functionality Framework), which allows automatic parallelization of primitive operations such as secure multiplications, without having to resort to complicated multithreading. Benchmarking of a VIFF implementation of our protocol confirms that it is applicable to practical non-trivial secure computations. VIFF can be downloaded from http://viff.dk/.
Fast Arithmetic on ATmega128 for Elliptic Curve Cryptography
Authentication protocols are indispensable in wireless sensor
networks. Commonly they are based on asymmetric cryptographic
algorithms. In this paper
we investigate all categories of finite fields suitable for elliptic
curve cryptography on the ATmega128 microcontroller: $\F{p}$,
$\F{2^d}$, and $\F{p^d}$. It turns out that binary fields enable the
most efficient implementations.
New AES software speed records
This paper presents new speed records for AES software,taking advantage of (1) architecture-dependent reduction of instructions used to compute AES and (2) microarchitecture-dependent reduction of cycles used for those instructions.
A wide variety of common CPU architectures---amd64, ppc32, sparcv9, and x86---are discussed in detail, along with several specific microarchitectures.
Pairing with Supersingular Trace Zero Varieties Revisited
A Trace Zero Variety is a specific subgroup of the group of the divisor classes on a hyperelliptic curve $C/\F_q$, which are rational over a small degree extension $\F_{q^r}$ of the definition field.
Trace Zero Varieties (\tzv) are interesting for cryptographic applications since they enjoy properties that can be exploited to achieve fast arithmetic and group construction.
Furthermore, supersingular \tzv allows to achieve higher MOV security per bit than supersingular elliptic curves, thus making them interesting for applications in pairing-based cryptography.
In this paper we survey algorithms in literature for computing bilinear pairings and we present a new algorithm for the Tate pairing over supersingular \tzv, which exploits the action of the $q$-Frobenius.
We give explicit examples and provide experimental results for supersingular \tzv defined over fields of characteristic 2.
Moreover, in the same settings, we propose a more efficient variant of the Silverberg's point compression algorithm.
SPICE Simulation of a "Provably Secure" True Random Number Generator
In their paper "A Provably Secure True Random Number Generator with Built-in Tolerance to Active Attacks",
B. Sunar, W. Martin, and D. Stinson propose a design for a true random number generator. Using SPICE simulation we study the behaviour of their random number generator and show that practical implementations result in a too high frequency signal to be processed with current CMOS technology.
Algorithms and Arithmetic Operators for Computing the $\eta_T$ Pairing in Characteristic Three
Since their introduction in constructive cryptographic applications,
pairings over (hyper)elliptic curves are at the heart of an ever
increasing number of protocols. Software implementations being rather
slow, the study of hardware architectures became an active research
area.
In this paper, we discuss several algorithms to compute the $\eta_T$
pairing in characteristic three and suggest further improvements.
These algorithms involve addition, multiplication, cubing, inversion,
and sometimes cube root extraction over $\mathbb{F}_{3^m}$. We propose
a hardware accelerator based on a unified arithmetic operator able to
perform the operations required by a given algorithm. We describe the
implementation of a compact coprocessor for the field
$\mathbb{F}_{3^{97}}$ given by $\mathbb{F}_3[x]/(x^{97}+x^{12}+2)$,
which compares favorably with other solutions described in the open
literature.
Side Channel Attack Resistant Implementation of Multi-Power RSA using Hensel Lifting
Multi-Power RSA [1] is a fast variant of RSA [2] with a small decryption time, making it attractive for implementation on lightweight cryptographic devices such as smart cards. Hensel Lifting is a key component in the implementation of fast Multi-Power RSA Decryption. However, it is found that a naive implementation of this algorithm is vulnerable to a host of side channel attacks, some of them powerful enough to entirely break the cryptosystem by providing a factorisation of the public modulus $N$. We propose here a secure (under reasonable assumptions) implementation of the Hensel Lifting algorithm. We then use this algorithm to obtain a secure implementation of Multi-Power RSA Decryption.
Time-Area Optimized Public-Key Engines: MQ-Cryptosystems as Replacement for Elliptic Curves?
In this paper ways to efficiently implement public-key schemes based onMultivariate Quadratic polynomials (MQ-schemes for short) are investigated. In particular, they are claimed to resist quantum computer attacks. It is shown that such schemes can have a much better time-area product than elliptic curve cryptosystems. For instance, an optimised FPGA implementation of amended TTS is estimated to be over 50 times more efficient with respect to
this parameter. Moreover, a general framework for implementing small-field MQ-schemes in hardware is proposed which includes a systolic architecture performing Gaussian elimination over composite binary fields.
High Performance Implementation of a Public Key Block Cipher - MQQ, for FPGA Platforms
We have implemented in FPGA recently published class of public key algorithms -- MQQ, that are based on quasigroup string transformations. Our implementation achieves decryption throughput of 399 Mbps on an Xilinx Virtex-5 FPGA that is running on 249.4 MHz. The encryption throughput of our implementation achieves 44.27 Gbps on four Xilinx Virtex-5 chips that are running on 276.7 MHz. Compared to RSA implementation on the same FPGA platform this implementation of MQQ is 10,000 times faster in decryption, and is more than 17,000 times faster in encryption.
Sharemind: a framework for fast privacy-preserving computations
Gathering and processing sensitive data is a difficult task. In fact, there is no common recipe for building the necessary information systems. In this paper, we present a provably secure and efficient general-purpose computation system to address this problem. Our solution - SHAREMIND - is a virtual machine for privacy-preserving data processing that relies on share computing techniques. This is a standard way for securely evaluating functions in a multi-party computation environment. The novelty of our solution is in the choice of the secret sharing scheme and the design of the protocol suite. We have made many practical decisions to make large-scale share computing feasible in practice. The protocols of SHAREMIND are information-theoretically secure in the honest-but-curious model with three computing participants. Although the honest-but-curious model does not tolerate malicious participants, it still provides significantly increased privacy preservation when compared to standard centralised databases.
Pairings on hyperelliptic curves with a real model
We analyse the efficiency of pairing computations on hyperelliptic curves given by a real model using a balanced divisor at infinity. Several optimisations are proposed and analysed. Genus two curves given by a real model arise when considering pairing friendly groups of order dividing $p^{2}-p+1$. We compare the performance of pairings on such groups in both elliptic and hyperelliptic versions. We conclude that pairings can be efficiently computable in real models of hyperelliptic curves.
Encryption-On-Demand: Practical and Theoretical Considerations
Alice and Bob may develop a spontaneous, yet infrequent need for online confidential exchange. They may be served by an 'encryption-on-demand' (EoD) service which will enable them to communicate securely with no prior preparations, and no after effects. We delineate a possible EoD service, and describe some of its theoretical and practical features. The proposed framework is a website which could tailor-make an encryption package to be downloaded by both Alice and Bob for their ad-hoc use. The downloaded package will include the cryptographic algorithm and a unique key, which may be of any size, since Alice and Bob will not have to enter, or regard the key per se, they would simply use the downloaded page to encrypt and decrypt their data. After their secure exchange both Alice and Bob may ignore, or discard the downloaded software, and restart the same procedure, with a different tailor-made package, exactly when needed. This framework allows for greater flexibility in managing the complexity aspects that ensures security. Alice and Bob will not have to know what encryption scheme they use. The server based tailoring program could pseudo-randomly pick AES, DES, RSA, ECC, select a short, or long key, and otherwise greatly increase the variability that would have to be negotiated by a cryptanalyst. Encryption-on-demand is offered on http://youdeny.com . Features are described.
On Software Parallel Implementation of Cryptographic Pairings
A significant amount of research has focused on methods to improve the
efficiency of cryptographic pairings; in part this work is motivated by the wide range of applications for such primitives. Although numerous hardware accelerators for pairing evaluation have used parallelism within extension field arithmetic to improve efficiency, similar techniques have not been examined in software thus far. In this paper we focus on parallelism within one pairing evaluation (intra-pairing), and parallelism between different pairing evaluations (inter-pairing). We identify several methods for exploiting such parallelism (extending previous results in the context of ECC) and show that it is possible to accelerate pairing evaluation by a significant factor in comparison to a naive approach.
Simultaneous field divisions: an extension of Montgomery's trick
Montgomery's trick is a technique which can be used to quickly compute multiple field inversion simultaneously. We extend this technique to simultaneous field divisions (that is, combinations of field multiplications and field inversion). The generalized Montgomery's trick is faster in some fields than a simple inversion with Montgomery's trick followed by a simple field multiplication
Security needs in embedded systems
The paper discusses the hardware and software security requirements
in an embedded device that are involved in the transfer of secure digital data. The paper gives an overview on the security processes like encryption/decryption, key agreement, digital signatures and digital certificates that are used to achieve data protection during data transfer. The paper also discusses the security requirements in the device to prevent possible physical attacks to expose the secure data such as secret keys from the device. The paper also briefs on the security enforced in a device by the use of proprietary security technology and also discusses the security measures taken during the production of the device.
Information Leakage of Flip-Flops in DPA-Resistant Logic Styles
This contribution discusses the information leakage of flip-flops for different DPA-resistant logic styles. We show that many of the proposed side-channel resistant logic styles still employ flip-flops that leak data-dependent information. Furthermore, we apply simple models for the leakage of masked flip-flops to design a new attack on circuits implemented using masked logic styles. Contrary to previous attacks on masked logic styles, our attack does not predict the mask bit and does not need detailed knowledge about the attacked device, e.g., the circuit layout. Moreover, our attack works even if all the load capacitances of the complementary logic signals are perfectly balanced and even if the PRNG is ideally unbiased. Finally, after performing the attack on DRSL, MDPL, and iMDPL circuits we show that single-bit masks do not influence the exploitability of the revealed leakage of the masked flip-flops.
Investigating the DPA-Resistance Property of Charge Recovery Logics
The threat of DPA attacks is of crucial importance when designing cryptographic hardware. As a result, several DPA countermeasures at the cell level have been proposed in the last years, but none of them offers perfect protection against DPA attacks. Moreover, all of these DPA-resistant logic styles increase the power consumption and the area consumption significantly. On the other hand, there are some logic styles which provide less power dissipation (so called charge recovery logic) that can be considered as a DPA countermeasure. In this article we examine them from the DPA-resistance point of view. As an example of charge recovery logic styles, 2N-2N2P is evaluated. It is shown that the usage of this logic style leads to an improvement of the DPA-resistance and at the same time reduces the energy consumption which make it especially suitable for pervasive devices. In fact, it is the first time that a proposed DPA-resistant logic style consumes less power than the corresponding standard CMOS circuit.
Redundant $\tau$-adic Expansions II: Non-Optimality and Chaotic Behaviour
When computing scalar multiples on Koblitz curves, the Frobenius endomorphism can be used to replace the usual doublings on the curve. This involves digital expansions of the scalar to the complex base $\tau=(\pm 1\pm \sqrt{-7})/2$ instead of binary expansions. As in the binary case, this method can be sped up by enlarging the set of valid digits at the cost of precomputing some points on the curve. In the binary case, it is known that a simple syntactical condition (the so-called $w$-NAF-condition) on the expansion ensures that the number of curve additions is minimised. The purpose of this paper is to show that this is not longer true for the base $\tau$ and $w\in\{4,5,6\}$. Even worse, it is shown that there is no longer an online algorithm to compute an optimal expansion from the digits of some standard expansion from the least to the most significant digit, which can be interpreted as chaotic behaviour. The proofs heavily depend on symbolic computations involving transducer automata.
Redundant $\tau$-adic Expansions I: Non-Adjacent Digit Sets and their Applications to Scalar Multiplication
This paper investigates some properties of $\tau$-adic expansions of
scalars. Such expansions are widely used in the design of scalar
multiplication algorithms on Koblitz Curves, but at the same
time they are much less understood than their binary counterparts.
Solinas introduced the width-$w$ $\tau$-adic non-adjacent form for
use with Koblitz curves. This is an expansion of integers
$z=\sum_{i=0}^\ell z_i\tau^i$, where $\tau$ is
a quadratic integer depending on the curve, such that $z_i\ne 0$
implies $z_{w+i-1}=\ldots=z_{i+1}=0$,
like the sliding window binary recodings of integers.
It uses a redundant digit set, i.e., an expansion of an integer using
this digit set need not be uniquely determined if the
syntactical constraints are not enforced.
We show that the digit sets described by Solinas, formed by elements
of minimal norm in their residue classes, are uniquely determined.
Apart from this digit set of minimal norm representatives, other digit sets
can be chosen such that all integers can be represented by a width-$w$
non-adjacent form using those digits. We describe an algorithm
recognizing admissible digit sets.
Results by Solinas and by Blake, Murty, and Xu are generalized.
In particular, we introduce two new useful families of digit sets.
The first set is syntactically defined.
As a consequence of its adoption we can
also present improved and streamlined algorithms to perform the
precomputations in $\tau$-adic scalar multiplication methods.
The latter use an improvement of the computation of sums and differences of
points on elliptic curves with mixed affine and López-Dahab
coordinates.
The second set is suitable for low-memory applications, generalizing an approach
started by Avanzi, Ciet, and Sica. It permits to devise a scalar multiplication
algorithm that dispenses with the initial precomputation stage
and its associated memory space. A suitable choice of the parameters of the
method leads to a scalar multiplication algorithm on Koblitz Curves
that achieves sublinear complexity in the number of expensive curve operations.
Unbalanced Digit Sets and the Closest Choice Strategy for Minimal Weight Integer Representations
An online algorithm is presented that produces an optimal radix-2 representation of an input integer $n$ using digits from the set $D_{\ell,u}=\{a\in\Z:\ell\le a\le u\}$, where $\ell \leq 0$ and $u \geq 1$. The algorithm works by scanning the digits of the binary representation of $n$ from left-to-right (\ie from most-significant to least-significant). The output representation is optimal in the sense that, of all radix-2 representations of $n$ with digits from $D_{\ell,u}$, it has as few nonzero digits as possible (\ie it has \emph{minimal weight}). Such representations are useful in the efficient implementation of elliptic curve cryptography. The strategy the algorithm utilizes is to choose an integer of the form $d 2^i$, where $d \in D_{\ell,u}$, that is closest to $n$ with respect to a particular distance function. It is possible to choose values of $\ell$ and $u$ so that the set $D_{\ell,u}$ is unbalanced in the sense that it contains more negative digits than positive digits, or more positive digits than negative digits. Our distance function takes the possible unbalanced nature of $D_{\ell,u}$ into account.
A Pipelined Karatsuba-Ofman Multiplier over GF($3^{97}$) Amenable for Pairing Computation
We present a subquadratic ternary field multiplier based on the combination of several variants of the Karatsuba-Ofman scheme
recently published. Since one of the most relevant applications for this kind of multipliers is pairing computation,
where several field multiplications need to be computed at once, we decided to design a $k$-stage pipeline
structure for $k=1,\ldots,4$, where each stage is composed of a 49-trit polynomial multiplier unit. That
architecture can compute an average of $k$ field multiplications every three clock cycles, which implies that our
four-stage pipeline design can perform more than one field multiplication per clock cycle. When implemented in
a Xilinx Virtex V XC5VLX330 FPGA device, this multiplier can compute one field multiplication over \gf($3^{97}$)
in just $11.47$ns.
TinyECCK: Efficient Elliptic Curve Cryptography Implementation over $GF(2^m)$ on 8-bit MICAz Mote
In this paper, we revisit a generally accepted opinion:
implementing Elliptic Curve Cryptosystem (ECC) over $GF(2^m)$ on
sensor motes using small word size is not appropriate because XOR
multiplication over $GF(2^m)$ is not efficiently supported by
current low-powered microprocessors. Although there are some
implementations over $GF(2^m)$ on sensor motes, their performances
are not satisfactory enough to be used for wireless sensor networks (WSNs).
We have found that a field multiplication over $GF(2^m)$ are involved
in a number of redundant memory accesses and its inefficiency
is originated from this problem. Moreover, the field reduction process
also requires many redundant memory accesses.
Therefore, we propose some techniques for reducing unnecessary
memory accesses. With the proposed strategies, the
running time of field multiplication and reduction over
$GF(2^{163})$ can be decreased by 21.1\% and 24.7\%, respectively.
These savings noticeably decrease execution times spent in
Elliptic Curve Digital Signature Algorithm (ECDSA) operations
(signing and verification) by around $15\% \sim 19\%$. We present
TinyECCK (Tiny Elliptic Curve Cryptosystem with Koblitz curve -- a
kind of TinyOS package supporting elliptic curve operations) which
is the fastest ECC implementation over $GF(2^m)$ on 8-bit sensor motes
using ATmega128L as far as we know. Through comparisons with existing software
implementations of ECC built in C or hybrid of C and inline
assembly on sensor motes, we show that TinyECCK outperforms
them in terms of running time, code size and supporting services.
Furthermore, we show that a field multiplication over $GF(2^m)$
can be faster than that over $GF(p)$ on 8-bit ATmega128L processor
by comparing TinyECCK with TinyECC, a well-known ECC implementation
over $GF(p)$. TinyECCK with sect163k1 can compute a scalar multiplication
within 1.14 secs on a MICAz mote at the expense of 5,592-byte of ROM and
618-byte of RAM. Furthermore, it can also generate a signature and verify
it in 1.37 and 2.32 secs with 13,748-byte of ROM and 1,004-byte of RAM.
A Comparison Between Hardware Accelerators for the Modified Tate Pairing over $\mathbb{F}_{2^m}$ and $\mathbb{F}_{3^m}$
In this article we propose a study of the modified Tate pairing in characteristics two and three. Starting from the $\eta_T$ pairing introduced by Barreto {\em et al.} (Des Codes Crypt, 2007), we detail various algorithmic improvements in the case of characteristic two. As far as characteristic three is concerned, we refer to the survey by Beuchat {\em et al.} (ePrint 2007-417). We then show how to get back to the modified Tate pairing at almost no extra cost. Finally, we explore the trade-offs involved in the hardware implementation of this pairing for both characteristics two and three. From our experiments, characteristic three appears to have a slight advantage over characteristic two.
Open Source Is Not Enough. Attacking the EC-package of Bouncycastle version 1.x_132
BouncyCastle is an open source Crypto provider written in Java which supplies
classes for Elliptic Curve Cryptography (ECC). We have found a flaw in the class ECPoint
resulting from an unhappy interaction of elementary algorithms. We show how to exploit this flaw to a real world attack, e.g., on the encryption scheme ECIES. BouncyCastle has since fixed this flaw (version 1.x_133 and higher) but all older versions remain highly vulnerable to an active attacker and the attack shows a certain vulnerability of the involved validation algorithms.
Cryptanalysis of White-Box Implementations
A white-box implementation of a block cipher is a software implementation from which it is difficult for an attacker to extract the cryptographic key. Chow et al. published white-box implementations for AES and DES that both have been cryptanalyzed. However, these white-box implementations are based on ideas that can easily be used to derive white-box implementations for other block ciphers as well. As the cryptanalyses published use typical properties of AES and DES, it remains an open question whether the white-box techniques proposed by Chow et al. can result in a secure white-box implementation for other ciphers than AES and DES. In this paper we identify a generic class of block ciphers for which the white-box techniques of Chow et al. do not result in a secure white-box implementation. The result can serve as a basis to design block ciphers and to develop white-box techniques that do result in secure white-box implementations.
Template Attacks on ECDSA
Template attacks have been considered exclusively in the context of implementations of symmetric cryptographic algorithms on 8-bit
devices. Within these scenarios, they have proven to be the most
powerful attacks. This is not surprising because they assume the
most powerful adversaries. In this article we investigate how
template attacks can be applied to implementations of an asymmetric
cryptographic algorithm on a 32-bit platform. The asymmetric
cryptosystem under scrutiny is the elliptic curve digital signature
algorithm (ECDSA). ECDSA is particularly suitable for 32-bit
platforms. In this article we show that even SPA resistant
implementations of ECDSA on a typical 32-bit platform succumb to
template-based SPA attacks. The only way to secure such
implementations against template-based SPA attacks is to make them
resistant against DPA attacks.
Block Ciphers Implementations Provably Secure Against Second Order Side Channel Analysis
In the recent years, side channel analysis has received a lot of attention, and attack techniques have been improved. Side channel analysis of second order is now successful in breaking implementations of block ciphers supposed to be effectively protected. This progress shows not only the practicability of second order attacks, but also the need for provably secure countermeasures. Surprisingly, while many studies have been dedicated to the attacks, only a few papers have been published about the dedicated countermeasures. In fact, only the method proposed by Schramm and Paar at CT-RSA 2006 enables to thwart second order side channel analysis. In this paper, we introduce two new methods which constitute a worthwhile alternative to Schramm and Paar's proposition. We prove their security in a strong security model and we exhibit a way to signifficantly improve their efficiency by using the particularities of the targeted architectures. Finally, we argue that the introduced methods allow to efficiently protect a wide variety of block ciphers, including AES.