Side Channel Anaylsis
Side Channel Analysis¶
Smart Cards¶
RSA Side Channel attacks¶
RSA is biased on C = M^k
If the Byte of the RSA key is 0 then the algorithm uses the square() function
If the Byte of the RSA key is 1 then the algorithm uses the square() then the multiply() function.
Using the power analysis you can retrieve the binary data from the key
Example of RSA-CRT¶
Precompute:
Exponentiation:
Recombination:
Injecting a fault that corrupts the S_q
value
Fault Recombination:
Calculate a Mutable of P:
Factor GCD:
Example Differential Fault Analysis of RSA-CRT¶
With a single faulty signature the platintext and the public key
Differential Side Channel on RSA¶
Averaging all of the the power consumption of mutable encryptions creates a better power map. Then setting a threshold and taking all of the outputs that are above that data creates a map of the inputs for
Countermeasure¶
Do both square() and multiply() on every byte then take the proper output.