Next Article in Journal
A Synthesis of Algorithms Determining a Safe Trajectory in a Group of Autonomous Vehicles Using a Sequential Game and Neural Network
Previous Article in Journal
IoT Data Sharing Platform in Web 3.0 Using Blockchain Technology
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Towards High-Performance Supersingular Isogeny Cryptographic Hardware Accelerator Design

School of Integrated Circuits, Tsinghua University, Beijing 100084, China
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(5), 1235; https://doi.org/10.3390/electronics12051235
Submission received: 4 February 2023 / Revised: 24 February 2023 / Accepted: 2 March 2023 / Published: 4 March 2023

Abstract

:
Cryptosystems based on supersingular isogeny are a novel tool in post-quantum cryptography. One compelling characteristic is their concise keys and ciphertexts. However, the performance of supersingular isogeny computation is currently worse than that of other schemes. This is primarily due to the following factors. Firstly, the underlying field is a quadratic extension of the finite field, resulting in higher computational complexity. Secondly, the strategy for large-degree isogeny evaluation is complex and dependent on the elementary arithmetic units employed. Thirdly, adapting the same hardware to different parameters is challenging. Considering the evolution of similar curve-based cryptosystems, we believe proper algorithm optimization and hardware acceleration will reduce its speed overhead. This paper describes a high-performance and flexible hardware architecture that accelerates isogeny computation. Specifically, we optimize the design by creating a dedicated quadratic Montgomery multiplier and an efficient scheduling strategy that are suitable for supersingular isogeny. The multiplier operates on F p 2 under projective coordinate formulas, and the scheduling is tailored to it. By exploiting additional parallelism through replicated multipliers and concurrent isogeny subroutines, our 65 nm SMIC technology cryptographic accelerator can generate ephemeral public keys in 2.40 ms for Alice and 2.79 ms for Bob with a 751-bit prime setting. Sharing the secret key costs another 2.04 ms and 2.35 ms, respectively.

1. Introduction

Currently, asymmetric cryptosystems are threatened by the development of large-scale quantum computers. Standard public key encryption algorithms, namely Rivest-Shamir-Adleman (RSA) and elliptic curve cryptography (ECC), are built on the underlying difficulty of factoring large integers and computing elliptic curve discrete logarithms. However, these mathematical problems would be vulnerable to a quantum machine running Shor’s algorithm [1].
To thwart this potential threat, the National Institute of Standards and Technology (NIST) has initiated a process to solicit, evaluate, and standardize one or more quantum-resistant public-key cryptographic algorithms [2]. Five renowned and universally accepted classes of primitives have been submitted and assessed, code-based cryptography, lattice-based cryptography, hash-based cryptography, multivariate cryptography, and isogeny-based cryptography. Among these candidates, there are various trade-offs regarding their underlying security assumptions, key sizes, and efficiency. Isogeny-based cryptography has the apparent advantage of a minor key length, which helps mitigate the transmission load and storage requirement. CSIDH is one such innovative scheme that has the smallest public-key size as a post-quantum key exchange or encapsulation scheme [3]. It has public keys of only 64 bytes at a conjectured AES-128 security level, matching NIST’s post-quantum security category I. Moreover, primitives for the lattice-based encryption scheme NTRU [4], the code-based encryption scheme McBits [5], and the ring-LWE-based signature scheme “New Hope” [6] have relatively large public and private keys. This drawback is especially obvious when compared with traditional public-key algorithms.
Isogeny-based cryptography relies on the difficulty of the isogeny-finding problem. An isogeny describes a morphism between elliptic curves that preserves the infinity point. Rather than computing with a secret scalar point multiplication, isogeny-based cryptography takes a secret walk on the isogeny graph to generate the public key or encrypt the message. The idea of using isogeny to build a cryptosystem was first proposed by Rostovsev, and Stolbunov [7] in 2006. This original isogeny scheme was later broken by a subexponential quantum algorithm discovered by Childs [8]. In 2011, Jao and De Feo proposed a key exchange protocol instead on isogenies between supersingular elliptic curves. This scheme is known as the supersingular isogeny Diffie–Hellman (SIDH) key exchange, The underlying supersingular isogeny problem is related to the claw problem, which is immune to quantum algorithms. However, the scheme also reveals auxiliary points in public keys, which exposes a potential vulnerability. In August 2022, Castryck and Decru proposed an efficient classical key recovery algorithm that exploits this vulnerability and allows for the attack of SIDH. The algorithm, which relies on the use of Richelot isogenies and abelian surfaces, employs a “glue-and-split” method to successfully break SIDH. In response to this attack, Moriya [9] and Fouotsa [10] proposed modifications to SIDH that would avoid the Castryck and Decru family of attacks. However, these modifications significantly degrade the performance and increase the key size of SIDH by at least an order of magnitude. Fortunately, there are still several isogeny-based cryptosystems, such as CGL [11], CSIDH [3], and SQIsign [12], which are not based on SIDH and, therefore, unaffected by the above-mentioned attacks. In addition, the supersingular isogeny problem has been used to create digital signatures [13,14] and undeniable signatures [15].
In this paper, we present a high-performance application-specific integrated circuit (ASIC) isogeny hardware accelerator. The main contributions of this paper are as follows.
  • We provide a quadratic Montgomery multiplier operating on F p 2 operands on customized hardware which is suitable for supersingular isogeny. Our design architecture can be straightforwardly applied to different sizes of finite fields.
  • We exploit the parallelism of processing units and isogeny subroutines to create an efficient scheduling strategy. It customizes the internal operation logics according to the feature of modular arithmetic units.
  • We prototype our hardware accelerator based on 65 nm SMIC technology by integrating the computing units and the control logic. For the 751-bit prime setting, the design is 2.58 times faster than the state-of-the-art software design and 1.29 times faster than the prior field-programmable gate array (FPGA) implementation. The overall runtime drops to 6.77 ms and 6.10 ms for Alice and Bob in the key generation phase. and to 6.18 ms and 5.36 ms in the secret sharing phase.
The remainder of this paper is organized as follows. Section 2 provides an overview of supersingular isogeny and an abstract introduction to the SIDH protocol. Section 3 lists the parameter settings and the design specifications that we are working on and presents our quadratic Montgomery multiplier, which combines high-radix Montgomery multiplication and quadratic finite field arithmetic. The advantages and limitations of this design are also discussed. In Section 4, we introduce the hardware prototype of the isogeny accelerator and the scheduling methodology of primary isogeny subroutines. Section 5 presents the performance results of our implementation and a comparison with prior works. We also discuss potential improvements and show how our proposed design can help accelerate other isogeny-based cryptosystems. The main contributions are concluded in the final section.

2. Preliminaries

Before introducing our isogeny-based crypto-processor design, we present some prerequisite knowledge associated with elliptic curves and isogeny theory to help understand the basic computation. An abstract SIDH protocol is also described. For more details on the mathematical background and cryptography protocol, we recommend [16,17]. Fast software implementation of all subroutines involved in the key exchange scheme can be found in [18].

2.1. Elliptic Curves and Isogeny

Several classical ECC algorithms use a form of elliptic curves introduced by Montgomery in 1987 [19]. Such curves defined over a finite field F q are described as
E ( a . b ) / F q : b y 2 = x 3 + a x 2 + x ,
where a , b F q and b ( a 2 4 ) 0 . The Montgomery curves are the preferred choice because they allow very efficient x-only arithmetic. This will also feature in isogeny-based cryptography. All points ( x , y ) satisfying the above equation together with the infinity point O compose an abelian group over point addition. Classical ECC relies on the difficulty of solving the elliptic curve discrete logarithm problem in this group. Specifically, it is hard to determine the scalar given any point P and its scalar multiplication Q = k P = P + P + + P . However, Shor’s algorithm [1] provides a sub-exponential method of recovering the scalar multiple on a feasible quantum machine. Fortunately, this is not the end of the story, as cryptographers have found that the supersingular elliptic curve group over isogeny is quantum-resistant, allowing isogeny-based cryptography to be constructed in such a way that ECC lives on.
Here, an isogeny is defined as a rational group morphism from an elliptic curve E to another elliptic curve E that preserves its identity, written as
ϕ : E E , ϕ ( O ) = O .
Given any finite subgroup κ of points on elliptic curve E, there is a unique isogeny ϕ whose kernel is κ . Vélu has provided a method [20] of computing ϕ : E E / κ . On the input of the coefficients of E and the points in κ , Vélu’s formula explicitly outputs the expression of the coefficients of E and the morphism ϕ . The degree of isogeny is the number of elements in the kernel κ , equal to its degree as a rational morphism. Two curves E, E are isogenous if an isogeny exists between them. The following theorem captures an interesting fact.
Theorem 1.
E and E are isogenous if, and only if, they have a same number of points, #E = #E′.
Before elaborating on the SIDH protocol, two properties of elliptic curves should be explained. namely isomorphisms and j-invariants. Isomorphisms are actually a special case of an isogeny in which the kernel is { O } , which are isogenies of degree 1. The j-invariant is a discriminant of an elliptic curve that determines the isomorphism class over F q . The j-invariant of a Montgomery curve is given by
j ( E a , b ) = 256 ( a 2 3 ) 3 a 2 4 .
The relationship between the isomorphism class and the j-invariant can be stated as follows.
Theorem 2.
E, and  E are isomorphic if, and only if, they have the same j-invariant, j ( E ) = j ( E ) .
Isogenous curves have different j-invariants. Thus, an isogeny can be seen as a map from one isomorphism to another. The ostensible explanation of isogeny-based cryptography is that, Alice and Bob walk randomly around the isogeny graph, from one isomorphic class to another, one j-invariant to another, before eventually arriving at the same j-invariant as the shared secret. Based on this, the difficult mathematical problem is that, given the origin curve and the terminal curve, one cannot find the exact isogeny mapping between them in sub-exponential time. However, this problem is vulnerable when using the original curves [8]. Hence, cryptographers moved on to supersingular elliptic curves for which the isogeny problem is secure against classical and quantum cryptanalysis.
In algebraic geometry, supersingular elliptic curves are a certain class of elliptic curves over a field of characteristic p > 0 with unusually large endomorphism rings of Z -rank 4. Supersingular curves are defined over F p or F p 2 , and all can be represented in F p 2 . The endomorphism ring is the ring composed of the set of endomorphisms of a given elliptic curve and the null map. Endomorphisms are a special case of isogenies for which the codomain is the same as the domain, written as
ϕ : E E , | k e r ( ϕ ) | > 1 .
Eventually, we come to the specific case of isogenies on supersingular curves. Two theorems are crucial to understanding the isogeny graph, which is formed by isomorphism classes as vertices and l-isogenies as edges. Considering a specific l, this leads to a roughly regular graph X ( S p 2 , l ) in which almost all nodes have l + 1 unique isogenies up to an isomorphism of degree l. Figure 1 shows an excerpt of the 2-isogeny graph over F 431 2 [21]. In total, there are 37 j-invariants as nodes and 2 isogenies between them as edges.
Theorem 3.
Let S p 2 be the set of supersingular j-invariants. Then # S p 2 = p 12 + b , b { 0 , 1 , 2 } .
Theorem 4.
For every prime l p , there exist l + 1 isogenies of degree l originating from a supersingular base curve.

2.2. SIDH Key Exchange

Building on supersingular isogeny theory, Jao and Le Feo [16] proposed the SIDH key exchange scheme in 2011. The basic purpose of the Diffie–Hellman protocol is to enable two parties to agree on a shared secret securely through a public channel under a passive security model. SIDH works on elliptic curves in the same way as ECDH but replaces the underlying computation by handling large degree isogenies.
Initially, the involved parties agree on the public parameters. Alice and Bob publicly select a smooth isogeny prime in the form of Equation (5), where l A and l B are small primes, e A and e B are positive integers, and f is a small cofactor to make p prime.
p = l A e A · l B e B · f ± 1
A supersingular curve E ( F p 2 ) is defined over this number. This elliptic curve group is the full ( p + 1 ) -torsion which is isomorphic to Z p 1 × Z p 1 .
E ( F p 2 ) Z ( l A e A l B e B f ) × Z ( l A e A l B e B f )
The cardinality of E is # E = ( l A e A l B e B f ) 2 . Next, Alice and Bob choose independent elliptic curve points so that the subgroups E [ l A e A ] and E [ l B e B ] can be generated as E [ l A e A ] = P A , P B and E [ l B e B ] = Q A , Q B . We now have all the necessary presuppositions.
The first phase of the SIDH protocol is ephemeral key generation. Alice chooses two private keys m A , n A Z / l A e A Z with the condition that they are not both divisible by l A e A . Analogously, Bob chooses m B , n B Z / l B e B Z , where m B , n B are not both divisible by l B e B . The protocol then proceeds as follows.
  • Alice computes the isogeny ϕ A : E E A with the kernel R A = m A P A + n A Q A . Alice then projects Bob’s basis points under the new curve { ϕ A ( P B ) , ϕ A ( Q B ) } E A . Alice’s ephemeral public key is { E A , ϕ A ( P B ) , ϕ A ( Q B ) } .
  • Bob computes the isogeny ϕ B : E E B with the kernel R B = m B P B + n B Q B . Bob then projects Alice’s basis points under the new curve { ϕ B ( P A ) , ϕ B ( Q A ) } E B . Bob’s ephemeral public key is { E B , ϕ B ( P A ) , ϕ B ( Q A ) } .
For the second phase of the protocol, Alice and Bob compute the shared secret as follows once they have received the exchanged information from the other party. The second phase calculation is quite similar to that of the first phase, except that the basis points are no longer pushed through the isogeny.
  • Alice computes her isogeny ϕ A B : E B E A B with the kernel ϕ B ( R A ) = m A ϕ B ( P A ) + n A ϕ B ( Q A ) .
  • Bob computes his isogeny ϕ B A : E A E B A with the kernel ϕ A ( R B ) = m B ϕ A ( P B ) + n B ϕ A ( Q B ) .
The curves E A B and E B A reside in the same isomorphism class, so the j-invariant of these curves can be used as the shared secret. An abstract SIDH protocol is illustrated in Figure 2.

2.3. Large Degree Isogeny Decomposition

The main part of the SIDH protocol is computing the large degree isogeny given any specific kernel. The breakdown of all computations for the supersingular isogeny is shown in Figure 3, similar to a superset of the breakdown of point manipulation. The large degree isogeny is the core whereby the secret kernel is pushed to the public key and then to the shared secret. Thus, an efficient method of computing it is of the same importance as scalar point multiplication in ECC.
Given a finite subgroup R E / F p 2 [ l e ] of order l e , there is a unique isogeny ϕ R of degree l e with the kernel R , that maps E to an isogenous curve E / R . The direct calculation of a large degree isogeny is quite hard, but it can be decomposed into e isogenies of degree l, which then are computed in sequence using Vélu’s formulas. As proposed in [16], we can initialise R 0 : = R and E 0 : = E and then compute
E i + 1 = E i / l e i 1 R i , ϕ i : E i E i + 1 , R i + 1 = ϕ i ( R i ) .
For each i [ 0 , e ) , the l-degree isogeny ϕ i is computed upon the kernel l e i 1 R i of order l, and then used to compute R i + 1 . In each iteration, the point R i is an l e i -torsion point and so l e i 1 R i has order l. Eventually, through each ϕ i , the starting subgroup will be pushed to O . Therefore, it is obvious that ϕ = ϕ R = ϕ e 1 ϕ 0 has degree l e with kernel R .
There are two straightforward ways to compute ϕ based on this decomposition, a multiplication-based strategy, and an isogeny-based method. The former iteratively computes l e i 1 R i by scalar multiplication and ϕ i by Vélu’s formulas at each step. The latter method, however, only performs scalar multiplication once and stores every intermediate Q i = l i R , for  i [ 0 , e ) . By iteratively computing ϕ i and ϕ i ( Q j ) , j < e i , it is possible to perform all of the l-degree isogenies, and, hence the composition ϕ . These two methods are illustrated as the two left graphs in Figure 4 in the form of a directed acyclic graph. Either scalar multiplications or isogeny evaluations of all nodes have to be processed, which makes these straightforward strategies inefficient. It should be noted that explicit expressions for isogeny evaluations are calculated through isogeny computations on leaf nodes on the left. Thus, points on the right side of the graph can only be obtained after the points on the left are processed. This also implies that we can concurrently execute isogeny evaluations in the same column but not point multiplications in the same row.
The optimal approach to schedule the scalar multiplications and isogeny evaluations in serial is first proposed in [16], which is the best permutation and combination of the above two methods. Such strategies are compared and visualized as two right graphs in Figure 4. We can traverse these graphs by storing the pivot points, rather than all intermediates, to obtain the final composition efficiently. The optimal strategy for a large degree isogeny evaluation may vary depending on the implementation, as the time required for certain operations can be different. Graphs (c) and (d) illustrate the impact of these differences. Graph (c) shows the case where isogeny evaluation takes an additional 20% time compared to point multiplication, while (d) shows the opposite case. Optimal strategies for parallel execution will be more complex due to the additional factors involved, including the number and delay of arithmetic units, data dependency, and the memory interface.

3. Quadratic Finite Field Arithmetic for Isogeny

3.1. Parameter Settings

We design our arithmetic unit to support four parameter settings predefined in the SIDH specification of NIST’s post-quantum cryptography round 2 and round 3 submissions [22], as listed in Table 1. Three of these primes have an even power for degree-2 isogeny, which facilitates the use of 4-isogeny. The primes p 503 and p 751 have been widely studied [23,24,25]. For the underlying curve, we start from the supersingular Montgomery curve E 0 / F p 2 : y 2 = x 3 + 6 x 2 + x by setting a = 6 and b = 1 without compromising security. Every curve in the isogeny class derived from this curve has ( p + 1 ) 2 points and is also supersingular. The starting curve E 0 is part of the public parameter of the SIDH key exchange protocol.

3.2. Quotient Pipeline

From the public parameter settings and the leveled breakdown of the supersingular isogeny protocol (Figure 3), it can be concluded that almost all fundamental arithmetic operations required to evaluate a supersingular isogeny work in F p 2 . In Section 4, we will quantitatively analyze the operations in each phase of the protocol and demonstrate that modular multiplication is the most costly and frequently used building block. Thus, a dedicated and efficient quadratic field arithmetic unit will improve the hardware implementation.
Previous SIDH hardware designs [24,26,27] have mostly been applied to FPGAs. The typical F p 2 modular multiplier proposed in these works uses the native digital signal processors (DSPs) of reconfigurable hardware. The main part of the DSP slice is a high-performance 27 × 18 multiplier. By wiring through the programmable connectivity, the DSP arrays or matrices consist of interleaved systolic Montgomery multipliers capable of processing large operands. This architecture is regarded as a modular multiplier with radix equivalent to the DSP bit-width, typically 16-bit. An appropriately higher radix will reduce the number of iterations needed in each modular multiplication, resulting in performance gains. FPGAs do not apply to native higher radix (e.g., 32-bit or 64-bit) because of their slice structure. Customized hardware, however, can implement such multipliers to enhance the computation speed.
When performing modular multiplication using the Montgomery method, it is essential to understand that the radix will significantly influence the architecture of the multiplier, even the part built on the arithmetic units. The original Montgomery multiplication indicates that a high radix decreases the number of iterations but increases the latency of every single iteration. Thus, there is no generic way to minimize the latency of complete modular multiplication. Specifically, the calculation of residue uses a carry-save adder (CSA) to compress the partial products, which may mitigate the accrued latency caused by a higher radix. The critical path of the CSA climbs slowly with respect to the bit-width of the operands. However, to obtain the result of the quotient, we must use a carry propagation adder (CPA), for which the computation time is highly dependent on the radix. To solve this problem, Holger [28] proposed a method to decouple the calculation of residue and quotient, which allows for concurrent execution of modular multiplication.
In addition to the influence of the selected radix, another possible improvement involves building a specific F p 2 modular multiplier instead of an F p arithmetic unit. The traditional way to compute an extension field multiplication is to apply the Karatsuba–Ofman algorithm to the prime field multiplier. An  F p 2 multiplication requires at least three F p multiplications, with some pre- and post-additions. If operating using the schoolbook algorithm, the  F p 2 multiplication will be resolved as Equation (8), where A = a 0 + a 1 i and B = b 0 + b 1 i , A , B F p 2 , a 0 , a 1 , b 0 , b 1 F p .
A · B = ( a 0 + a 1 i ) · ( b 0 + b 1 i ) = ( a 0 b 0 + ( a 1 ) b 1 ) + ( a 0 b 1 + a 1 b 0 ) i
By defining an operator σ ( x 0 , x 1 , x 2 , x 3 ) x 0 x 1 + x 2 x 3 , the  F p 2 multiplication can be rewritten [29] as
A · B = σ ( a 0 , b 0 , a 1 , b 1 ) + σ ( a 0 , b 1 , a 1 , b 0 ) i .
A dedicated σ processing unit will help to build an F p 2 multiplier with similar latency to the F p computation at a reasonable area cost. The design of the F p 2 modular multiplier will be discussed after its theoretical foundations are presented.
In the Montgomery multiplication, the following equation is the most costly iteration, where M is the modulus, r is the radix, and  M is the precomputed parameter satisfying M = ( M 1 ) mod 2 r .
q i = ( ( ( S i + b i A ) mod 2 r ) · M ) mod 2 r S i + 1 = ( S i + q i M + b i A ) / 2 r
To simplify the q i calculation, we first combine M with M and rewrite as M ¯ = ( M mod 2 r ) × M . Then q i can be defined as
q i = ( S i + b i A ) mod 2 r .
The residue calculation in each iteration can be expressed as
S i + 1 = ( S i + q i · M ¯ + b i A ) / 2 r .
Furthermore, by pre-scaling A by 2 r and adding one iteration to compensate for this extra factor, high-radix Montgomery multiplication can be performed in the following form.
q i = S i mod 2 r S i + 1 = ( S i + q i · M ¯ ) / 2 r + b i A
Although the quotient determination only needs to reduce mod 2 r by right shifting, it is not trivial because S i exists in carry-save form. The ordinary form of S i has to be determined before it is used to calculate q i . The data dependency between S i and q i limits the performance of the high-radix Montgomery multiplier. The quotient pipelining technique [28] delays the use of the quotient digit q i d by d iterations, giving the carry ample time to propagate and ensuring there is sufficient time to determine a quotient at the cost of d extra iterations. The disadvantages of this method are the extra cycles required to merge q 1 , q 2 , , q d and the larger operand bit-width. The overhead will become more significant as the delay increases. In our situation, a delay of one cycle ( d = 1 ) is sufficient to remove the interference between the residue and the quotient calculation. By involving several precomputed parameters, the cost of the 1-stage quotient pipeline can be further mitigated.
The key point in decoupling the quotient and residue calculation is to remove the q i term from the S i + 1 expression, allowing S i + 1 and q i to be determined in parallel. By defining M ˜ = ( 1 + M ¯ ) / 2 r , S i + 1 can then be represented as S i + 1 = S i / 2 r + q i M ˜ + b i A . Furthermore, the core iteration of high-radix Montgomery multiplication becomes
S i + 1 q i M ˜ = S i / 2 r + b i A = ( S i q i 1 M ˜ + q i 1 M ˜ ) / 2 r + b i A , S i + 1 = S i / 2 r + q i 1 M ˜ / 2 r + b i A = S i / 2 r + q i 1 M 1 ˜ + b i A .
where M 1 ˜ = ( 1 + M 1 ¯ ) / 2 2 r , M 1 ¯ = ( M 1 mod 2 2 r ) × M , and  M 1 = ( M 1 ) mod 2 2 r are pre-determined. The index 1 indicates that these pre-computed parameters work for a 1-stage quotient pipeline. The reason that specific factors have to be proposed for the delayed variant is that the correctness of the algorithm is built on 2 2 r dividing 1 + M 1 ¯ . From Equation (14), we can tell that S i + 1 is now independent of q i , which decouples the calculation in each iteration.
Furthermore, it is obvious that the σ operator can be straightforwardly implemented with a minor modification to Equation (14). Setting up a sufficient digit range, the Montgomery algorithm can merge the post-addition with multiplication. The large integer addition can be processed along with the compression of partial products. Additionally, the  σ operator produces a similar effect as Karatsuba–Ofman multiplication. Karatsuba proposed a method for computing a complex multiplication, such as Equation (15), by saving a real number multiplication. Correspondingly, the  σ operator reduces the number of partial products in the A B + C D computation by a quarter, which results in a lower area than two individual F p multipliers. This design is highly suitable for supersingular isogeny calculation considering that these curves are defined over F p 2 .
x × y = ( x 0 + x 1 i ) ( y 0 + y 1 i ) = ( z 0 z 2 ) + z 1 i z 0 = x 0 y 0 z 1 = ( x 1 + x 0 ) ( y 1 + y 0 ) z 1 z 2 z 2 = x 1 y 1
We obtain the final form of the high-radix Montgomery multiplication from Algorithm 1.
Algorithm 1 1-Stage High-Radix Montgomery Multiplication with Quotient Pipeline
Require: 
A prime modulus M > 2 , a positive radix r, a positive integer n, such that 16 M < 2 r ( n 1 ) . Integer R 1 , where ( 2 r n R 1 ) mod M = 1 , and integers M 1 ¯ = M 1 mod 2 2 r × M , M 1 ˜ = ( M 1 ¯ + 1 ) / 2 2 r , M ¯ = M 1 mod 2 r × M , M ˜ = ( M ¯ + 1 ) / 2 r . Operands A, B, C, D where 0 A , B , C , D < 4 · 2 r · M , B = i = 0 n 1 b i 2 r i , D = i = 0 n 1 d i 2 r i
Ensure: 
Integer S n + 2 = ( A B + C D ) × R 1 mod M < 4 · 2 r · M
1:
S 0 = 0 , q 1 = 0
2:
for  i = 0  to n do
3:
     q i = S i mod 2 r
4:
     S i + 1 = S i / 2 r + q i 1 M 1 ˜ + b i A + d i C
5:
end for
6:
S n + 2 = S n + 1 + q n M ˜
Proof of Algorithm 1.
To verify the specific variant of Montgomery multiplication, we can simply accumulate each iteration.
2 r ( i + 1 ) S i + 1 = j = 0 i q j 2 r j + j = 0 i 1 q j 2 j + 2 M 1 ˜ + j = 0 i ( b j A + d j C ) 2 r j · 2 r S n + 1 = j = 0 n 1 q j M 1 ¯ 2 r j + ( A B + C D ) · 2 r q n 2 r n 2 r ( n + 1 ) S n + 2 = ( A B + C D ) 2 r n + j = 0 n 1 q j M 1 ¯ 2 r j + q n M ¯ 2 r n 2 r ( n + 1 ) = ( A B + C D ) 2 r n mod M
Considering that M ¯ < 2 r · M and M 1 ¯ < 2 2 r · M , the last term of S n + 2 has an upper bound of 2 · 2 r · M . Additionally, A, B, C, and D should individually have upper bounds of α · 2 r · M . Therefore, the result satisfies S n + 2 < 2 α 2 · 2 2 r M 2 2 r n + 2 · 2 r · M . On the condition that 16 M < 2 r ( n 1 ) , the output and input share the same range S n + 2 < 4 · 2 r · M , which means the algorithm can be applied recursively.    □

3.3. Quadratic Finite Field Multiplier

From the perspective of circuit design, we can use a customized multiplier built with Booth encoding and a Wallace tree to implement the quadratic field modular multiplication unit (QMM). Without the limitation of the FPGA slice architecture, a larger elementary integer multiplier can be built to achieve a more efficient finite field arithmetic unit. The modified Booth-2 encoder reduces the number of partial products by half at little cost, which in turn allows us to process more bits with the same hardware resource. The Wallace tree is employed to accumulate partial products in carry-save form with a short critical path. These two techniques are usually combined to implement a dedicated large-size multiplier because of their regularity and efficiency.
The architecture of the proposed QMM, shown in Figure 5, is equipped with a modified Booth-2 encoder, a Wallace tree, and a carry propagate adder (CPA). The multiplication dataflow is started by pushing the multiplicand into the shift register while padding its head and tail with sign bits and zeros. This register allows the Booth encoder to manipulate different segments of the multiplicand on each iteration, and is, therefore, suitable for diverse operand widths. Next, the Booth encoder takes a multiplicand segment from the ahead register and a multiplicator radix to produce the partial products of b i A , d i C , q i M ˜ . A bundle of partial products is dropped into the Wallace tree and passes through a 6-layer 4:2 CSA. This yields the final result of S i in carry-save form. While the CPA combines S i , the Wallace tree steps into the next iteration to process the next segment, which is the fundamental idea behind the quotient pipeline.
To work with operands of different bit widths, it is useful to develop a flexible multiplier architecture that can accommodate a range of input sizes. The radix of the multiplicators determines the number of partial products we need to compress in one cycle, and thus the critical delay of the multiplier. Additionally, the radix affects the size of the final addition which sums up the outputs from the Wallace tree. Theoretically, the 4:2 CSA tree has a latency of ∼ 3 · 9 · log 2 ( 3 2 · radix ) , whereas the CPA has a latency of 2 · radix . To balance the performance of different parts and ensure a regular digit width, the multiplier uses a 64-bit radix. Afterward, the multiplicands expand to meet the requirement of the quotient pipeline. they are so large that an unnecessary connectivity delay will be introduced. Thus, the multiplicands are segmented and processed iteratively. According to the typical primes we are studying, the extended widths of the multiplicands are 570, 639, 746, and 887 bits, as listed in Table 2. Considering the QMM utilization rate in each field and the circuit size of the processing unit, we would propose a multiplicand batch size of 128 bits for each iteration.
The workflow of QMM is summarised in Algorithm 2, which explains how the embedded iterations work. The total loop time depends on the size of the operands presented in Table 2. v and w indicate the batch number of the multiplicand and multiplicator, respectively, and the total number of loops can be calculated as v · ( w + 2 ) + 3 . The superscript C , S indicates that S i is stored in a carry-save form which does not affect the correctness of the algorithm. Right before the quotient determination, the CPA is applied to S i to derive the original form. For each iteration, the Wallace tree compresses 98 integers into a single carry-save result. This can be efficiently implemented by cascading the six layers of 4:2 CSA. A schematic of the 1-bit CSA is given in Figure 5. Each pair of lines constitutes a carry-save encoding of input, output, or ‘double’ carry. The 4:2 structure has a more regular layout compared with 3:2 adders, which allows the use of binary tree structures. It can be seen as an adder taking two carry-save encoding numbers and producing the result in the same representation. To support the QMM and the subsequently introduced modular adder, the accelerator is equipped with 128-bit width memories for storing intermediate variables and caching larger operands. The specific design of the memory and access unit will be discussed in Section 4.
The dedicated design of the QMM offers several salient performance improvements over an individual field multiplier. The advantages depend to a certain extent on the specific F p 2 scenario and, therefore, have some limitations.
Algorithm 2 Quadratic field modular multiplier workflow
Require: 
A prime modulus M > 2 , a positive radix r, a positive integer n such that 16 M < 2 r ( n 1 ) . Integer R 1 , where ( 2 r n R 1 ) mod M = 1 , and integers M 1 ¯ = M 1 mod 2 2 r × M , M 1 ˜ = ( M 1 ¯ + 1 ) / 2 2 r , M ¯ = M 1 mod 2 r × M , M ˜ = ( M ¯ + 1 ) / 2 r . Operands A, B, C, D where 0 A , B , C , D < 4 · 2 r · M , B = i = 0 n 1 b i 2 r i , D = i = 0 n 1 d i 2 r i
Ensure: 
Integer ( A B + C D ) × R 1 mod M < 4 · 2 r · M
1:
S 0 = 0 , q 1 = 0 , c a r r y 1 = 0 , o v e r l a p 1 = 0
2:
for  i = 0  to w do
3:
     { c a r r y i , q i } = CPA ( S i , 0 C , S [ r 1 : 0 ] )       ▹ Quotient determination
4:
    for  j = 0  to  v 1  do
5:
         P P j = BoothEncode ( A j , b i , C j , d i , M 1 ˜ , j , q i 1 )
6:
        if  j = = 0  then
7:
            { o v e r l a p j , S i + 1 , j C , S } = WallaceTree ( P P j , { S i , j + 1 C , S [ r 1 : 0 ] , S i , j C , S > > r } , o v e r l a p j 1 , c a r r y i 1 )
8:
        else
9:
            { o v e r l a p j , S i + 1 , j C , S } = WallaceTree ( P P j , { S i , j + 1 C , S [ r 1 : 0 ] , S i , j C , S > > r } , o v e r l a p j 1 )
10:
        end if
11:
    end for
12:
     o v e r l a p 1 = o v e r l a p v 1
13:
end for
14:
for  j = 0  to  v 1  do
15:
     P P j = BoothEncode ( M ˜ j , q w )         ▹ Last iteration
16:
    if  j = = 0  then
17:
         { o v e r l a p j , S w + 2 , j C , S } = WallaceTree ( P P j , { S w + 1 , j + 1 C , S [ r 1 : 0 ] , S w + 1 , j C , S > > r } , o v e r l a p j 1 , c a r r y w )
18:
    else
19:
         { o v e r l a p j , S w + 2 , j C , S } = WallaceTree ( P P j , { S w + 1 , j + 1 C , S [ r 1 : 0 ] , S w + 1 , j C , S > > r } , o v e r l a p j 1 )
20:
    end if
21:
end for
22:
return  S w + 2 C , S = { S w + 2 , j C , S }
  • Performance and area. The  σ operator merges two F p multiplications together, which saves a post-addition and reduces the number of partial products of b i A and d i C by a quarter. Although the QMM has to compress more partial products in each iteration, the critical path increases slightly because of the Wallace tree architecture. It takes two σ operations in series or in parallel to complete an F p 2 multiplication, where one QMM has an area cost of 205k equivalent gates and a latency cost of 2.316 ns.
  • Flexibility. Our design is flexible enough to support different operand sizes, including p 434 , p 503 , p 610 , and p 751 with a high hardware utilization ratio. The architecture is intended for use with the parameters predefined in the SIDH protocol. Furthermore, the newly proposed primes in the round 3 submission of SIKE [22] are also supported by this circuit. The downside that the ASIC implementation is less scalable has been mitigated. Additionally, setting C and D to zero trivially transforms this quadratic modular multiplier into a normal multiplier.
  • Regularity. Compared with the Karatsuba method, an additional advantage of deploying the QMM is its regularity, which benefits both scheduling and circuit layout. To parallelize the hundreds of field arithmetic calculations in the protocol, the sequencer needs to handle the data dependency and processing unit workload carefully. In the classical approach, a fully parallelized F p 2 occupies three basic modular multipliers simultaneously. If the number of modular multipliers is not a multiple of 3, it becomes less convenient to schedule the operations. From this point of view, QMM uses two σ operations, which makes it easier to sequence different subroutines.

3.4. Quadratic Finite Field Adder

Modular addition and subtraction are similar to standard arithmetic operations, except that the results must be wrapped around to fit within the finite field. As subtraction can be implemented by a minor modification to an adder, we will focus on the design of modular addition first. We design a hierarchical carry-lookahead adder (HCLA) as the basic unit to process the modular addition. It consists of two layers, with the upper layer comprised of m ripple adders that process l-bit additions and the lower layer generating carry lookahead signals. The adder has a delay of 2 log 2 r A + 2 l + 1 , where r A = l · m is the bit-width of operands and l is the bit-width of each ripple adder. To match the critical path delay of QMM, r A is set to 256, and l is set to 16 in this work.
To avoid the additional time cost of modular reduction, two HCLA units are incorporated to work in parallel, with one only computing addition and the other computing addition with reduction. The final output is selected from two results based on their most significant bit. This architecture is suitable for large bit-width arithmetic due to the use of parallel carry generation and the modular design of units. Our proposed quadratic modular adder (QMA) employs four HCLAs to compute addition in extension finite field concurrently, and its schematic is shown in Figure 6. To support the four parameter settings defined in the SIKE specification, we use the elementary 256-bit HCLA to perform field additions of different sizes through iterative calculation. It takes two to four clock cycles to calculate an addition in a quadratic field.

3.5. Finite Field Inverse Unit

Several algorithms can be used to compute modular inverses. Fermat’s Little Theorem is an effective method in cases where modular exponentiation is highly optimized. However, this algorithm is unsuitable for fields with smooth characteristics p = i l i e i 1 used in large degree isogeny. This method requires roughly the same number of modular squares as the bit-width of the modulus and a certain number of modular multiplications. Even if the addition chain can accelerate the computation. The efficiency is still relatively low. The Euclidean extended algorithm and the Kaliski inversion can significantly reduce the complexity of modular inversion from O ( log 3 n ) to O ( log 2 n ) . The drawback is their non-constant execution time, leading to side-channel leakage.
The Kaliski algorithm is designed specifically for the Montgomery modular arithmetic [30]. It takes an original field element as input and calculates its inverse in the Montgomery domain. Savas extends this algorithm to high-radix mode and proposes a new Montgomery modular inverse algorithm [31], which replaces the k n iterations in Phase II with up to three Montgomery multiplications. This algorithm is more suitable for our design. For example, computing the modular inverse in F p 751 using Fermat’s Little Theorem requires approximately 745 modular squares and 150 modular multiplications. By comparison, the new Montgomery inversion requires roughly 1066 iterations, with each iteration consisting of several additions and subtractions, as well as two to three additional modular multiplications.
Unlike the optimization employed for quadratic modular multiplication and addition, which require multiple operations in the base field for extension field arithmetic, modular inversion in F p 2 can be reduced to just one inversion in F p . Therefore, we design an inversion unit that operates solely in F p , as described in Algorithm 3. It utilizes the previously developed QMA and QMM components, obviating the need for a dedicated inversion unit. In particular, two QMAs perform two F p subtractions and one F p addition in parallel, thereby completing phase I of the Montgomery inversion. The final multiplications required in phase II can then be executed using the QMM.
Algorithm 3 New Montgomery modular inversion datapath
Require: 
A 2 r n ( mod M ) , r n , 2 2 r n ( mod M ) , and M
Ensure: 
A 1 2 r n ( mod M )
1:
u = M , v = A 2 r n ( mod M ) , r = 0 and s = 1      ▹ Phase I: AlmMonInv
2:
while  v > 0  do
3:
    if  u [ 0 ] = 0  then  u = u 1 , s = s 1
4:
    else if  v [ 0 ] = 0  then  v = v 1 , r = r 1
5:
    else
6:
         t 1 = u v , t 2 = v u , t 3 = r + s
7:
        if  t 1 , b o r r o w = False  then  u = t 1 1 , r = t 3 , s = s 1
8:
        else  v = t 2 1 , s = t 3 , r = r 1
9:
        end if
10:
    end if
11:
     k = k + 1
12:
end while
13:
t 1 = r M , t 2 = ( M 1 ) r
14:
if  t 1 , b o r r o w = True  then  t 1 = t 2
15:
end if
16:
t 2 = r n k , t 3 = k + r n              ▹ Phase II: correction
17:
if  t 2 , b o r r o w = False  then
18:
     t 1 = QMM ( t 1 , 2 2 r n )
19:
     k = t 3
20:
end if
21:
t 1 = QMM ( t 1 , 2 2 r n )
22:
A 1 2 r n ( mod M ) = QMM ( t 1 , 2 2 r n k )

4. High-Level Architecture Design

We aim to build an efficient and scalable isogeny accelerator to support isogeny-based cryptography with different parameters based on the arithmetic unit mentioned above. At a high level, the isogeny accelerator has four components. The arithmetic logic unit, which includes several modular multipliers, modular adders, and a Keccek hash module, handles the intensive computation. The control unit manages the runtime, fetches instructions, and generates signals for the other components. The ROM stores the instruction sequence created by the scheduling script, and the RAM holds intermediates such as pivot point coordinates during computation. The datapath width is set to 256-bit, which meets the throughput requirements of the modular adder and multiplier. A true dual-port RAM is used as the cache, with a memory depth of 1024 and the ability to store 128 F p 751 2 operands to support pivot points storage.
The instruction sequence is generated by a scheduling strategy and each instruction has a bit-width of 32 bits. The first 12 bits comprise the opcode, which mainly specifies the arithmetic operation. Bits 12–21 and 22–31 represent the data addresses accessed by Port A and Port B, respectively. The first three bits in the opcode control memory load and store. Bits 3–5 instructs the modular adder to perform addition or subtraction with or without reduction. Bits 6–7 control the QMM to calculate either modular multiplication, modular squaring, or base field multiplication. The 8th bit is reserved for modular inversion, and bits 9–10 are the selection signal for the result multiplexer of the arithmetic unit. The 11th bit serves as a no-operation flag.
The scheduling strategy is structured into three hierarchical layers: extension field arithmetic, primary subroutine, and large-degree isogeny. Lower-level operations serve as abstractions to upper-level ones. Firstly, all operations in F p 2 are natively implemented as the arithmetic unit, eliminating the need for optimization like previous implementations. Secondly, primary subroutines are scheduled based on field arithmetic operations. Since modular multiplication takes approximately ten times longer than modular addition and subtraction, multiplication has a higher priority in the same time slot. The scheduling also takes the number of instantiated multiplication units into consideration. For example, in the case of 4_iso_eval, three QMMs can reduce the delay by one multiplication operation compared with two QMMs. The step-by-step workflow is shown in Table 3 for these two scenarios. The required arithmetic operations of all subroutines after scheduling can be found in Table 4. Lastly, the large degree isogeny was computed by iteratively calculating the base isogeny operations. The optimal strategy for serial execution of subroutines is known, as described in Section 2.3. Due to the different relative weights of scalar multiplications and isogeny evaluations under various parameters, strategies were generated separately based on Table 5, which shows the number of clock cycles each subroutine needs. It shows that the latency of some subroutines, such as j_inv, increases more rapidly between parameters. This is because modular inversion requires more iterations.

5. Experimental Results and Discussion

We developed a hardware prototype for the isogeny accelerator under SMIC’s 65 nm technology, following the high-level design and arithmetic unit specification. The circuit was validated through post-synthesis simulation via the known answer test from the SIDH documentation. To evaluate the scalability of the isogeny accelerator, two implementations are created incorporating two and three modular multipliers, respectively. Programs for different parameters are executed on both designs, and the results indicate that the critical path delay remained stable in various scenarios. The longest latency of 1.912 ns was selected as the operating clock of the final design. The latency results for processing the SIDH protocol with predefined parameters can be found in Table 6. The total delay is the sum of encapsulation and decapsulation. Key generation is not included as it can be performed offline.
The resource cost of our design and a comparison with other SIDH F p 751 implementations in the literature are shown in Table 7. Our implementation with three QMMs shows a delay that is almost equivalent to the previous most efficient implementation [32], completing encapsulation and decapsulation within 9.37 s at a clock frequency of 523 MHz. The comparison of the area is not straightforward, as other implementations utilized FPGA platforms such as Virtex-7 and Ultrascale+. In accordance with the metric presented in [27], we convert the resource utilization of the FPGA into slice equivalent cost and further transform it into equivalent gate counts at a rate of 19.2 ASIC gates per slice. The experimental results, including latency, normalized area, and AT product, are presented in Table 2. The AT product is calculated by multiplying latency with the equivalent gate cost.
Our isogeny accelerator shows an advantage in terms of delay, with an economical utilization of area. This is primarily attributed to the design of the specific F p 2 arithmetic unit, reducing the redundant computation commonly incurred when performing F p 2 operations using an F p operator. On the other hand, it should be noted that due to the scalable design of our circuit, it is not as compact as the implementation targeting one parameter set. It is not feasible for all operands of different sizes to properly occupy the arithmetic unit, particularly when the radix is comparable with the size of operands.

5.1. Other Isogeny-Based Schemes

Despite the vulnerability of SIDH to Catryck and Decru family of attacks, there exist a number of isogeny-based cryptosystems, such as CGL, CSIDH, and SQIsign, which do not exploit auxiliary points and are thus unaffected by these particular attacks. For instance, Charles introduced a provable collision-resistant hash function derived from supersingular isogeny graphs [11]. These graphs, as proven by Pizer [33], are instances of Ramanujan graphs, which are expander graphs with excellent mixing properties. This allows the CGL hash function to offer a high level of collision resistance. Supersingular isogeny graphs utilized in CGL are similar to those used to evaluate a large-degree isogeny. A toy example of such a graph is shown in Figure 1. It is defined over a finite field and consists of vertices representing supersingular elliptic curves over that field, with edges representing isogenies between these curves.
The CGL hash function operates by walking around a supersingular isogeny graph based on the input without any backtracking. The final output is the compressed j-invariant of the terminal elliptic curve. In cases of 2-isogenies, a step in the walk involves finding and ordering the 2-torsion points of the current curve and then calculating the next elliptic curve from the selected 2-torsion. Our proposed isogeny accelerator can perform each step in 23,583 clock cycles, equating to approximately 41.25 μ s and yielding a 24.24 kbps throughput without optimization.

5.2. Side-Channel Considerations

Side-channel attacks (SCA) on implementations of cryptographic algorithms are also an important topic. Despite the theoretical security of the primitives, the software or hardware implementations may leak sensitive information through side channels, such as power consumption and electromagnetic radiation. For instance, various studies have investigated SCAs on key encapsulation mechanisms (KEMs). Refs. [34,35] have explored side-channel assisted plaintext-checking oracle attacks on KEMs. Ref. [36] presented a profiling SCA on an FPGA implementation of CRYSTALS-Kyber employing the sliced multi-bit error injection. Ref. [37] studied profiled SCA against Dilithium, targeting the first number theory transform stage and polynomial multiplication, and proposed countermeasures against such attacks. Ref. [38] mainly focused on the fault detection methods of Saber and Falcon. Ref. [39] discovered a vulnerability in KEM algorithms, where implementations using a Boolean conversion procedure similar to Saber’s may be susceptible to message recovery attacks, even in the case of higher-order masked implementation.
Table 7. Performance comparison with other implementations using the 751-bit prime setting.
Table 7. Performance comparison with other implementations using the 751-bit prime setting.
Work#Slices#DSP#BRAMFrequency (MHz)Latency ( × 10 6 cc)Latency (ms)Equivalent Gates ( × 10 3 )AT Product ( × 10 3 )
[22]15,452  51243.5296.94.5415.3136320,854
[40] *813116239.0141.68.6461.054233,062
[27] **15,38451243.5163.14.5327.8136237,864
[41]11,13645241.5232.75.9325.5116129,606
[42]15,24645654.0182.33.3218.2127223,150
[32]27,28683473.5155.81.449.27226621,005
Ours---523.04.909.365165115,462
5.8411,172129314,445
An Ultrascale+ CLB has two slices inside. * The work is a compact hardware/software co-design targeting speed/area trade-off. ** The implementation in this work is similar to that in SIDH specification, except for the execution platform. SEC = 100 × BRAMs + 100 × DSPs + Slices [42], SEC = 19.2 equivalent gates.
Compared to other cryptographic algorithms, curve-based schemes exhibit vulnerabilities at special points owing to the special characteristics of elliptic curves as a cyclic group. For instance, traditional ECC is susceptible to attacks, such as zero value, invalid curve, and invalid point. Randomized coordinates, point coherence checks, and curve integrity checks are commonly used to mitigate these attacks. In the context of isogeny-based cryptography, some attacks that target ECC, including refined power analysis, can also be utilized. In [43], Koziel employed three techniques to target SIDH. He analyzed the representation of zero in the context of quadratic extension fields and isogeny arithmetic and presented three distinct refined power analysis attacks on SIDH. The first and second attacks focused on the three-point Montgomery ladder, using partial-zero and zero-value attacks, respectively. The third attack suggested a method of exploiting zero-values in the context of isogenies to break the large-degree isogeny. The attacks proposed in this article raise further concerns about the security of using static-key in SIDH.

6. Conclusions

Isogeny-based cryptography has the apparent advantage of a minor key length, which helps mitigate the transmission load and storage requirement. It is meaningful to improve the efficiency of isogeny operations. We propose a scalable and high-performance isogeny accelerator that supports four parameter sets. The accelerator features a suite of specialized arithmetic units, including a F p 2 quotient pipelining multiplier, a F p 2 modular adder, and a F p Kaliski inversion unit reutilizing these F p 2 blocks. The primary subroutines are scheduled specifically for these units. Customized instruction sequences are generated for different parameters individually to improve parallelism and performance while maintaining scalability. Our prototype 65 nm accelerator is capable of completing encapsulations in 4.53 ms and decapsulations in 4.84 ms under a 751-bit prime setting. This performance is comparable to the previous highest-performance FPGA implementation but with a more efficient area cost. The area time product is reduced by about a quarter compared with previous works. Additionally, we show that the proposed architecture can accelerate other isogeny applications such as the cryptographic hash function.

Author Contributions

Conceptualization, G.S. and G.B.; methodology, G.B.; validation, G.S.; formal analysis, G.S. and G.B.; data curation, G.S.; writing—original draft preparation, G.S.; writing—review and editing, G.B.; supervision, G.B.; project administration, G.B.; funding acquisition, G.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the China State Key Laboratory of Cryptology grant number MMKLKT201808, and by the National Natural Science Foundation of China grant number 61472208.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Shor, P.W. Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, Santa Fe, NM, USA, 20–22 November 1994; pp. 124–134. [Google Scholar]
  2. NIST. Post-Quantum Cryptography Standardization. Available online: https://csrc.nist.gov/Projects/post-quantum-cryptography/Post-Quantum-Cryptography-Standardization (accessed on 20 June 2022).
  3. Castryck, W.; Lange, T.; Martindale, C.; Panny, L.; Renes, J. CSIDH: An efficient post-quantum commutative group action. In Advances in Cryptology–ASIACRYPT 2018, Proceedings of the 24th International Conference on the Theory and Application of Cryptology and Information Security, Brisbane, QLD, Australia, 2–6 December 2018; Springer: Berlin/Heidelberg, Germany, 2018; pp. 395–427. [Google Scholar]
  4. Hirschhorn, P.S.; Hoffstein, J.; Howgrave-Graham, N.; Whyte, W. Choosing NTRUEncrypt parameters in light of combined lattice reduction and MITM approaches. In Applied Cryptography and Network Security, Proceedings of the 7th International Conference, ACNS 2009, Paris-Rocquencourt, France, 2–5 June 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 437–455. [Google Scholar]
  5. Bernstein, D.J.; Chou, T.; Schwabe, P. McBits: Fast constant-time code-based cryptography. In Cryptographic Hardware and Embedded Systems-CHES 2013, Proceedings of the 15th International Workshop, Santa Barbara, CA, USA, 20–23 August 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 250–272. [Google Scholar]
  6. Alkim, E.; Ducas, L.; Pöppelmann, T.; Schwabe, P. Post-quantum key exchange-A New Hope. In Proceedings of the 25th USENIX Security Symposium (USENIX Security 16), Vancouver, BC, Canada, 16–18 August 2017; pp. 327–343. [Google Scholar]
  7. Rostovtsev, A.; Stolbunov, A. Public-Key Cryptosystem Based on Isogenies. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2006/145.pdf (accessed on 2 February 2023).
  8. Childs, A.; Jao, D.; Soukharev, V. Constructing elliptic curve isogenies in quantum subexponential time. J. Math. Cryptol. 2014, 8, 1–29. [Google Scholar] [CrossRef] [Green Version]
  9. Moriya, T. Masked-Degree SIDH. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2022/1019.pdf (accessed on 2 February 2023).
  10. Fouotsa, T.B. SIDH with Masked Torsion Point Images. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2022/1054 (accessed on 2 February 2023).
  11. Charles, D.X.; Lauter, K.E.; Goren, E.Z. Cryptographic hash functions from expander graphs. J. Cryptol. 2009, 22, 93–113. [Google Scholar] [CrossRef]
  12. De Feo, L.; Kohel, D.; Leroux, A.; Petit, C.; Wesolowski, B. SQISign: Compact post-quantum signatures from quaternions and isogenies. In Advances in Cryptology—ASIACRYPT 2020, Proceedings of the 26th International Conference on the Theory and Application of Cryptology and Information Security, Daejeon, Republic of Korea, 7–11 December 2020; Springer: Berlin/Heidelberg, Germany, 2020; pp. 64–93. [Google Scholar]
  13. Yoo, Y.; Azarderakhsh, R.; Jalali, A.; Jao, D.; Soukharev, V. A post-quantum digital signature scheme based on supersingular isogenies. In Financial Cryptography and Data Security, Proceedings of the 21st International Conference, FC 2017, Sliema, Malta, 3–7 April 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 163–181. [Google Scholar]
  14. Galbraith, S.D.; Petit, C.; Silva, J. Identification protocols and signature schemes based on supersingular isogeny problems. J. Cryptol. 2020, 33, 130–175. [Google Scholar] [CrossRef] [Green Version]
  15. Jao, D.; Soukharev, V. Isogeny-based quantum-resistant undeniable signatures. In Post-Quantum Cryptography, Proceedings of the 6th International Workshop, PQCrypto 2014, Waterloo, ON, Canada, 1–3 October 2014; Springer: Berlin/Heidelberg, Germany, 2014; pp. 160–179. [Google Scholar]
  16. De Feo, L.; Jao, D.; Plût, J. Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. J. Math. Cryptol. 2014, 8, 209–247. [Google Scholar] [CrossRef] [Green Version]
  17. Silverman, J.H. The Arithmetic of Elliptic Curves; Springer: New York, NY, USA, 2009; Volume 106. [Google Scholar]
  18. Costello, C.; Longa, P.; Naehrig, M. Efficient algorithms for supersingular isogeny Diffie-Hellman. In Advances in Cryptology—CRYPTO 2016, Proceedings of the 36th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 572–601. [Google Scholar]
  19. Montgomery, P.L. Speeding the Pollard and elliptic curve methods of factorization. Math. Comput. 1987, 48, 243–264. [Google Scholar] [CrossRef]
  20. Vélu, J. Isogénies entre courbes elliptiques. CR Acad. Sci. Paris Ser. A 1971, 273, 305–347. [Google Scholar]
  21. Costello, C. Supersingular Isogeny Key Exchange for Beginners. In Selected Areas in Cryptography—SAC 2019, Proceedings of the 26th International Conference, Waterloo, ON, Canada, 12–16 August 2019; Springer: Berlin/Heidelberg, Germany, 2019; pp. 21–50. [Google Scholar]
  22. SIKE. Supersingular Isogeny Key Encapsulation. Available online: https://sike.org/ (accessed on 20 June 2020).
  23. Costello, C.; Jao, D.; Longa, P.; Naehrig, M.; Renes, J.; Urbanik, D. Efficient compression of SIDH public keys. In Advances in Cryptology–EUROCRYPT 2017, Proceedings of the 36th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Paris, France, 30 April–4 May 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 679–706. [Google Scholar]
  24. Koziel, B.; Azarderakhsh, R.; Mozaffari-Kermani, M. Fast hardware architectures for supersingular isogeny Diffie-Hellman key exchange on FPGA. In Progress in Cryptology–INDOCRYPT 2016, Proceedings of the 17th International Conference on Cryptology in India, Kolkata, India, 11–14 December 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 191–206. [Google Scholar]
  25. Koziel, B.; Azarderakhsh, R.; Kermani, M.M.; Jao, D. Post-quantum cryptography on FPGA based on isogenies on elliptic curves. IEEE Trans. Circuits Syst. I Regul. Pap. 2016, 64, 86–99. [Google Scholar] [CrossRef]
  26. Koziel, B.; Azarderakhsh, R.; Kermani, M.M. A high-performance and scalable hardware architecture for isogeny-based cryptography. IEEE Trans. Comput. 2018, 67, 1594–1609. [Google Scholar] [CrossRef]
  27. Koziel, B.; Ackie, A.B.; El Khatib, R.; Azarderakhsh, R.; Kermani, M.M. SIKE’d Up: Fast Hardware Architectures for Supersingular Isogeny Key Encapsulation. IEEE Trans. Circuits Syst. Regul. Pap. 2020, 67, 4842–4854. [Google Scholar] [CrossRef]
  28. Orup, H. Simplifying quotient determination in high-radix modular multiplication. In Proceedings of the 12th Symposium on Computer Arithmetic, Bath, UK, 19–21 July 1995; pp. 193–199. [Google Scholar]
  29. Li, Y.; Han, J.; Wang, S.; Fang, D.; Zeng, X. An 800Mhz cryptographic pairing processor in 65nm CMOS. In Proceedings of the 2012 IEEE Asian Solid State Circuits Conference (A-SSCC), Kobe, Japan, 12–14 November 2012; pp. 217–220. [Google Scholar]
  30. Kaliski, B.S. The Montgomery inverse and its applications. IEEE Trans. Comput. 1995, 44, 1064–1065. [Google Scholar] [CrossRef]
  31. Savas, E.; Koç, C.K. The Montgomery modular inverse-revisited. IEEE Trans. Comput. 2000, 49, 763–766. [Google Scholar] [CrossRef] [Green Version]
  32. Tian, J.; Wu, B.; Wang, Z. High-speed FPGA implementation of SIKE based on an ultra-low-latency modular multiplier. IEEE Trans. Circuits Syst. I Regul. Pap. 2021, 68, 3719–3731. [Google Scholar] [CrossRef]
  33. Pizer, A.K. Ramanujan graphs and Hecke operators. Bull. Am. Math. Soc. 1990, 23, 127–137. [Google Scholar] [CrossRef] [Green Version]
  34. Tanaka, Y.; Ueno, R.; Xagawa, K.; Ito, A.; Takahashi, J.; Homma, N. Multiple-Valued Plaintext-Checking Side-Channel Attacks on Post-Quantum KEMs. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2022/940 (accessed on 2 February 2023).
  35. Rajendran, G.; Ravi, P.; D’Anvers, J.P.; Bhasin, S.; Chattopadhyay, A. Pushing the Limits of Generic Side-Channel Attacks on LWE-Based KEMs-Parallel PC Oracle Attacks on Kyber KEM and Beyond. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2022/931.pdf (accessed on 24 February 2023).
  36. Ji, Y.; Wang, R.; Ngo, K.; Dubrova, E.; Backlund, L. A Side-Channel Attack on a Hardware Implementation of CRYSTALS-Kyber. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2022/1452 (accessed on 24 February 2023).
  37. Steffen, H.; Land, G.; Kogelheide, L.; Güneysu, T. Breaking and Protecting the Crystal: Side-Channel Analysis of Dilithium in Hardware. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2022/1410 (accessed on 24 February 2023).
  38. Sarker, A.; Kermani, M.M.; Azarderakhsh, R. Efficient Error Detection Architectures for Postquantum Signature Falcon’s Sampler and KEM SABER. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2022, 30, 794–802. [Google Scholar] [CrossRef]
  39. Ngo, K.; Wang, R.; Dubrova, E.; Paulsrud, N. Side-Channel Attacks on Lattice-Based KEMs Are Not Prevented by Higher-Order Masking. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2022/919 (accessed on 24 February 2023).
  40. Massolino, P.M.C.; Longa, P.; Renes, J.; Batina, L. A Compact and Scalable Hardware/Software Co-Design of SIKE. Cryptology ePrint Archive. Available online: https://tches.iacr.org/index.php/TCHES/article/view/8551 (accessed on 24 February 2023).
  41. Elkhatib, R.; Azarderakhsh, R.; Mozaffari-Kermani, M. Efficient and Fast Hardware Architectures for SIKE Round 2 on FPGA. Cryptology ePrint Archive. Available online: https://eprint.iacr.org/2020/611 (accessed on 24 February 2023).
  42. Farzam, M.H.; Bayat-Sarmadi, S.; Mosanaei-Boorani, H.; Alivand, A. Hardware architecture for supersingular isogeny Diffie-Hellman and key encapsulation using a fast montgomery multiplier. IEEE Trans. Circuits Syst. I Regul. Pap. 2021, 68, 2042–2050. [Google Scholar] [CrossRef]
  43. Koziel, B.; Azarderakhsh, R.; Jao, D. Side-channel attacks on quantum-resistant supersingular isogeny Diffie-Hellman. In Selected Areas in Cryptography—SAC 2017, Proceedings of the 24th International Conference, Ottawa, ON, Canada, 16–18 August 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 64–81. [Google Scholar]
Figure 1. Portion of the 2-isogeny graph for p = 431 .
Figure 1. Portion of the 2-isogeny graph for p = 431 .
Electronics 12 01235 g001
Figure 2. High-level SIDH illustration.
Figure 2. High-level SIDH illustration.
Electronics 12 01235 g002
Figure 3. Underlying operations for supersingular isogeny cryptography and ECC.
Figure 3. Underlying operations for supersingular isogeny cryptography and ECC.
Electronics 12 01235 g003
Figure 4. Strategies for performing large degree isogeny evaluation comprised of 6 small degree isogenies. Horizontal lines represent l-isogeny evaluations of points. Vertical lines stand for l scalar point multiplications. (a) Multiplication-based strategy, (b) isogeny-based strategy, (c) optimal serial strategy with a more expensive point multiplication, and (d) optimal serial strategy with a more costly isogeny evaluation.
Figure 4. Strategies for performing large degree isogeny evaluation comprised of 6 small degree isogenies. Horizontal lines represent l-isogeny evaluations of points. Vertical lines stand for l scalar point multiplications. (a) Multiplication-based strategy, (b) isogeny-based strategy, (c) optimal serial strategy with a more expensive point multiplication, and (d) optimal serial strategy with a more costly isogeny evaluation.
Electronics 12 01235 g004
Figure 5. Schematic of quadratic field modular multiplier.
Figure 5. Schematic of quadratic field modular multiplier.
Electronics 12 01235 g005
Figure 6. Schematic of quadratic field modular adder.
Figure 6. Schematic of quadratic field modular adder.
Electronics 12 01235 g006
Table 1. Public parameters specification.
Table 1. Public parameters specification.
PrimeNumber of 4/3 IsogeniesPublic Key Size
p 434 = 2 216 3 137 1 108/137330
p 503 = 2 250 3 159 1 125/159378
p 610 = 2 305 3 192 1 152/192462
p 751 = 2 372 3 239 1 186/239564
Table 2. Quadratic multiplier unit parameters determination.
Table 2. Quadratic multiplier unit parameters determination.
Parameters p 434 = 2 216 3 137 1 p 503 = 2 250 3 159 1 p 610 = 2 305 3 192 1 p 751 = 2 372 3 239 1
Operand width500567676817
Partial product width570639746887
Multiplicand batch (v)5567
Multiplicator batch (w)891113
Total number of iterations43486994
RadixBooth encoder batch sizeNumber of partial products
6412896
Table 3. Comparison of a 4-isogeny evaluation with two and three quadratic modular multipliers.
Table 3. Comparison of a 4-isogeny evaluation with two and three quadratic modular multipliers.
Time SlotsQMA #1QMA #2QMM #1QMM #2QMM #3
1A t 0 = X Q + Z Q t 1 = X Q Z Q Idle
1M + 1A X Q = t 0 × K 2 Z Q = t 1 × K 3
2M + 1A t 3 = X Q + Z Q Z Q = X Q Z Q t 2 = t 0 × t 1
2M + 1S + 1A t 3 = t 3 2 Z Q = Z Q 2
3M + 1S + 1A t 2 = t 2 × K 1
3M + 1S + 2A X Q = t 3 + t 2 t 4 = Z Q t 2
4M + 1S + 2A X Q = X Q × t 3 Z Q = Z Q × t 4
1A t 0 = X Q + Z Q t 1 = X Q Z Q
1M + 1A X Q = t 0 × K 2 Z Q = t 1 × K 3 t 2 = t 0 × t 1
1M + 2A t 1 = X Q + Z Q Z Q = X Q Z Q
2M + 2A t 2 = t 2 × K 1 t 1 = t 1 2 Z Q = Z Q 2
2M + 3A X Q = t 1 + t 2 t 3 = Z Q t 2
3M + 3A X Q = X Q × t 1 Z Q = Z Q × t 3
Table 4. Summary of the primary subroutines. Define ( A 24 + : C 24 ) = ( A + 2 C : 4 C ) , ( A 24 + : A 24 ) = ( A + 2 C : A 2 C ) , and ( a 24 + : 1 ) = ( A + 2 C : 4 C ) .
Table 4. Summary of the primary subroutines. Define ( A 24 + : C 24 ) = ( A + 2 C : 4 C ) , ( A 24 + : A 24 ) = ( A + 2 C : A 2 C ) , and ( a 24 + : 1 ) = ( A + 2 C : 4 C ) .
SubtoutineFunctionsTotal OpsMinimum Latency (Ops)
2 QMMs3 QMMs
2_iso_curve A 24 + = Z P 2 2 X P 2 2 2S+AS+A-
C 24 = Z P 2 2
2_iso_eval X Q = 2 X Q ( X P 2 X Q Z P 2 Z Q ) 4M+6A2M+3A-
Z Q = 2 Z Q ( X Q Z P 2 X P 2 Z Q )
3_iso_curve A 24 = ( 3 X P 3 2 + 2 X P 3 Z P 3 Z P 3 2 ) ( 9 X P 3 2 6 X P 3 Z P 3 + Z P 3 2 ) 2M+3S+13AM+2S+7AM+S+7A
A 24 + = ( 3 X P 3 2 2 X P 3 Z P 3 Z P 3 2 ) ( 9 X P 3 2 + 6 X P 3 Z P 3 + Z P 3 2 )
K 1 = X P 3 Z P 3
K 2 = X P 3 + Z P 3
3_iso_eval X Q = X Q · 4 ( X P 3 X Q Z P 3 Z Q ) 2 4M+2S+4A2M+S+2A-
Z Q = Z Q · 4 ( X Q Z P 3 X P 3 Z Q ) 2
4_iso_curve A 24 + = 4 X P 4 4 4S+5A2S+A-
C 24 = 4 Z P 4 4
K 1 = 4 Z P 4 2
K 2 = X P 4 Z P 4
K 3 = X P 4 + Z P 4
4_iso_eval X Q = ( 4 ( X Q X P 4 Z Q Z P 4 ) 2 + 4 Z P 4 2 ( X Q 2 Z Q 2 ) ) · 4 ( X Q X P 4 Z Q Z P 4 ) 2 6M+2S+6A4M+S+2A3M+3A
Z Q = ( 4 ( X P 4 Z Q X Q Z P 4 ) 2 4 Z P 4 2 ( X Q 2 Z Q 2 ) ) · 4 ( X P 4 Z Q X Q Z P 4 ) 2
xDBL X [ 2 ] P = C 24 ( X P 2 Z P 2 ) 2 4M+2S+4A2M+S+3A-
Z [ 2 ] P = ( C 24 ( X P Z P ) 2 + 4 A 24 + X P Z P ) · 4 X P Z P
xTPL X [ 3 ] P = ( ( X P 4 6 X P 2 Z P 2 8 X P Z P 3 3 Z P 4 ) A 24 + ( X P 4 6 X P 2 Z P 2 + 8 X P Z P 3 3 Z P 4 ) A 24 ) 2 · 2 X P 7M+5S+10A4M+3S+2A3M+2S+3A
Z [ 3 ] P = ( ( 3 X P 4 + 8 X P 3 Z P + 6 X P 2 Z P 2 Z P 4 ) A 24 + ( 3 X P 4 8 X P 3 Z P + 6 X P 2 Z P 2 Z P 4 ) A 24 ) 2 · 2 Z P
xDBLADD X [ 2 ] P = ( X P 2 Z P 2 ) 2 7M+4S+8A4M+2S+2A3M+S+3A
Z [ 2 ] P = ( ( X P Z P ) 2 + 4 a 24 + X P Z P ) · 4 X P Z P
Z P + Q = 4 ( X Q Z P X P Z Q ) 2 X Q P
Z P + Q = 4 ( X P X Q Z P Z Q ) 2 Z Q P
j_inv j = 256 ( A 2 3 C 2 ) 3 C 4 ( A 2 4 C 2 ) 3M+4S+8A+I2M+2S+4A+I-
get_A a = ( 1 x P x Q x P x Q P x Q x Q P ) 2 4 x P x Q x Q P ( x P + x Q + x Q P ) 4M+S+7A+I3M+6A+I-
Table 5. An overview of the latency associated with the primary subroutines (in clock cycles).
Table 5. An overview of the latency associated with the primary subroutines (in clock cycles).
Subroutine p 434 p 503 p 610 p 751
123123123123
2_iso_curve101545411361611558282207109109
2_iso_eval230115115262131131346173173458229229
3_iso_curve326190143377219167482282209633371273
3_iso_eval310155155348174174474237237632316316
4_iso_curve223101101253113113337155155447207207
4_iso_eval418249162470278183638383246850512327
xDBL310162162348183183474246246632327327
xTPL6343432567143822879665293921286708523
xDBLADD5732962096443302358754563191166610425
j _ inv 221520462046355833663366438941344134697866406640
get _ A 211420132013344533323332423440794079677165646564
The delay of Kaliski inversion may vary depending on different operands, the worst-case scenario is presented.
Table 6. Performance of the scalable isogeny accelerator under different parameter settings.
Table 6. Performance of the scalable isogeny accelerator under different parameter settings.
Function p 434 p 503 p 610 p 751
23232323
KeyGen0.8470.7561.1211.0021.8971.6853.2192.854
Encaps1.4321.2091.8981.6093.2332.7085.4154.530
Decaps1.5151.2822.0091.7063.4142.8705.7564.835
Encaps + Decaps2.9472.4923.9063.3156.6475.57811.1729.365
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Su, G.; Bai, G. Towards High-Performance Supersingular Isogeny Cryptographic Hardware Accelerator Design. Electronics 2023, 12, 1235. https://doi.org/10.3390/electronics12051235

AMA Style

Su G, Bai G. Towards High-Performance Supersingular Isogeny Cryptographic Hardware Accelerator Design. Electronics. 2023; 12(5):1235. https://doi.org/10.3390/electronics12051235

Chicago/Turabian Style

Su, Guantong, and Guoqiang Bai. 2023. "Towards High-Performance Supersingular Isogeny Cryptographic Hardware Accelerator Design" Electronics 12, no. 5: 1235. https://doi.org/10.3390/electronics12051235

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop