Self Notes Crypto Ise
Self Notes Crypto Ise
Self Notes Crypto Ise
Efficient Scheduling
Lane Complementing
Bit Interleaving
General
Division in finite field arithmetic is multiplication by the inverse modulo p, which may be computed
using the extended Euclidean algorithm.
A particular case is GF(2), where addition is exclusive OR (XOR) and multiplication is AND. Since the
only invertible element is 1, division is the identity function.
In a finite field with characteristic 2, addition modulo 2, subtraction modulo 2, and XOR are identical.
Thus,
Multiplicative inverse
See also Itoh–Tsujii inversion algorithm.
The multiplicative inverse for an element a of a finite field can be calculated a number of
different ways:
By multiplying a by every number in the field until the product is one. This is a brute-
force search.
Since the nonzero elements of GF(pn) form a finite group with respect to
multiplication, apn−1 = 1 (for a ≠ 0), thus the inverse of a is apn−2.
By using the extended Euclidean algorithm.
By making logarithm and exponentiation tables for the finite field, subtracting the
logarithm from pn−1 and exponentiating the result.
By making a modular multiplicative inverse table for the finite field and doing a
lookup.
By mapping to a composite field where inversion is simpler, and mapping back.
By constructing a special integer (in case of a finite field of a prime order) or a special
polynomial (in case of a finite field of a non-prime order) and dividing it by a.[5]
The first four-term polynomial coefficients are defined by the state column , which contains
four bytes. Each byte is a coefficient of the four-term so that
The second four-term polynomial is a constant polynomial . Its coefficients are also elements
of . Its inverse is .
Modular reduction
The result is a seven-term polynomial, which must be reduced to a four-byte word, which is
done by doing the multiplication modulo .
In the decryption process, the affine transformation is executed prior to the inversion. The
irreducible polynomial used by a Rijndael S-Box is
The key expander in Fig. 1 generates 11 sets of 128-bit round keys from one 128-bit secret key by
using a 4-byte S-Box. These round keys can be prepared on the fly in parallel with the encryption
process. In the decryption process, these sets of keys are used in reverse order. Therefore, all keys
have to be generated and stored in registers in advance, or the final round key in the encryption
process has to be pre-calculated for on-the-fly key scheduling. Because the first method requires the
equivalent of a 1,408-bit register (128 bits × 11), and is not suitable for compact hardware.
2009
Uses GF ((24)2)
Area delay product metrics……for performance analysis
Zbkb
Zbkc
Zbkx
AES DECRYPTION
AES ENCRYPTION
1. Debdeep Mukhopadhyay and Rajat Subhra Chakraborty,“Hardware Security: Design,
Threats, and Safeguards”,
CRC Press, 2014.
2. Doug Stinson, Cryptography Theory and Practice, CRC Press, 2005.
3. Samir Palnitkar, “Verilog HDL: A Guide to Digital Design and Synthesis”, Prentice Hall,
1996.
4. Michael D. Ciletti, “Advanced Digital Design with the Verilog HDL”, Pearson, 1996.
5. Ted Huffmire et al: “Handbook of FPGA Design Security”, Springer, 2014.