TRANSCRIBE: Non-Interactive Oblivious Transfer
Abstract
We show how to implement oblivious transfer without interaction, though the medium of a public file. As an aplication we can get non-interactive zero knowledge proofs via the same public file.
Table of Contents
- Abstract
- 1. Introduction
- 2 Implementing Non-Interactive OT
- 3 Schemes with Centers
- 4 The Non-Interactive OT Primitive
- A Appendix: Non-Interactive Zero Knowledge Proofs
- References
- Transcription Note
1. Introduction
1.1 Non-Interactive Oblivious Transfer
The intriguing concept of an oblivious transfer was introduced by Rabin, and has since then proven to be a powerful tool in the design of cryptographic protocols. Interaction, however, has seemed so far to be crucial to any implementation of it. Could one design a non-interactive version of this important primitive? We propose here several ways in which to do this.
The setting we consider is a public key one. Each user
Non-Interactive Oblivious Transfer:
A related concept is that of an oblivious transfer channel. This is a means of obliviously transferring a lot of information.
Oblivious Transfer Channel (OT channel): An oblivious transfer channel from
-
can send any number of bits on either or - One of the channels is clear to
(in the sense that he will see any bit that is sent on it) while the other is opaque -
does not know which channel is clear to .
OT channels are usually easier to think about and we will see that a single non-interactive oblivious transfer of a pair of short strings can be used to establish these channels.
It should be noted that although an OT channel allows lots of bits to be obliviously transmitted, the obliviousness in not independent. That is, suppose
In any case, in a science concerned with secret transmission, a primitive like non-interactive OT remains of fundamental importance and independent interest, over and above the applications visible at this stage.
1.2 Non-Interactive Zero Knowledge
We apply the non-interactive OT to obtain public key non-interactive zero knowledge systems. This is a setup in which there are many users, each with a public key, who can prove theorems to each other in zero knowledge and without interaction. A little more precisely,
Public Key Non-Interactive Zero Knowledge Systems: Consider a community of users, where each user
Ours are the first implementations of non-interactive zero knowledge proofs which permit many provers and verifiers who do not have to interact individually with one another before proving theorems (non-interactively) in zero knowledge.
Non-interactive zero-knowledge was introduced by Blum, Feldman, and Micali [BFM]1. They showed how a prover could prove a theorem to a verifier when both parties share a common random string. The drawback of their system, however, was that it was restricted to two parties: if many users wished to prove to each other, each pair of them would have to share a separate random string. This becomes quickly prohibitive as the number of users grows. Their implementation was also somewhat impractical.
Kilian [K1] showed how a theorem could be encoded and then transmitted using oblivious transfer in such a way as to achieve zero knowledge. Kilian, Micali and Ostrovsky [KMO] have a scheme which moves the oblivious transfer to a short preprocessing stage. That is, the prover and verifier first exchange some information via oblivious transfer. This enables the prover, in a later stage, to send the verifier zero knowledge proofs without interaction. The initial interactive phase scheme again means, however, that this scheme is restricted to two parties. On the other hand the encoding of proofs used is quite efficient and the system does not restrict the sizes of theorems.
Our public key zero knowledge systems evolve from the [KMO] work. We replace the initial interactive phase with public keys. To prove we use the same encoding of theorems as [KMO] and accomplish the proofs via non-interactive OT. Since each user either creates his public key himself or gets it from some center (without interaction with the person proving theorems to him), anyone can prove theorems to him.
Given that some of our implementations of non-interactive OT are quite efficient, and we use the [KMO] proof encodings, we get some quite efficient implementations of zero knowledge.
Public Key non-interactive knowledge proofs themselves have cryptographic applications; for example, Bellare and Goldwasser [BG] have shown how they can be used for message authentication.
Remark: As pointed out by Crépeau, proofs in [BFM] are transitive (that is, if
- 1The implementation described in the original [BFM] paper is not know to have a proof; a correct scheme has been announced by S. Micali [M].
1.3 Results and Organization of this Paper
We begin (§2) with a simple, concrete, and easily implementable scheme for non-interactive oblivious transfer.
The next set of schemes we present (§3) are more theoretical, and involve having a key distribution center. These centers are not trusted, and we show appropriate protocols whereby a user can get a key from them and the center gains no information which could compromise the key. These schemes have the advantage of being based on the general assumption of trapdoor permutations.
We have relegated to an appendix the description of our principal application: how non-interactive OT can be used to get non-interactive zero knowledge proof systems.
2 Implementing Non-Interactive OT
We describe a simple, concrete implementation of non-interactive oblivious transfer based on the Diffie-Hellman assumption, and then suggest generalizations of this approach to get alternative implementations.
2.1 A Simple Scheme
Fix some prime
The arithmetic in this section will be understood to be
How to Get Keys:
-
-
His public key is
Anyone can check that
The mechanism we use for non-interactive OT is similar to the Diffie-Hellman secret key exchange protocol, and is based on the same complexity assumption:
Diffie-Hellman Assumption: Given
The Diffie-Hellman assumption is one of the oldest and most tried in cryptography.
We can now describe how the non-interactive oblivious transfer of a pair of strings
Non-Interactive OT
In the above notation, let
picks at random and sends , to . then computes and , and sends and to . On receiving
and , uses his secret key to compute . He then computes .
2.2 A More Secure Scheme
The above scheme is simplified as much as possible. In particular, it is not clear exactly how secure
Non-Interactive OT
In the above notation, let
picks at random and computes and . She then picks random (where ) subject to the restriction that and . She sends , and , to . On receiving
, and , , uses his secret key to compute . He then computes .
The Goldreich-Levin theorem together with the Diffie-Hellman assumption imply that
As an aside, let us also point out that it is easy to modify our implementation of non-interactive OT to obtain a protocol for an interactive 1 out of 2 oblivious transfer based on the Diffie-Hellman assumption. Although it was known [GHY], [K2] that oblivious transfer in the interactive framework was possible under this assumption, the implementation arising out of the modification of our non-interactive scheme is simpler and more efficient.
2.3 Non-Interactive OT of More Bits: OT Channels
Suppose that
More formally, the above establishes an OT channel. The method used is a general one.
Once OT channels are available, we can implement non-interactive zero knowledge proof systems via the methods outlined in Appendix A.
2.4 2 Out of 3 Non-Interactive OT
particularly interesting variant of OT is the 2 out of 3 OT. Here
-
, -
, where is the value not equal to or .
His public key is
It is then easy to see how to generalize the scheme of §2.2 to define a Non-Interactive 2 Out of 3 OT
The interest of this variant of OT lies in its application to zero knowledge proofs via the results of [KMO]. They show a simple, efficient, general, and non-cryptographic2 method of "zero knowledge proofs for NP in three envelopes" which can be used to directly implement non-interactive zero knowledge proofs via our non-interactive 2 out of 3 OT.
We note that the scheme described here is easily generalized to achieve a
- 2The two envelope scheme described in Appendix A is cryptographic in the sense that creating the envelopes requires using encryption functions.
2.5 The Central Public Key
The above schemes requires the presence of some short string, common to all parties and satisfying some constraints, which can be used by any user to create his public and secret keys. We call this a central public key. Specifically, the central public key in the above consists of a random string
How can a central public key with the desired properties be obtained? The simplest and most direct way would be to have a center create it. Its job done, the center could disappear. This would probably work well enough in practice.
If one does not want a center then multi-party protocols as in [GMW], [BGW], or [CCD] could be used by the users themselves to agree on a central public key. These protocols have the necessary feature of not allowing any user (or any small subset of users) to influence the choice of the key to their advantage.
2.6 A Proof of Security
In order to formally prove that the oblivious transfer has the right properties, we will have to add one more step. When
Such a proof could be implemented via [BFM]. Unfortunately the scheme of [BFM] is based on quadratic residuosity. In the final paper we will show how to get some kind of proof based on discrete log, at the expense of a small interaction with the center.
2.7 Other Implementations
In the final paper we will consider a general framework which encompasses schemes of the above sort. The idea is that a user should be able to create his public key on his own, using some central public key. Moreover, there is a pair of secrets associated with his public key of which he only knows one. This is guaranteed by the fact of some relation between his public key and the central key being true, and this relation can be checked by anyone. Given this, there is a way to establish two encryption algorithms only one of which the key holder can decrypt. These are used for the non-interactive OT.
3 Schemes with Centers
The simplest and most direct way in which to establish public and secret keys which permit non-interactive OT would be through the use of a key distribution center. For example, consider a center who gives
A closer examination of this idea shows that some care must be exercised. There are a variety of drawbacks to the naive use of centers:
The center knows which channel is clear to
(he knows which number has the factorization of). If he reveals this to the latter can cheat.
might disregard what the center gives him and simply create, on his own, a key in which he places a pair of numbers both of whose factorizations he knows. He now extracts knowledge from the proofs he receives.
We propose here a way in which a key distribution center can be used to get appropriate keys while avoiding drawbacks of the above form. We will guarantee that after B gets a key from the center,
- The center does not know which channel is clear to
-
cannot change his key, or use another key which he builds to suit himself.
We Will do this using oblivious circuit evaluation, trapdoor permutations, and digital signatures.
Oblivious Circuit Evaluation:
-
learns the value of -
learns no more information about than that conveyed by the knowledge of -
learns nothing about or .
Oblivious circuit evaluation is a well known protocol of which numerous implementations exist. In particular it can certainly be done given the existence of trapdoor permutations.
Let
The circuit
When user
We note that we cannot, of course, protect against a totally corrupted center: for example, one who is willing to conspire with
To implement non-interactive OT with keys of the form
4 The Non-Interactive OT Primitive
One of the features of the usual interactive OT which makes it a tool of such universal application in the design of interactive protocols is that many stronger versions of OT can be reduced to the simplest kind. Such reductions appear in the work of Brassard, Crépeau, and Robert [BCR]. The same holds true for non-interactive OT. In several cases the reductions of [BCR] apply since they do not involve interaction over and above that of the original protocol. It is interesting to note, however, the case of the most interesting reduction: how a 1 out of
A Appendix: Non-Interactive Zero Knowledge Proofs
This appendix describes how non-interactive zero knowledge proofs are accomplished via OT channels. For a definition of OT channels see §1.1.
Kilian, Micali and Ostrovsky [KMO] presented a method via which theorems could be proved, non-interactively and in zero-knowledge, based on obliviously transferred pseudo-random sequences; two seeds would be known to the prover, and only one of them (with the prover unaware of which one) to the verifier. Their scheme will work in the more general framework of oblivious transfer channels, and we describe it in that form here.
Suppose
Choosing
at random she encrypts as . She encrypts the adjacency matrix of the permuted graph by choosing
at random and computing for each .
She now sends
Finally, we arrive at the point where
Actually,
To prove a further theorem,
At the receiving end,
- 3This is [GM] style probabilistic encryption: to encrypt a string
, choose a random and compute ; to decrypt, reveal .
References
- [BG] Bellare, M., and S. Goldwasser, “A New Paradigm for Digital Signataures and Message Authentication based on Non-Interactive Zero Knowledge Proofs,” CRYPTO 89.
- [BeMi] Bellare, M., and S. Micali, “How to Sign Given Any Trapdoor Function,” STOC 88.
- [BGW] Ben-Or, M., S. Goldwasser, and A. Wigderson, "Completeness Theorem for Non-Cryptographic Fault Tolerant Distributed Computing,” STOC 88.
- [BlMi] Blum, M., and S. Micali, “How to Generate Cryptographically Strong Sequences of Pseudo-Random Bits,” SIAM Journal on Computing, Vol. 13, No. 4 (November 1984), 850-S64.
- [BCR] Brassard, G., C. Crépeau, and J.-M. Robert, “Information Theoretic Reductions among Disclosure Problems,“ FOCS 86.
- [BFM] Blum, M., P. Feldman and S. Micali, “Non-Interactive Zero Knowledge and its Applications,” STOC 88.
- [CCD] Chaum, D., C. Crépeau and I. Damgård, “Multiparty Unconditionally Secure Protocols,” STOC 88.
- [GHY] Galil, Z., S. Haber and M. Yung, “Cryptographic Computation: Secure Fault-Tolerant Protocols and the Public Key Model,” CRYPTO 87.
- [GM] Goldwasser, S., and S. Micali, “Probabilistic Encryption,” Joumul of Computer and System Sciences 28 (April 1984), 270-299.
- [GL] Goldreich, 0. and L. Levin, "A Hard-core Predicate for any One-way Function,” STOC 89.
- [GMW] Goldreich, O., S. Micali and A. Wigderson, “A Completeness Theorem for Protocols with Honest Majority,” STOC 87.
- [K1] Kilian, J., “Founding Cryptography on Oblivious Transfer,” STOC 88.
- [K2] Kilian, J., personal communication.
- [KMO] Kilian, J., S. Midi and R. Ostrovsky, “Efficient Zero Knowledge Proofs with Bounded Interaction,” CRYPTO 89.
- [M] Micali, S., personal communication, March 1989.
Transcription Note
A 1990 paper on non-interactive oblivious transfer. A transcription of an old PDF for the purpose of reading it in machine translation.
- BELLARE, Mihir; MICALI, Silvio. Non-interactive oblivious transfer and applications. In: Advances in Cryptology—CRYPTO’89 Proceedings. CRYPT0 ‘89, LNCS 435, pp. 547-557, 1990