Oblivious Transfer of Bits
Total Page:16
File Type:pdf, Size:1020Kb
Oblivious transfer of bits Abstract. We consider the topic Oblivious transfer of bits (OT), that is a powerful primitive in modern cryptography. We can devide our project into these parts: In the first part: We would clarify the definition OT, we would give a precise characterization of its funcionality and use. Committed oblivious transfer (COT) is an enhancement involving the use of commitments, which can be used in many applications of OT covering particular malicious adversarial behavior, it cannot be forgotten. In the second part: We would describe the history of some important discoveries, that preceded present knowledge in this topic. Some famous discovers as Michael O. Rabin or Claude Crépeau could be named with their works. In the third part: For OT, many protocols covering the transfer of bits are known, we would introduce and describe some of them. The most known are Rabin's oblivious transfer protocol, 1-2 oblivious transfer, 1-n oblivious transfer. These would be explained with examples. In the fourth part: We also need to discuss the security of the protocols and attacs, that are comitted. Then security of mobile computing. In the fifth part: For the end, we would give some summary, also interests or news in this topic, maybe some visions to the future evolution. 1 Introduction Oblivious transfer of bits (often abbreviated OT) is a powerful primitive in modern cryptography especially in the context of multiparty computation where two or more parties, mutually distrusting each other, want to collaborate in a secure way in order to achieve a common goal, for instance, to carry out an electronic election, so this is its applicability. 1.1 Multi-party computation An example of a specific multi-party computation is secure function evaluation, where every party holds an input to a function, and the output should be computed in a way such that no party has to reveal unnecessary information about her input. 1.2 Definition of OT OT is a protocol by which a sender sends some information to the receiver, but remains oblivious as to what is received. It means that sender sends a message to a receiver with some fixed probability between 0 and 1 (for example 1/2) without the sender knowing 1 whether or not the receiver received the message. Thus, problem of oblivious transfer of secret reduces to the problem of oblivious transfer of the decryption key. OT solve the problem of mutual exchange of secrets. The main discoverer of OT was Michael O. Rabin. Rabin discovered an interesting application for his cryptosystem and he called this new scheme as ‘Oblivious Transfer’ , so it OT was named by him. His protocol worked only for honest parties. There are some others protocols similar to OT, that will be discuss later also with Rabin’s OT. 1.3 Private information retrieval (PIR) In cryptography, a private information retrieval (PIR) protocol allows a user to retrieve an item from a server in possession of a database without revealing which item she is retrieving. PIR is a weaker version of 1-out-of-n oblivious transfer, where it is also required that the user should not get information about other database items. OT also called symmetric PIR, is PIR with the additional restriction that the user not learn any item other than the one she requested. It is termed symmetric because both the user and the database have a privacy requirement. 1.4 Zero-Knowledge Proofs In cryptography, a zero-knowledge proof or zero-knowledge protocol is an interactive method for one party to prove to another that a (usually mathematical) statement is true, without revealing anything other than the veracity of the statement. A zero-knowledge proof must satisfy three properties: 1) Completeness: if the statement is true, the honest verifier (that is, one following the protocol properly) will be convinced of this fact by an honest prover. 2) Soundness: if the statement is false, no cheating prover can convince the honest verifier that it is true, except with some small probability. 2 3) Zero-knowledge: if the statement is true, no cheating verifier learns anything other than this fact. This is formalized by showing that every cheating verifier has some simulator that, given only the statement to be proven (and no access to the prover), can produce a transcript that "looks like" an interaction between the honest prover and the cheating verifier. Introduced in 1985, zero-knowledge proofs are typically used to force malicious parties to behave according to a predetermined protocol. In addition to their direct applicability to cryptography, they serve as a good benchmark for the study of various problems regarding cryptographic protocols. 1.5 Committed Oblivious Transfer COT Committed Oblivious Transfer (COT) is a useful cryptographic primitive that combines the functionalities of bit commitment and oblivious transfer. Is is a natural combination of 1-2 Oblivious Transfer and Bit Commitment. At the start of the computation Alice is committed to bits a 0 and a 1 and Bob is committed to bit b; at the end Bob is committed to a b and knows nothing about a b , while Alice learns nothing about b. One can see that this allows each party engaged in an oblivious transfer to be certain that the other party is performing the oblivious transfer operation on their declared inputs. 2 History • In the early seventies Stephen Wiesner introduced a primitive called multiplexing which was the start of quantum cryptography. But it took more than ten years to be published. Even though this primitive was equivalent to what was later called 1-2 oblivious transfer. Wiesner did not see its application to cryptography. • The first form of oblivious transfer was introduced in 1981 by Michael O. Rabin . 3 • In 1983, a more useful form of oblivious transfer called 1- 2 oblivious transfer or "1 out of 2 oblivious transfer," was developed later by Shimon Even , Oded Goldreich , and Abraham Lempel , in order to build protocols for secure multiparty computation. It is generalized to "1 out of n oblivious transfer" where the user gets exactly one database element without the server getting to know which element was queried. The latter notion of oblivious transfer is a strengthening of private information retrieval where one does not care about database's privacy. • Zero-knowledge proofs introduced in 1985. • The existence of 1-n oblivious transfer protocols from any private information retrieval protocol was first established by Giovanni Di Crescenzo, Tal Malkin and Rafail Ostrovsky. • Additional constructions of 1-n oblivious transfer protocols also related to private information retrieval, were proposed, e.g., by Moni Naor and Benny Pinkas, William Aiello, Yuval Ishai and Omer Reingold, Sven Laur and Helger Lipmaa. • Claude Crépeau showed that Rabin's oblivious transfer is equivalent to 1-2 oblivious transfer. • Committed Oblivious Transfer (COT) was introduced by Crepeau under the name (“Verifiable Oblivious Transfer”). • Further work has revealed oblivious transfer to be a fundamental and important problem in cryptography. It is considered one of the critical problems in the field, because of the importance of the applications that can be built based on it. In particular, it is a `complete' for secure multiparty computation: that is given an implementation of oblivious transfer it is possible to securely evaluate any polynomial time computable function without any additional primitive. 4 3 Rabin's oblivious transfer protocol, 1-2 oblivious transfer, 1-n oblivious transfer 3.1 Rabin oblivious transfer Fig. 1: Rabin oblivious transfer Rabin's oblivious transfer scheme is based on the RSA cryptosystem. 3.1.1 RSA RSA is an algorithm for public-key cryptography. It was 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 commerce protocols, and is believed to be secure given sufficiently long keys and the use of up-to-date implementations. Rabin oblivious transfer is a kind of formalization of “noisy wire” communication. The objective is to simulate a random loss of information. Formally, a Rabin OT machine models the following behavior. Sender sends a bit b into the OT machine. The machine then flips a coin, and with probability 1/2 sends b to Receiver, and with probability ½ sends ‘#’ to Reciever to signify that a bit was sent, but the information was lost in the transfer. Sender does not know which output Receiver received. In Rabin's oblivious transfer protocol, the sender generates an RSA public modulus N=pq where p and q are large prime numbers, and an exponent e relatively prime to ( p-1)( q-1). The sender encrypts the message m as me mod N. 5 1. The sender sends N,e, and me mod N to the receiver. 2. The receiver picks a random x modulo N and sends x2 mod N to the sender. Note that gcd( x,N )=1 with overwhelming probability, which ensures that there are 4 square roots of x2 mod N. 3. The sender finds a square root y of x2 mod N and sends y to the receiver. If the y the sender finds is neither x nor -x modulo N, the receiver will be able to factor N and therefore decrypt me to recover m. However, if y is x or -x mod N, the receiver will have no information about m beyond the encryption of it. Since every quadratic residue modulo N has four square roots, the probability that the receiver learns m is 1/2. The Rabin cryptosystem is an asymmetric cryptographic technique, whose security, like that of RSA, is related to the difficulty of factorization.