Live data from Hacker News

When AES(☢) = ☠ – a crypto-binary trick

speakerdeck.com

21–30 of 36 posts

Re: When AES(☢) = ☠ – a crypto-binary trick

#21

There's also a word play in the title. "AES" transliterates to "АЭС" (acronym for " А томная Э лектро с танция") in Russian (and some other Slavic languages), which means "nuclear power plant". Thus, the "☢" sign.

that's totally unintended: I just looked for some interesting unicode characters and chose these 2 for the video game references ;)

Re: When AES(☢) = ☠ – a crypto-binary trick

#22
post #13

That was a great read. I saw the title and figured it would quickly go over my head but it's all pretty understandable. Does anyone know where I can download the src to have a look through? Edit: found it https://code.google.com/p/corkami/source/browse/#svn%2Ftrunk...

The play of unicodes reminds me of some awesome slides made by Larry Wall and other Perl hackers. A good slide show is about to convey messages in a visually efficient and succinct way, not in an overloaded and bloated one.

Re: When AES(☢) = ☠ – a crypto-binary trick

#24
post #19

What's the benefit of AES using such small blocks?

The block size of a symmetric cipher will generally be in the neighborhood of the key length. You can imagine the problem if you had a 128-bit key but an 8-bit block size -- for each of the 256 possible inputs you would have only 256 possible outputs. There would be multiple keys that produced the same mapping and you could produce every possible mapping with only 65536 keys. So the block size needs to be near the key size. Making it larger than that wouldn't make it any more secure but would make it slower.

Re: When AES(☢) = ☠ – a crypto-binary trick

#25
post #5

Cool trick, I have encountered something like this in a steganography wargame before, the only difference is they used Base64 encoding on the original picture instead of AES :)

Base64 is not true encryption, it doesn't require a key it is merely obfuscation.

Re: When AES(☢) = ☠ – a crypto-binary trick

#26
post #19

What's the benefit of AES using such small blocks?

The block size of a symmetric cipher will generally be in the neighborhood of the key length. You can imagine the problem if you had a 128-bit key but an 8-bit block size -- for each of the 256 possible inputs you would have only 256 possible outputs. There would be multiple keys that produced the same mapping and you could produce every possible mapping with only 65536 keys. So the block size needs to be near the ke…

This doesn't sound right to me. There are 256! permutations of the set {0, 1, 2, 3, ..., 255}. 256! is much bigger than 2^128, so I see no reason that each key cannot produce a unique mapping.

> So the block size needs to be near the key size

Note that AES-256 has a 256 bit key, but the block size is 128 bits, which is not near the key size.

I believe that the main constraint on block size is that a small block limits the length of messages you can safely encrypt with a given key. If the bad guys see a lot of cipher text encrypted with the same key, they have a better chance of a successful attack. What "a lot of cipher text" means depends on the block size. The bigger the block size, the more cipher text is needed to constitute "a lot of cipher text".

Re: When AES(☢) = ☠ – a crypto-binary trick

#28
post #26

Earlier quoted context omitted.

The block size of a symmetric cipher will generally be in the neighborhood of the key length. You can imagine the problem if you had a 128-bit key but an 8-bit block size -- for each of the 256 possible inputs you would have only 256 possible outputs. There would be multiple keys that produced the same mapping and you could produce every possible mapping with only 65536 keys. So the block size needs to be near the ke…

This doesn't sound right to me. There are 256! permutations of the set {0, 1, 2, 3, ..., 255}. 256! is much bigger than 2^128, so I see no reason that each key cannot produce a unique mapping. > So the block size needs to be near the key size Note that AES-256 has a 256 bit key, but the block size is 128 bits, which is not near the key size. I believe that the main constraint on block size is that a small block limit…

[deleted]

Re: When AES(☢) = ☠ – a crypto-binary trick

#29

Where do you store the IV? Do you just append it at the end of the file?

You have to supply that, see the python script, at the end it prints what to run to decrypt, the determined IV is passed as a param:

http://corkami.googlecode.com/svn/trunk/src/angecryption/ang...

Re: When AES(☢) = ☠ – a crypto-binary trick

#30
post #25
post #5

Cool trick, I have encountered something like this in a steganography wargame before, the only difference is they used Base64 encoding on the original picture instead of AES :)

Base64 is not true encryption, it doesn't require a key it is merely obfuscation.

In the general usage case base64 is not even obfuscation, really (though it does make it non-human-readable... for most humans), just an encoding for dealing with situations where you need to store or transmit 8-bit or multibyte character data into a system that may otherwise be incapable of dealing with it reliably.
Post reply on HN