Academia.eduAcademia.edu

Outline

Committing Encryption and Publicly-Verifiable SignCryption

2003, IACR Cryptol. ePrint Arch.

Abstract

Encryption is often conceived as a committing process, in the sense that the ciphertext may serve as a commitment to the plaintext. But this does not follow from the standard definitions of secure encryption. We define and construct symmetric and asymmetric committing encryption schemes, enabling publicly verifiable non-repudiation. Committing encryption eliminates key-spoofing attacks and has also the robustness to be signed afterwards. Our constructions are very efficient and practical. In particular, we show that most popular asymmetric encryption schemes, e.g. RSA, are committing encryption schemes; we also have an (efficient) construction given an arbitrary asymmetric encryption scheme. Our construction of symmetric committing encryption retains the efficiency of the symmetric encryption for realtime operations, although it uses few public key signatures in the setup phase. Finally, we investigate how to achieve both confidentiality and non-repudiation, and present a publicly v...

References (13)

  1. Jee Hea An, Yevgeniy Dodis, Tal Rabin. On the Security of Joint Signature and Encryption. In L. Knudsen, editor, Advances in Cryptology EUROCRYPT 2002. http://citeseer.nj.nec.com/an02security.html
  2. Ross Anderson, Roger Needham. Robustness Principles for Public Key Protocols. In Proceedings of Int' l. Conference on Advances in Cryptology (CRYPTO 95), Vol. 963 of Lecture Notes in Computer Science, pp. 236-247, Springer-Verlag, 1995. http://citeseer.nj.nec.com/anderson95robustness.html
  3. Mihir Bellare, Phillip Rogaway. Optimal Asymmetric Encryption -How to Encrypt with RSA.
  4. In A. De Santis, editor, Advances in Cryptology -Eurocrypt '94, Vol. 950 of Lecture Notes in Computer Science, pp. 92-111, Springer Verlag, 1995. http://citeseer.nj.nec.com/bellare94optimal.html
  5. Moni Naor, Moti Yung. Public-key Cryptosystems Provably Secure against Chosen Ciphertext Attack. Proceedings of the 22 nd Annual Symposium on the Theory of Computing, ACM STOC, pp. 427-437, May 14-16, 1990. http://citeseer.nj.nec.com/naor95publickey.html [PKCS1v2.0] RSA Laboratories. PKCS #1 v2.0: RSA Encryption Standard. October 1998. Available from http://www.rsasecurity.com/rsalabs/pkcs/ [PKCS1v2.1] RSA Laboratories. PKCS #1 v2.1: RSA Cryptography Standard. 14, June 2002. Available from http://www.rsasecurity.com/rsalabs/pkcs/
  6. C. Rackoff, D. Simon. Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack. Advances in Cryptology, CRYPTO '91, Lecture Notes in Computer Science, Vol.
  7. Jianying Zhou, Dieter Gollmann. A fair non-repudiation protocol. In Proceedings of the IEEE Symposium on Research in Security and Privacy [IEE96], pp. 55-61, Oakland, CA, May 1996. http://citeseer.nj.nec.com/62704.html
  8. Yuliang Zheng. Digital Signcryption or How to Achieve Cost(Signature & Encryption) << Cost(Signature) + Cost(Encryption). In Advances in Cryptology -CRYPTO' 97, Berlin, New York, Tokyo, Vol. 1294 of LNCS, pp. 165--179, Springer-Verlag, 1997. http://citeseer.nj.nec.com/zheng97digital.html Otherwise, denote d 1 = Decommit CK (m, r c1 ) and d 2 = Decommit CK (m', r c2 ), we have: Dec DK (c e ) = Dec DK (Enc EK (d 1 , r
  9. = Dec DK (Enc EK (d 2 , r c2 )) = Dec DK (c e ), contradiction. Moreover, (c c , d 1 , d 2 ) is a collision for , since: Reveal CK (c c , d 1 ) = Reveal CK (Commit CK (m, r c1 ), Decommit CK (m, r c1 )) = m m' = Reveal CK (Commit CK (m', r c2 ), Decommit CK (m', r c2 ))
  10. = Reveal CK (c c , d 2 ), contradiction. Proof of case (b) If ' succeeds with the second option of Ver, we can easily construct adversary that can find collisions for . views the commitment key CK and by itself picks a pair of encryption/decryption keys (EK, DK) EncKeyGen(1 k ), and a pair of signing/verification keys (SK, VK) SigKeyGen(1 k ), and sets CEK = (CK, EK, VK). then hands CEK to ' as the public committing encryption key. runs ' to find triple c, (m, hint), (m', hint') which is a collision for CtE . Then, sets d = Msg VK (hint) and d' = Msg VK (hint'), and outputs the triple c c , d, d' which is a collision for . It is easy to see that (c c , d) and (c c , d') are valid commitments for m and m' and m m' since m = Reveal CK (c c , d) Reveal CK (c c , d') = m'. Assume adversary can find collisions for i.e., can find c c , d, d' such that (c c , d) and (c c , d') are valid commitments for m and m' but m m'. We can easily construct adversary ' that can find collisions for CtE . ' views the commitment key CK and by itself picks a pair of encryption/decryption keys (EK, DK) EncKeyGen(1 k ), a pair of signing/verification keys (SK, VK) SigKeyGen(1 k ), and sets CEK = (CK, EK, VK). ' then hands CK to as the public commitment key. ' runs to find triple c c , d, d' which is a collision for . Then, ' runs internally m Reveal CK (c c , d), m' Reveal CK (c c , d'), sets hint = Sign SK (d), hint' = Sign SK (d'), then ' chooses = d or d' and runs c e Enc EK ( , r e ), and outputs the triplet c = (c c , c e ), (m, hint), (m', hint') which is a collision for CtE . It is easy to see that Ver CEK (c, m, hint) = succeed and Ver CEK (c, m', hint') = succeed for m and m' and m m'. Lemma 2.3 Assume that , , and satisfy the syntactic properties of an asymmetric encryption scheme, a commitment scheme, and a digital signature scheme respectively. Let CtE be an asymmetric committing encryption scheme constructed from , , and as defined above. Then is UF-NMA-secure CtE is CE-RECOVER-secure.
  11. Proof Assume CtE is not CE-RECOVER-secure i.e., adversary ' can find c, m, and hint, such that Ver CEK (c, m, hint) = succeed but DcmtDec CEK,DK (c) = . Recall that Ver CEK (c, m, hint) has two options to succeed. (a) Input parameters given by the sender: parse hint as r c ||r e , check if c = (c c , c e ) = CmtEnc CEK (m, r c ||r e ) = (Commit CK (m, r c ), Enc EK (Decommit CK (m, r c ), r e )).
  12. Input parameters given by the recipient: parse hint as Sign SK (d), check if m = Reveal CK (Commit CK (m, r c ), Msg VK (Sign SK (Decommit CK (m, r c ))).
  13. We now show that in either case (a) or (b), if ' succeeds to find c, m, and hint, such that Ver CEK (c, m, hint) = succeed but DcmtDec CEK,DK (c) = , then either cannot be syntactically an encryption scheme or cannot be syntactically a commitment scheme, or cannot be UF- NMA-secure.