mersenneforum.org  

Go Back   mersenneforum.org > Fun Stuff > Puzzles

Reply
 
Thread Tools
Old 2016-09-05, 20:09   #1
Raman
Noodles
 
Raman's Avatar
 
"Mr. Tuch"
Dec 2007
Chennai, India

3×419 Posts
Default Find out a collision: AES(y, x) ⊕ y under key x

This problem is from a cryptography course.
Let ⊕ be the XOR operator.
AES (Advanced Encryption Standard) is an encryption function that takes two arguments (plaintext message, key) each ranging between 0 and 2128-1 and returns a ciphertext value again ranging between 0 and 2128-1.
For a given key, the encryption from plaintext to ciphertext is easily computable (AES function) and also the decryption from ciphertext to plaintext is easily computable (AES-1 function).
For a given key, the set of plaintext messages and the set of ciphertext messages are being bijective.
However, with the given plaintext messages and ciphertext messages, computing the key is computationally out of reach.
However, I am neither sure that if for a given plaintext message, there can be two keys that encrypt it to the same ciphertext message (Again that assume that computing to finding out such a collision is computationally out of reach).
nor sure that if for a given ciphertext message, there can be two keys that decrypt it to the same plaintext message (Do these two statements that are being essentially equivalent ?? I do wonder that !!).

Consider these two problems
1. AES(x1, x1) ⊕ y1 = AES(x2, x2) ⊕ y2 with x1 ≠ x2 and y1 ≠ y2
2. AES(y1, x1) ⊕ y1 = AES(y2, x2) ⊕ y2 with x1 ≠ x2 and y1 ≠ y2

The first problem is being stupidly easy. Right ?? Isn't it...
It is quite very obvious / trivial / natural that if you fix x1, x2, y1 to arbitrary values, then you could calculate y2 = AES(x1, x1) ⊕ y1 ⊕ AES(x2, x2).

I am looking out for a solution to the second problem... Right ?? Isn't it...
How will you go about for solving the second problem ?? !!
It is quite very subtle that
→ if you fix x1, y1, y2 to arbitrary values, then computing key x2 from plaintext and ciphertext is being impossible.
→ if you fix x1, x2, y1 to arbitrary values, then we should deal with y2 variable at two places, one inside of the AES function, one outside of the AES function along with the XOR (⊕) operator up on the right hand side.
→ on the other hand, if the second problem were
AES(y1, x1) ⊕ x1 = AES(y2, x2) ⊕ x2 with x1 ≠ x2 and y1 ≠ y2
then again that it would have been easier to do solve
are being if you fix x1, x2, y1 to arbitrary values,
then you could calculate y2 = AES-1(AES(y1, x1) ⊕ x1 ⊕ x2, x2).

Quote:
Originally Posted by Raman View Post
Mentally stimulating / simulating
Mind stimulating / simulating
Warm up / relax / reflex / refresh / retain / restrain / recreation
exercise / activity / assignment / quiz
sport / game / puzzle
sheet / chart / pape - r / page - r / pape - r / page - r / paupe - r / barbe - r / carpente - r / bank / bankrupt / agent / agency
globe / earth / world


1. Make out 127 by using the digits 1, 2, 7 once with out changing the order.
2. Make out 127 by using the digits 1, 2, 7 twice.
3. Make out 127 by using the digits 1, 2, 7 N times.
4. What is being the largest number that can be made out done by using that 3 digits? done.
5. What is being the largest number that can be made out done by using that 3 threes? done.
6. What is being the largest number that can be made out done by using that 4 ones? done.
7. With out changing the order of the digits, by using the digits 3, 1, 3, 6 make out 8.
Number Twist
My Own Two Cents
Piece of Cake
Bonus
You can use operators / operations for the concatenation, addition, subtraction, multiplication, division, square root, factorial, power (index / exponentiation), parenthesis (brackets), absolute value (modulus).
8. Make out 87 by using the digits 1, 3, 5, 7.
9. Make out [strike]76[/strike] 84 by using the digits 0, 4, 5, 9.
10. Make out 47 by using the digits 0, 1, 2, 3.
Absolute value (modulus) is being essentially useless - → |x| = x or -x. |x - y| = x - y or y - x.

Last fiddled with by Raman on 2016-09-05 at 20:29
Raman is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Where can I find a Reverse and Add program? I can't find any! Stargate38 Programming 18 2015-07-10 06:08
Find the Value davar55 Puzzles 7 2009-07-02 19:46
Find the Value davar55 Puzzles 25 2007-07-15 15:56
Collision algorithm for Discrete log Citrix Math 7 2005-11-25 16:53
New way to Find (X^Y) % M maheshexp Miscellaneous Math 29 2004-08-30 15:59

All times are UTC. The time now is 03:21.


Sat Jul 17 03:21:36 UTC 2021 up 50 days, 1:08, 1 user, load averages: 1.58, 1.51, 1.41

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.