Modular arithmetic operations (i.e., inversion, multiplication and exponentiation) are used in several cryptography applications, such as decipherment operation of RSA algorithm, Diffie-Hellman key exchange algorithm, elliptic curve cryptography, and the Digital Signature Standard including the Elliptic Curve Digital Signature Algorithm. The most important of these arithmetic operations is the modular...
Several papers propose the use of on-line arithmetic for signal processing applications implemented on FPGAs. Although those papers provide reasonable arguments for the use of on-line arithmetic, they give only inadequate or incomplete comparisons of the proposed on-line designs to other state of the art solutions on FPGAs. In this...
Modular Multiplication is a time-consuming arithmetic operation because it involves multiplication as well as division. Modular exponentiation can be performed as a sequence of modular multiplications. Speeding the modular multiplication increases the speed of modular exponentiation. Modular exponentiation and modular multiplication are heavily used in current cryptographic systems. Well-known cryptographic...
On-line arithmetic modules were proposed as a way to explore parallelism in arithmetic operations at digit level. Using always serial operators that receive inputs and compute the outputs from most-significant to least-significant digits, online arithmetic makes it possible to overlap all arithmetic operations and have a pipelined structure. On-line division...
Networks of on-line modules for Digital Signal Processing (DSP) applications have been designed and analyzed in many papers. Various arguments have been made for on-line arithmetic over other bit-serial and parallel approaches. However, the majority, if not all of the on-line network implementations presented throughout the literature do not take...
Modular multiplication is a widely used operation in cryptography. Several well-known applications, such as the decipherment operation of the RSA algorithm, the Diffie-Hellman key exchange algorithm, as well as some applications currently under development, such as the Digital Signature Standard and elliptic curve cryptography, all use modular multiplication and modular...
Modular exponentiation and modular multiplication are the most used operations in current cryptographic systems. Some well-known cryptographic algorithms, such as RSA, Diffie-Hellman key exchange, and DSA, require modular exponentiation operations. This is performed with a series of modular multiplications to the extent of its exponent in a certain fashion depending...
The computation of the inverse of a number in finite fields, namely Galois Fields GF(p) or GF(2ⁿ), is one of the most complex arithmetic operations in cryptographic applications. In this work, we investigate the GF(p) inversion and present several phases in the design of efficient hardware implementations to compute the...
A main arithmetic operation for cryptographic systems is modular exponenti- ation. Exponentiation is computed by a long sequence of modular multiplications. Modular multiplication can be implemented in a general-purpose processor or a dedicated hardware, but dedicated hardware tends to be faster than a processor. Modular multiplication is a time-consuming operation,...
Memory hierarchy design is becoming more important as the speed gap be- tween processor and memory continues to grow. Investigations of memory perfor- mance have typically been conducted using trace-driven emulation, which could take tremendous resources (e.g. long emulation time, large storage requirements for traces, and high overall cost). Recent...