π§2 = π¦3 β π¦
π π
Protection of cryptographic keys recodings against physical attacks
Author: Simon RASTIKIAN Supervisor: Arnaud TISSERAND
Protection of cryptographic keys recodings against physical attacks - - PowerPoint PPT Presentation
Protection of cryptographic keys recodings against physical attacks Supervisor: Author: Simon RASTIKIAN Arnaud TISSERAND 2 = 3 PLAN Introduction Elliptic Curve Cryptography Side Channel Attacks
π π
Author: Simon RASTIKIAN Supervisor: Arnaud TISSERAND
π π
π π
π π
E: π§2 + π1π¦π§ + π3π§ = π¦3 + π2π¦2 + π4π¦ + π6 Where π1, π2, π3, π4, π6 β πΏ πππ Ξ β 0 Ξ = βπ2
2π8 β 8π4 3 β 27π6 2 + 9π2π4π6
π2 = π1
2 + 4π_2
π4 = 2π4 + π1π3 π6 = π3
2 + 4π6
π8 = π1
2π6 + 4π2π6 β π1π3π4 + π2π3 2 β π4 2
π π
[1]: Ξ¦ βΆ πΏ2 β πΏ2 Transforms equation πΉ1 into equation πΉ2. π¦, π§ β (π£2π¦ + π , π£3π§ + π£2π‘π¦ + π’)
π π
Over prime fields Fp p > 3 : y2 = x3 + ax + b where a, b β K Ξ = β16 (4a3 + 27b2) Over binary fields F2π: If π1 β 0 then π§2 + π¦π§ = π¦3 + ππ¦2 + π π₯βππ π π, π β πΏ Ξ = π If π1 = 0 then π§2 + ππ§ = π¦3 + ππ¦ + π π₯βππ π π, π, π β πΏ Ξ = π4 Over optimal extension fields F3π: If π1
2 β βπ2 then π§2 = π¦3 + ππ¦2 + π π₯βππ π π, π β πΏ
Ξ = βπ3π If π1
2 = βπ2 then π§2 = π¦3 + ππ¦
+ π π₯βππ π π, π β πΏ Ξ = βπ3
π π
Point addition and point doubling on the curve π§2 = π¦3 β π¦ + 1 defined over R [5].
π π
1. Identity : π + β = β + π = π 2. Negative : βπ = β π¦, π§ = π¦, βπ§ and π¦, π§ + π¦, βπ§ = β 3. Point addition : π = π¦1, π§1 , π = π¦2, π§2 πππ π β Β±π π’βππ 4. Point doubling : if π β βπ then 2 π = π¦3, π§3 where
π + π = π¦3, π§3 π₯βππ π π¦3 =
π§2βπ§1 π¦2βπ¦1 2
and π§3 =
π§2βπ§1 π¦2βπ¦1
π¦1 β π¦3 β π§1 π¦3 =
3π¦1+π 2π§1 2
β 2π¦1 and π§3 =
3π¦1
2+π
2π§1
π¦1 β π¦3 β π§1
π π
Let E be an elliptic curve defined over Fp . Suppose P β πΉ(Fp) has a prime
<P>={β,P, 2P, β¦, (n-1) P} is a cyclic group. ECDLP: Key pair generation: Given E, p, P, n (public parameter). Choose random integer k in [1,n-1] (secret key). Compute Q=kP. ECDLP problem : Given E, p, P, n (public) and Q=kP. Find k (secret key).
π π
Symmetric key size (bits) RSA and DH key size (bits) ECC key size (bits) 80 (SKIPJACK ) 1024 160 112 (Triple-DES) 2048 224 128 (AES-Small) 3072 256 192 (AES-Medium) 7680 384 256 (AES-Large) 15360 521 NIST comparision of ECC, RSA and DH key for different security requierements.
π π
An equivalence relation on the set πΏ3\{(0,0,0)} noted as π1, π
1, π1 ~(π2, π 2, π2) exists if π1 = πππ2, π 1 = πππ 2, π1 = ππ2 πππ π β πΏβ
The projective point is the representative class π: π: π = {(πππ, πππ, ππ)|π β πΏβ} 1-1 correspondance between the projective points such that π β 0 and the affine points.
π π
corresponds to the affine point (
π π , π π) and (0:1:0) to β
corresponds to the affine point(
π π2 , π π3) and (1:1:0) to β.
(X:Y:Z:ZΒ²:ZΒ³)
π π
security.
π π
consuption of the cryptegraphic device.
used by a device overtime. Small number of power traces is needed.
about the device. It is a statistical analysis of the power consumption measurements from a cyptosystem. Large number of power traces is needed.
π π
Input : π = ππβ1ππβ2 β¦ π0 , π β πΉ(Fπ) Output: Q=kP π β β For i form n-1 to 0 do Q β 2 π (DBL) If ki = 1 then π β π + π (ADD)
π π
Power consumption measure of Double-and-Add algorithm from left to right coded on FPGA [5].
π π
In Jacobian coordinates ADD = 12 M + 4 S DBL = 4M + 4S
Power consumption measure of Double-and-Add algorithm from left to right coded on FPGA [5].
π π
In Jacobian coordinates ADD = 12 M + 4 S DBL = 4M + 4S
Power consumption measure of Double-and-Add algorithm from left to right coded on FPGA [5].
π π
with different secret key representation.
πβ1 ππ2π π₯βππ π ππ < 2π₯β1 and
ππ are either odd or zero except ππβ1 β 0. At most one of any consecutive digits is nonzero.
π₯(π).
π₯ π
= Length k + 1
π π
Width-w NAF algorithm:
Input: k positive integer, w Output: ππ΅πΊ
π₯ π
π β 0 While π β₯ 0 do : if k is odd then ππ β π ππππ‘ 2π₯, π β π β ππ else ππ β 0 π β
π 2 , π β i + 1
Return ππ΅πΊ
π₯ π = (ππβ1β¦ π0)
mods is a function that keeps ππ β β2π₯β1 , 2π₯β1 β 1
π π
Window NAF method for point multiplication algorithm:
Input: k positive integer, w, π β πΉ Fπ Output: ππ Calculate ππ΅πΊπ₯ π Compute and store all π
π = ππ βπ πππ πππ π < 2π₯β1
π β β For i from l-1 downto 0 do : π β 2π if ππ β 0 then if ππ > 0 then π β π + πππ else π β π β πβππ
π π
Window NAF method for point multiplication algorithm:
Input: k positive integer, w, π β πΉ Fπ Output: ππ Calculate ππ΅πΊπ₯ π Compute and store all π
π = ππ βπ πππ πππ π < 2π₯β1
π β β For i from l-1 downto 0 do : π β 2π if ππ β 0 then if ππ > 0 then π β π + πππ else π β π β πβππ
π π
π π
1GHz
means each value is mapped to one of 256 possible value.
π π
Haase & A. H. SΓ‘nchez.
π π
2 π .
π π
π π
F 2255β19
π
π΅,πΆ: πΆπ§2 = π¦3 + π΅π¦2 + π¦ π₯βππ π π΅, πΆ β Fπ πππ πΆ π΅2 β 4 β 0
π·π£π π€π25519: π§2 = π¦3 + 486662π¦2 + π¦
π π
π¦π β π¦π
2 = π¦ππ¦π β 1 ππ π β π
2 + π΅π¦π + 1 = π¦π 2 β 1 2 ππ π = π
π π
Input : π = ππβ1ππβ2 β¦ π0 πππ ππβ1 = 1, π β πΉ(Fπ) Output: kP π = π 0, π 1 β π, 2 π For i from l-2 to 0 do If ki = 1 then Q β (π 0+π 1, 2 π 1) else Q β ( 2 π 0, π 0+π 1) Return π 0
π π
additional point addition in each loop.
Input : π = ππβ1ππβ2 β¦ π0 πππ ππβ1 = 1, π β πΉ(Fπ) Output: kP Compute ππ΅πΊ2 π π = π 0, π 1, π 2 β π, 2 π, β For i form length(ππ΅πΊ2 π )-2 to 0 do If ki = 1 then Q β (π 0+π 1, 2 π 1, π 2 + π 1) elsif ki = 0 then Q β ( 2 π 0, π 0+π 1, π 2 + π 0) else Q β (π 0 + π 2, π 1+π 2, [2]π 2) Return π 0
π π
π π
2004
Smart Cards. Springer, 2007.
characteristics fields. 2017. URL: https://arxiv.org/pdf/1703.01863.pdf.
channel attacks. 2013. URL: https://www.theses.fr/174580924