Malleability of Cryptosystems KEVIN ALLISON Definitions ππππππππππ‘π¦: The ability to manipulate a given ciphertext α into a ciphertext β that, when decrypted, produces a related plaintext. πππ − πππππππππππ‘π¦: Not being able to compute a different related ciphertext β from a given ciphertext α What Does Non-malleablity Provide? Improved security by knowing the encrypted message has not been tampered Ideologically equivalent to existentially unforgeable signatures Secrecy does not imply independence β¦ Non-malleable cryptosystems prove this Simple Example Professor Kaminsky enjoys encrypting his grades and giving each student their own symmetric key for decryption. Unfortunately you forgot how to add and did not do so well on the first test. With a malleable cryptosystem, this can be fixed! D Start Grade Encrypt α Various Operations β Relation Check If R(α, β) == 1 Decrypt A Done! End Grade (The previous assumes Professor Kaminsky uses a malleable encryption scheme. This is unlikely). Security Given a relation R and the ciphertext α Malleable if π½: π πΌ, π½ = 1 β¦ B is able to create a related ciphertext β from ciphertext α Non-malleable if ∀π΄ πππ’ππ‘πππ πΊ ∃π΄′ : π πΌ, πΎ = 1 β¦ For every attacker A launching an attack G there is an A’ that produces a ciphertext γ without access to ciphertext α and with a similar probability as A Two types: β¦ Semantic Security β¦ Non-malleable Security α – Message β – Rel. Msg G – Attack A - Attacker A’ - Simulator R - Relation πΎ – Rel. Msg. Semantic Security Definition 2.1: A scheme S for public-key cryptosystems is semantically secure with respect to relations under chosen plaintext attack if for every probabilistic polynomial time adversary A as above there exists a probabilistic polynomial time adversary simulator A’ such that for every relation π (π, π½) and function βππ π‘ π computable in probabilistic polynomial time π π΄, π − π′(π΄′ , π ) is subpolynomial. π(π΄, π ) – Probability A Succeeds π′(π΄′, π ) – Probability A’ Succeeds βππ π‘(π) – Function ret. info on m Types of Attacks Chosen Plaintext β¦ Attacker can encrypt any plaintext to get the ciphertext β¦ Least Powerful Chosen Ciphertext – Pre Processing β¦ Access a decryption oracle < xp times, then remove oracle Chosen Ciphertext – Post Processing β¦ Gets challenge ciphertext before oracle is removed β¦ Can decrypt any ciphertext excluding the challenge via the oracle β¦ Most Powerful Incorrect Implementations (Dolav et al.) Appending encryption to a zero-knowledge proof β¦ Proof could be malleable, therefore possible to generate new encryption and new proof Sending encryption plus signature β¦ Possible to generate new encrypted message E(m+1) and new signature based-off that Signature inside Ciphertext β¦ Same as above Public Key Overview Scheme S (Dolev et al.) β¦ Create public signature verification key/private signing key β¦ Encrypt message using several keys derived from public signature verification key β¦ Zero-knowledge proof used to show value encrypted is the same β¦ Encryptions and proof are signed from using the key from step 1 Public Key Generation (Dolev et al.) GP – Key Generator U – Random String H – Family of Functions: ∀π₯ π¦ ≠ π₯: β π¦ = β π₯ ππ βπππ Public Key Encryption (Dolev et al.) GS – Signature Key Generator h – One Way Hash Function Public Key Encryption (Dolev et al.) i≤π π£ π£ πΉ, π , π1 , π1 , π2 , π2 … ππ , ππ π£ Run ππΎπ on ππ = π1 1 π2 2 … πππ with witness ππ1 ππ2 … πππ πππ π π ≤π πππ ∈π {0,1}π(π) πππ = πΈ π£π ππ , πππ ππ ZKP – Zero Knowledge Proof k – Length of input n –size of the generator Non-malleable Security Run the Public Key Generation on Related Scheme (S’): β¦ β¦ β¦ β¦ Only run GN(n) n times. Not 2n. Public Key: π1 , … , ππ Private Key: π1 , … , ππ Message ---encrypt---> π1 , … , ππ If S is broken for malleability, then S’ is broken for semantic security β¦ Thus if S’ is semantically secure, then S is non-malleable Critical Components Security of the one-way hash function β¦ If it is possible to reverse the hash function, then the Scheme is invalid β¦ Does the hash function produce collisions? β¦ Another failure case Is the Zero Knowledge Authentication system correct? β¦ Otherwise verification of information is jeopardized. Modern Implications What if the Key is malleable? β¦ Is it possible to modify the key in such a way that it will produce a related plaintext that will decryption with correct public key. β¦ Then the proposed encryption scheme does not work. It is vulnerable to that attack To combat this, we need to make the relation take the public key into account! β¦ Redefine a relation to be contain ππ and ππ ∗ in addtion to πΌ and π½ References Dorlev et al. Non-Malleable Cryptography. http://www.cs.rit.edu/~kra2178/crypto/files/10.1.1.49.4643.pdf Fisclin, Marc. Completely Non-malleable Schemes. http://www.cs.rit.edu/~kra2178/crypto/files/completely_non_malleabl e_schemes.pdf Ventre, Carmine. Completely Non-Malleabe Encryption Revisited. http://www.iacr.org/archive/pkc2008/49390068/49390068.pdf Boldyreva et al. Foundations of Non-malleable Hash and One-Way Functions. http://www.cs.rit.edu/~kra2178/crypto/files/found_non_malleable.pdf Questions?