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 something 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. In medicine, blinding is a part of conducting trials of treatment or other interventions. In a blind trial, the clinician evaluating the reuslt does not know which of the patients has had which intervention - the control of the test. This removes some observer bias from the evaluation.
In a double-blind trial, the patient or test subject does not know which intervention they have had. Where the treatment is notably effective and is being compared to placebo, or wher the treatment is very distinctive in taste or the incidental effects (consider a trial of coronary artery bypass surgery, where a general anaesthetic might be ruled ethical, but a thoracotomy incision hopefully would not), this may not work very well.
If the subject knows which treatment is supposed to work they may complicate the science by feeling randomly better.
Randomisation is an obvious part of blinding to treatment and assessment.
A preference for randomised controlled trials (RCT) where that is a possible experimental design, is a significant part of the toolkit of Evidence-based_medicine. Commissioners of Evidence based healthcare are likely to be more convinced by RCTs than softer studies.