Euler’s Identity
Category: misc
50 points
One night, a man named Euler gave you three strings in your dream: MD5:d8d540ae49aadd151b96feb4e0ff124f, SHA1:abb07ca45c9e7719e66e766b958d943f561b8de6, SHA2(SHA1(MD5)):c037c03ee627047a85df540c42d59c6b6028841704a7c706feff584a997fd2a3.
Hint 1: People ask:‘How does great Euler find the relationship among pi, imaginary number, and Euler’s number.’
Hint 2: On the following night, the man appeared in your dream again. He told you concatenating secrets together foreshadowed the future. For example, given MD5(This), SHA1(is), and SHA2(SHA1(MD5(future))), the key is flag{Thisisfuture}.
Solution
Decoded value for d8d540ae49aadd151b96feb4e0ff124f
MD5 hash is e^
.
echo -n 'e^' | md5sum
d8d540ae49aadd151b96feb4e0ff124f -
For abb07ca45c9e7719e66e766b958d943f561b8de6
SHA1 hash the value is ipi=
.
echo -n 'ipi=' | sha1sum
abb07ca45c9e7719e66e766b958d943f561b8de6 -
Both hashes can be simply bruteforced. However third hash isn’t that simple, but let’s take a look into what we have
so far. After a while I’ve realized it’s a mathematical formula. I was never good in math, so I needed to search for
Euler's identity
in wikipedia and found the answer there.
e^ipi+1=0
So, if we move the 1
to the other side of equation, we got…
e^ipi=-1
And bingo! It was the flag :-)
Flag
flag{e^ipi=-1}