Blinding (cryptography)

Blinding (cryptography)

In cryptography, blinding is a technique by which an agent can provide a service to (i.e, compute a function for) a client in an encoded form without knowing either the real input or the real output. Blinding techniques also have applications to preventing side-channel attacks on encryption devices.

More precisely, Alice has an input "x" and Oscar has a function "f". Alice would like Oscar to compute "y = f(x)" for her without revealing either "x" or "y" to him. The reason for her wanting this might be that she doesn't know the function "f" or that she does not have the resources to compute it.Alice "blinds" the message by encoding it into some other input "E(x)"; the encoding "E" must be a bijection on the input space of "f", ideally a random permutation. Oscar gives her "f(E(x))", to which she applies a decoding "D" to obtain "D(f(E(x))) = y".

Of course, not all functions admit of blind computation.

The most common application of blinding is the blind signature. In a blind signature protocol the signer digitally signs a message without being able to learn its content.

The one-time pad is an application of blinding to the secure communication problem. Alice would like to send a message to Bob secretly, however all of their communication can be read by Oscar. Therefore Alice sends the message after blinding it with a secret key or pad that she shares with Bob. Bob reverses the blinding after receiving the message. In this example, the function "f" is the identity and "E" and "D" are both typically the XOR operation.

Blinding can also be used to prevent certain side channel attacks on asymmetric encryption schemes. Side channel attacks allow an adversary to recover information about the input to a cryptographic operation, by measuring something other than the algorithm's result, e.g., power consumption, computation time, or radio-frequency emanations by a device. Typically these attacks depend on the attacker knowing the characteristics of the algorithm, as well as (some) inputs. In this setting, blinding serves to alter the algorithm's input into some unpredictable state. Depending on the characteristics of the blinding function, this can prevent some or all leakage of useful information. Note that security depends also on the resistance of the blinding functions themselves to side-channel attacks.

For example in RSA blinding involves computing the blinding operation E(x) = x re mod N, where r is a random integer between 1 and N, x is the ciphertext, and e and N have the conventional meaning from RSA. As usual, the decryption function f(x) = xd mod N is applied, and finally it is unblinded with D(x) = x/r mod N.

External links

* [http://www.cryptography.com/resources/whitepapers/TimingAttacks.pdf Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS and Other Systems]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Blinding — can refer to: *The act of making someone blind **Metaphorical and extended uses of same: see blindness#Metaphorical uses *Blinding (cryptography), a technique by which an agent can provide a service to (i.e, compute a function for) a client in an …   Wikipedia

  • Topics in cryptography — This article is intended to be an analytic glossary , or alternatively, an organized collection of annotated pointers.Classical ciphers*Autokey cipher *Permutation cipher*Polyalphabetic substitution **Vigenère cipher*Polygraphic substitution… …   Wikipedia

  • Secure key issuing cryptography — Secure key issuing is variant of ID based cryptography that reduces the level of trust that needs to be placed in a trusted third party by spreading the trust across multiple third parties. In addition to the normally transmitted information the… …   Wikipedia

  • RSA — In cryptography, RSA is an algorithm for public key cryptography. It is the first algorithm known to be suitable for signing as well as encryption, and one of the first great advances in public key cryptography. RSA is widely used in electronic… …   Wikipedia

  • NTRUEncrypt — The NTRUEncrypt public key cryptosystem, also known as the NTRU encryption algorithm, is a lattice based alternative to RSA and ECC and is based on the shortest vector problem in a lattice (i.e. is not breakable using quantum computers).… …   Wikipedia

  • eCash — war der geschützte Markenname[1] eines elektronischen Zahlungssystems des Unternehmens DigiCash. Es war besonders für Zahlungen im Micropayment Bereich geeignet. Verwendet wurde eine Art Gutscheinsystem, bei dem jede digitale Münze anonym durch… …   Deutsch Wikipedia

  • Blind signature — In cryptography, a blind signature, as introduced by David Chaum [David Chaum, Blind signatures for untraceable payments, Advances in Cryptology Crypto 82, Springer Verlag (1983), 199 203.] , is a form of digital signature in which the content of …   Wikipedia

  • Атака по сторонним каналам — Атака по энергопотреблению на алгоритм RSA. Левый пик соответствует операции быстрого возведения в степень без умножения, правый  с умножением, что позволяет восстановить значение обрабатываемых битов. Атака по сто …   Википедия

  • Power analysis — For power analysis in statistics, see Statistical power. A diagram of differential power analysis …   Wikipedia

  • Timing attack — In cryptography, a timing attack is a side channel attack in which the attacker attempts to compromise a cryptosystem by analyzing the time taken to execute cryptographic algorithms. The attack exploits the fact that every operation in a computer …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”