57
Lecture Note 9 ATTACKS ON CRYPTOSYSTEMS II Sourav Mukhopadhyay Cryptography and Network Security - MA61027

Attacks on cryptosystem

Embed Size (px)

DESCRIPTION

Full description of types of attacks on cryptosystem and special dealing with bday attack

Citation preview

Lecture Note 9

ATTACKS ON CRYPTOSYSTEMS II

Sourav Mukhopadhyay

Cryptography and Network Security - MA61027

Birthday attack

• The Birthday attack makes use of what’s known as theBirthday paradox to try to attack cryptographic hashfunctions.

• The birthday paradox can be stated as follows: What isthe minimum value of k such that the probability isgreater than 0.5 that at least two people in a group of kpeople have the same birthday?

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 1

• It turns out that the answer is 23 which is quite asurprising result. In other words if there are 23 people ina room, the probability that two of them have the samebirthday is approximately 0.5.

• If there is 100 people (i.e. k=100) then the probability is.9999997, i.e. you are almost guaranteed that there willbe a duplicate. A graph of the probabilities against thevalue of k is shown in figure 1.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 2

Figure 1: The Birthday Paradox.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 3

• Although this is the case for birthdays we can generaliseit for n equally likely values (in the case of birthdaysn = 365).

• So the problem can be stated like this: Given a randomvariable that is an integer with uniform distributionbetween 1 and n and a selection of k instances (k ≤ n) ofthe random variable, what is the probability P (n, k), thatthere is at least one duplicate?

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 4

• It turns out that this value is

P (n, k) = 1 − n!(n−k)!nk

= 1 − [(1 − 1n) × (1 − 2

n) × . . . × (1 − k−1n )]

(1)

• Take it that the following inequality holds

(1 − x) ≤ e−x (2)

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 5

• Then we have

P (n, k) > 1 − [(e−1/n) × (e−2/n) × . . . × (e−(k−1)/n)]> 1 − e−[(1/n)+(2/n)+((k−1)/n)]

> 1 − e−(k×(k−1))/2n

(3)

• We would like to know when P (n, k) > 0.5 so we set theright hand side of equation 3 to 0.5:

0.5 = 1 − e−(k×(k−1))/2n

⇒ ln(2) = k×(k−1)2n

(4)

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 6

• For large values of k we can replace k × (k − 1) by k2

givingk =

2(ln2)n = 1.18√

n ≈√

n (5)

• Which can be seen to be almost equal to 23 for n = 365.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 7

• Now lets look at this in terms of hash codes.

• Remember a hash code is a function that takes a variablelength message M and produces a fixed length messagedigest.

• Assuming the length of the digest is m then there are 2m

possible message digests.

• Normally however, because the length of M will generallybe greater than m this implies that more than onemessage will be mapped to the same digest.

• Of course the idea is to make it computationally infeasibleto find two messages that map to the same digest.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 8

• However if we apply k random messages to our hash codewhat must the value of k be so that there is theprobability of 0.5 that at least one duplicate (i.e.H(x) = H(y) will occur for some inputs x, y)?

• This is the same as the question we asked about thebirthday duplicates.

• Using equation 5 we have

k =√

2m = 2m/2 (6)

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 9

• Using this idea we can discuss the birthday attack asfollows:

– The source, A is prepared to “sign” a message byappending the appropriate m-bit hash code andencrypting that hash code with A’s private key.

– The opponent generates 2m/2 variations on themessage, all of which convey essentially the samemeaning. The opponent prepares an equal number ofmessages, all of which are variations of the fraudulentmessage to be substituted for the real one.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 10

– The two sets of messages are compared to find a pairof messages that produce the same hash code. Theprobability of success is greater than 0.5. If no matchis found, additional valid and fraudulent messages aregenerated until a match is made.

– The opponent offers the valid variation to A forsignature. This signature can then be attached to thefraudulent variation for transmission to the intendedrecipient. Because the two variations have the samehash code, they will produce the same signature; theopponent is assured of success even though the

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 11

encryption key is not known.

• If we use a 64-bit hash code then the level of effortrequired is only on the order of 2m/2 = 264/2 = 232 whichis clearly not sufficient to withstand today’scomputational systems.

• The generation of many variations that convey the samemeaning is not that difficult as figure 2 shows.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 12

Figure 2: A letter in 237 variations.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 13

Implementation Attacks

• Implementation attacks take on a different approach tothe above for discovering the secret key.

• Instead of attacking the mathematical properties of thealgorithm these form of attacks (also known as sidechannel attacks) take advantage of the physicalphenomena that occurs when a cryptographic algorithmis implemented in hardware.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 14

• Four side channel attacks are listed in the FIPS standard140-2 “Security Requirements for CryptographicModules”, Power Analysis, Timing Analysis,Fault Induction and TEMPEST.

• Here we will be interested mainly in Differential PowerAnalysis (DPA) as it applies to DES however we will havea brief look at Timing attacks.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 15

Differential Power Analysis

• Power Analysis is a relatively new concept but has provento be quite effective in attacking smartcards and similardevices.

• The smartcard is very susceptible to this form of attackmainly because it applies little or no power filtering dueto its small size.

• It was first demonstrated by Ernst Bovelander in 1997but a specific attack strategy was not given.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 16

• A year later it was brought to the general public’sattention by Paul Kocher and the CryptographicResearch team in San Francisco.

• Kocher et al. provided an attack strategy that wouldrecover the secret key from cryptographic systemsrunning the DES algorithm.

• This caused great concern amongst the smartcardcommunity and a search for an effective countermeasurebegan.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 17

• To date a limited number of countermeasures have beenproposed and none are fully effective.

• The attacks work equally well on other cryptographicalgorithms as shown by Thomas Messerges et al. whopresented a great deal of supplementary research on thesubject.

• Power analysis involves an analysis of the pattern ofpower consumed by a cryptographic module as itperforms its operations.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 18

• The purpose of this pattern analysis is to acquireknowledge about causal operations that is not readilyavailable through other sources.

• The power consumption will generally be different foreach operation performed (and even for the sameoperations with different data values).

• One of the causes of these variations is the transistortechnology used to implement the module.

• The transistors act as voltage controlled switches, and thepower they consume varies with the type of instructionsbeing processed.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 19

• For example, a conditional branch instruction appears tocause a lot of noticeable fluctuations according to Kocher,and should therefore be avoided if possible where secretkeys are concerned.

• An example of a setup for a power analysis attack isshown in figure 3.

• For smartcards and similar devices, the power can bemeasured across a 10 − 50Ω resistor in series with thepower or ground line of the specific device.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 20

• The resistor should be small enough so as not to interferewith the operation of the circuit itself, but large enoughto give easily observable voltage fluctuations. It is betterto put the resistor in series with the ground of the device.

• If the power line is used then two scope probes would beneeded and the resultant waveforms substracted.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 21

Figure 3: An example setup for a Differential Power Analysis attack on a smartcard.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 22

• Although the setup in figure 3 will suffice for a smartcardit will generally not be this simple for a complexcryptographic accelerator which probably draws its powerfrom the peripheral component interconnect (PCI)backplane of a computer.

• Ideally, the attacker would wish to get as close as possibleto the actual chip performing the operations if a highsignal to noise ratio (SNR) is to be obtained.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 23

• This might be more difficult than it first appears asinformation on which of the boards numerous chips isactually running the algorithm may not be readilyavailable.

• Even if it were, the power pin of the chip would have tobe physically separated from the board to perform theattack and then reattached once complete (if the attackwere to go unnoticed).

• Most tamper resistant devices would not permit this fromhappening.

• An example of a possible setup is shown in figure 4.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 24

• In this case a PCI extender board is used to measure thepower fluctuations.

• The actual cryptographic board slots into the extenderboard and therefore the power the cryptographic boarddraws from the PCI backplane has to flow through theextender board which can be fitted with some points thatallow for measurement of the power.

• These can be home made or easily purchased.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 25

Figure 4: An example setup for a Differential Power Analysis attack on a high speed cryptographic accelerator.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 26

• Assuming a setup such as those in figures 3 and 4 in whichthe algorithm being executed is the Data EncryptionStandard (DES) the attack can proceed as follows.

• A method must be devised to produce a random set of Jplaintext inputs that can be sent to the cryptosystem forencryption.

• This method must be automated as the number ofrandom plaintext inputs will be quite large. Generallythis will be the job of the PC however on more complexcryptosystems it may be possible to upload new firmwarethat will do the trick.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 27

• On receiving these plaintext inputs, pij, 1 ≤ j ≤ J , theboard will begin to run its algorithm and draw varyingamounts of power.

• These power fluctuations can be sampled using a digitalsampling oscilloscope which should be capable of samplingat about 20-30 times the clock frequency being used.

• There are two main reasons for this:

1. Possible that we might have multiple operationsoccuring in each clock cycle. Also, operation ofinterest might only last a small fraction of the clock

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 28

cycle.

2. The more samples you have per cycle the less chanceof noise caused by a misalignment of samples.

• The waveforms observed for each pij can be representedas a matrix wfjk, where 1 ≤ k ≤ K.

• The subscripts j and k are used to identify the plaintextnumber causing the waveform and the time sample pointwithin that particular waveform, respectively.

• A second column matrix, coj, can also be used torepresent the ciphertext output.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 29

• In practice, each row of wfjk would probably be stored asa separate file for ease of processing.

• Having captured each power waveform and ciphertextoutput, a function known as a partitioning function,D(.), must now be defined.

• This function will allow division of the matrix wfjk intotwo sub-matrices wf0pk and wf1qk containing P and Qrows respectively, with 1 ≤ p ≤ P and 1 ≤ q ≤ Q whereP + Q = J .

• Provided that the inputs pij were randomly produced,

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 30

then P = Q = J/2 as J → ∞ (i.e. the waveforms will bedivided equally between the two sets).

• The partitioning function allows the division of wfjk

because it calculates the value of a particular bit, atparticular times, during the operation of the algorithm.

• If the value of this bit is known, then it will also beknown whether or not a power bias should have occurredin the captured waveform.

• For a 1, a bias should occur, and for a 0 it shouldn’t.

• Separating the waveforms into two separate matrices (one

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 31

in which the bias occurred and another in which it didn’t)will allow averaging to reduce the noise and enhance thebias (if it occurred).

• For randomly chosen plaintexts, the output of the D(.)function will equal either a 1 or 0 with probability 1

2 (thisis just another statement of the fact that P = Q = J/2as J → ∞).

• An example of a partitioning function is:

D(C1, C6, K16) = C1 ⊕ SBOX1(C6 ⊕ K16) (7)

• Where SBOX1(.) is a function that outputs the target bit

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 32

of S-box 1 in the last round of DES (in this case it’s thefirst bit), C1 is the one bit of coj that is exclusive OR’edwith this bit, C6 is the 6 bits of coj that is exclusiveOR’ed with the last rounds subkey and K16 is the 6 bitsof the last round’s subkey that is input into S-box 1.

• The value of this partitioning function must be calculatedat some point throughout the algorithm.

• So, if the values C1, C6 and K16 can be determined, itwill be known whether or not a power bias occurred ineach waveform.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 33

• It is assumed that the values C1 and C6 can bedetermined and the value of the subkey K16 is theinformation sought.

• To find this, an exhaustive search needs to be carried out.As it is 6 bits long, a total of 26 = 64 subkeys will need tobe tested.

• The right one will produce the correct value of thepartitioning bit for every plaintext input.

• However, the incorrect one will only produce the correctresult with probability 1

2.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 34

• In this case, the two sets wf0pk and wf1qk will contain arandomly distributed collection of waveforms which willaverage out to the same result (Provided the plaintextinputs are randomly chosen).

• The differential trace (discussed below) will thus show apower bias for the correct key only.

• Of course it means that 64 differential traces are neededbut this is a vast improvement over a brute force search ofthe entire 56 bit key.

• Mathematically, the partitioning of wfjk can be

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 35

represented as

wf0pk = wfjk|D(.) = 0 (8)

andwf1qk = wfjk|D(.) = 1 (9)

• Once the matrices wf0pk and wf1qk have been set up, theaverage of each is then taken producing two waveformsawf0k and awf1k both consisting of K samples.

• By taking the averages of each, the noise gets reduced tovery small levels but the power spikes in wf1pk will bereinforced.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 36

• However, averaging will not reduce any periodic noisecontained within the power waveforms and inherent tothe operations on the cryptographic board.

• This can largely be eliminated by subtracting awf0pk

from awf1qk (this can be thought of as demodulating amodulated signal to reveal the “baseband”, where theperiodic noise is the “carrier”).

• The only waveform remaining will be the one with anumber of bias points identifying the positions where thetarget bit was manipulated.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 37

• This trace is known as a differential trace, ∆Dk.

• Again, in mathematical terms, the above can be stated as

awf0k =1

P

wfjk∈wf1wfjk =

1

P

P∑

p=1wf0pk (10)

and

awf1k =1

Q

wfjk∈wf0wfjk =

1

Q

Q∑

q=1wf1qk (11)

• The differential trace ∆Dk is then obtained as

∆Dk = awf1k − awf0k (12)

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 38

• The last five equations can now be condensed into one:

∆Dk =∑J

j=1 D(.)wfjk∑J

j=1 D(.)−

∑Jj=1(1 − D(.))wfjk

∑Jj=1(1 − D(.))

(13)

• As J → ∞, the power biases will average out to a value ǫwhich will occur at times kD - each time the target bit Dwas manipulated.

• In this limit, the averages awf0k and awf1k will tendtoward the expectation Ewf0k and Ewf1k, andequations 12 and 13 will converge to

Ewf1k − Ewf0k = ǫ, at times k = kD (14)

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 39

and

Ewf1k − Ewf0k = 0, at times k 6= kD (15)

• Therefore, at times k = kD, there will be a power bias ǫvisible in the differential trace. At all other times, thepower will be independent of the target bit and thedifferential trace will tend towards 0.

• The above will only work if the subkey guess was correct.For all other guesses the partitioning function willseparate the waveforms randomly, and equations 14 and

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 40

15 will condense to

Ewf1k − Ewf0k = 0, ∀k (16)

• As mentioned above, 64 differential traces are needed todetermine which key is the correct one.

• Theoretically, the one containing bias spikes will allowdetermination of the correct key however, in reality theother waveforms will contain small spikes due to factorssuch as non-random choices of plaintext inputs, statisticalbiases in the S-boxes and a non-infinite number ofwaveforms collected.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 41

• Generally however, the correct key will show the largestbias spikes and can still be determined quite easily.

• The other 42 bits from the last round’s subkey can bedetermined by applying the same method to the other 7S-boxes.

• A brute force search can then be used to obtain theremaining 8 bits of the 56 bit key.

• NOTE: The same J power signals can be used for eachS-box as the different D functions re-order themaccordingly.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 42

Mitigation Techniques

• The following could be used as mitigation techniques forpower attacks in general:

1. Timing Randomisation: This involves placingrandom time delays into the software so that a poweranalysis will not be possible. With random delaysintroduced, a steady trigger will not be sufficient toallow the averaging to work and will therefore act as acountermeasure.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 43

2. Internal power supplies/power supplyfiltering: This would be another method that couldbe used to reduce the possibility of a power attack.For example, Adi Shamir proposes building a simplecapacitance network into each smartcard to allow thefluctuations to be contained within the smartcarditself thereby preventing power attacks.

3. Data masking: One of the methods proposedconsists of masking the intermediate data (i.e. maskthe input data and key before executing thealgorithm). This would make the power fluctuations

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 44

independent of the actual data.

4. Tamper Resistance: This involves placing somedetection/prevention system around the device tostop intruders gaining access to the powerfluctuations.

5. Fail Counters: A differential power analysis attackrequires the attacker to obtain a significant number ofpower waveforms. In order to do this the attackermust have the ability to run quite a few encryptionson the system under attack. If the number ofencryptions were limited to a certain number then the

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 45

attacks would become increasingly difficult.

6. Removal of conditional elements: One of themain features used to attack the square and multiplyalgorithm is the fact that it has a conditionalmultiplication that depends on the value of theexponent bit being operated upon. One suggestedcountermeasure is to implement this multiplication inevery round (regardless of the value of the bit) and toonly do a register update when the bit is a 1.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 46

Timing Attacks

• A timing attack is somewhat analogous to a burglarguessing the combination of a safe by observing how longit takes for someone to turn the dial from number tonumber.

• We can explain the attack using the modularexponentiation algorithm shown in figure 5, but theattack can be adapted to work with any implementationthat does not run in fixed time.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 47

• In this algorithm, modular exponentiation isaccomplished bit by bit, with one modular multiplicationperformed at each iteration and an additional modularmultiplication performed for each 1 bit.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 48

square and mul(b, e, m)

d = 1;for (k = N-1 downto 0)

d = (d × d) mod m;if (e[k] == 1)

d = (d × b) mod m;

Return d;

Figure 5: Square and Multiply algorithm for Computing be mod (m) where e is N bits long.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 49

• As Kocher points out in his paper, the attack is simplestto understand in an extreme case.

• Suppose the target system uses a modular multiplicationfunction that is very fast in almost all cases but in a fewcases takes musch more time than an entire averagemodular exponentiation.

• The attack proceeds bit by bit starting with the leftmostbit e[N − 1]. Suppose that the first j bits are known (toobtain the entire exponent, start with j = 0 and repeatthe attack until the entire exponent is known).

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 50

• For a given ciphertext, the attacker can complete the firstj iterations of the for loop.

• Operation of subsequent steps depends on the unkownexponent bit.

• If the bit is set d = (d × b) mod m will be executed.

• For a few values of b and d, the modular multiplicationwill be extremely slow, and the attacker knows whichthese are.

• Therefore, if the observed time to execute the decryptionalgorithm is always slow when this particular iteration is

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 51

slow with a 1 bit, then this bit is assumed to be 1.

• If a number of observed execution times for the entirealgorithm are fast, then this bit is assumed to be 0.

• In practice, modular exponentiation implementations donot have such extreme timing variations, in which theexecution time of a single iteration can exceed the meanexecution time of the entire algorithm.

• Nevertheless, there is enough variation to make thisattack practical.

• Although the timing attack is a serious threat, there are

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 52

simple counter measures that can be used including thefollowing:

– Constant exponentiation time: Ensure that allexponentiations take the same amount of time beforereturning a result. This is a simple fix but doesdegrade performance.

– Random delay: Better performance could beachieved by adding a random delay to theexponentiation algorithm to confuse the timing attack.Kocher point out that if defenders don’t add enough

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 53

noise, attackers could still succeed by collectingadditional measurements to compensate for therandom delays.

– Blinding: Multiply the ciphertext by a randomnumber before performing exponentiation. Thisprocess prevents the attacker from knowing whatciphertext bits are being processed inside the computerand therefore prevents the bit-by-bit analsys essentialto the timing attack.

• RSA Data Security incorportates a blinding feature into

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 54

some of its products. The private-key operationM = Cd mod n is implemented as follows:

1. Generate a secret random number r between 0 andn − 1.

2. Compute C ′ = C(re) mod n, where e is the publicexponent.

3. Comput M ′ = (C ′)d mod n with the ordinary RSAimplementation.

4. Compute M = M ′r−1 mod n (where r−1 is themultiplicative inverse of r mod n). It can be

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 55

demonstrated that this is the correct result byobserving that red mod n = r mod n.

• RSA Data Security reports a 2 to 10% performancepenalty for blinding.

Cryptography and Network Security - MA61027 (Sourav Mukhopadhyay, IIT-KGP, 2010) 56