Editing 153: Cryptography

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 8: Line 8:
  
 
==Explanation==
 
==Explanation==
This comic refers to the study of {{w|cryptography}}. We can note the presence of the {{w|International Association for Cryptologic Research|International Association for Cryptologic Research (IACR)}} logo in the lectern ([[1661|podium?]]), an association that organizes the most important conferences in the cryptology field.
+
This comic, as the name implies, is relevant to the study of {{w|cryptography}}. At the podium, [[Cueball]] is describing a proposed crypto system (a computer program that turns a very large number, called the "{{w|key (cryptography)|key}}", and a message into an encrypted form that can only be read by using the same key), based on the model of a {{w|Feistel cipher}}. Part of any Feistel cipher is the "round function", which determines how the key is applied to the original message; this is applied multiple times with a variety of tricks and techniques to insure the process can eventually be reversed. One common component of round functions is the {{w|S-box}}, a simple table that converts input bytes into output bytes, preferably in a way that doesn't correspond to any mathematical rules.
 
 
[[Randall]], drawn as [[Cueball]] behind the lectern at the podium, is describing a proposed crypto system in which a computer program turns a very large number, called the "{{w|key (cryptography)|key}}," and a message into an encrypted form that can only be read by using the same key, based on the model of a {{w|Feistel cipher}}. Part of any Feistel cipher is the "round function," which determines how the key is applied to the original message; this is applied multiple times with a variety of tricks and techniques to ensure that the process can eventually be reversed. One common component of round functions is the {{w|S-box}}, a simple table that converts input bytes into output bytes, preferably in a way that doesn't correspond to any mathematical rules.
 
  
 
Here, the S-box would be implemented by doing the following (with the computer operation actually shown in the diagrams indicated in parentheses):
 
Here, the S-box would be implemented by doing the following (with the computer operation actually shown in the diagrams indicated in parentheses):
Line 18: Line 16:
 
#Reverse it (run the bits in the opposite order)
 
#Reverse it (run the bits in the opposite order)
  
This would be run on each round of the cipher to further scramble the message for the next round. As the caption implies, the steps are based on a line from the {{w|Missy Elliott}} song ''{{w|Work It (Missy Elliott song)|Work It}}'': '''"I put my thing down, flip it and reverse it."''' As with any encryption system, there must be a way to decrypt the cipher text. In Missy Elliott's song, the phrase "I put my thing down, flip it and reverse it" is repeatedly played backward, sounding like gibberish. In the same way, steps to a Feistel cipher-based algorithm are executed in reverse to obtain the original plain text from a cipher text.
+
This would be run on each round of the cipher to further scramble the message for the next round. As the caption implies, the steps are based on a line from the {{w|Missy Elliott}} song ''{{w|Work It (Missy Elliott song)|Work It}}'': "I put my thing down, flip it and reverse it."
  
The {{w|Key space (cryptography)|keyspace}} for a cryptographic algorithm is the number of possible keys the algorithm can possibly accept. For example, {{w|Advanced Encryption Standard|AES-256}} has a keyspace of 2<sup>256</sup> (roughly 1.1579209e+77) possible keys, simply because the algorithm specifies that each key is 256 bits wide. The title text is referring to "searching a keyspace," which is to say, simply trying every key until you find one that works. (For reference, a computer would require roughly the energy of a billion billion supernovas to even count to 2<sup>256</sup>, let alone actually try each one.) The precise wording, "If you got a big keyspace, let me search it" is, of course, another reference to the same song: "If you got a big **** let me search ya" (The word "penis" is censored by the trumpeting of an elephant).
+
The {{w|Key space (cryptography)|keyspace}} for a cryptographic algorithm is the number of possible keys the algorithm can possibly accept. For example, {{w|Advanced Encryption Standard|AES-256}} has a keyspace of 2<sup>256</sup> (roughly 1.1579209e+77) possible keys, simply because the algorithm specifies that each key is 256 bits wide. The title text is referring to "searching a keyspace", which is to say, simply trying every key until you find one that works. (For reference, a computer would require roughly the energy of a billion billion supernovas to even count to 2<sup>256</sup>, let alone actually try each one.) The precise wording "If you got a big keyspace, let me search it" is, of course, another reference to the same song: "If you got a big **** let me search ya." (The **** in the song is apparently the sound of an elephant, but it is heavily implied from context to be "penis".)
  
This was the first comic where Randall was banned from conferences. Since then, he has been [[:Category:Banned from conferences|banned from multiple conferences]] for similar pranks; especially in [[541: TED Talk]], there is a whole list of conferences from which he has been banned. This has sometimes resulted in him being invited to those conferences - see more here on this [[541:_TED_Talk#PyCon response|PyCon response]] to Randall claiming he was banned from their conference.
+
Cueball is banned from multiple conferences for similar pranks ([[541: TED Talk]]) and so is the author Randall Munroe at [http://pycon.blogspot.com/2009/02/randall-munroe.html PyCon].
  
 
==Transcript==
 
==Transcript==
:[Randall Munroe (drawn as Cueball) stands behind a lectern on a podium in front of a large conference audience (consisting of Cueball heads), with a poster hanging beside him.]
+
:[Cueball at a podium.]
:Randall: My cryptosystem is like any Feistel cipher, except in the S-Boxes we simply take the bitstring down, flip it, and reverse it.
+
:Cueball: My cryptosystem is like any Feistel cipher, except in the S-Boxes we simply take the bitstring down, flip it, and reverse it.
 
+
:I've been barred from speaking at any major cryptography conferences ever since it became clear that all my algorithms were just thinly disguised Missy Elliot songs.
:[The poster reads:]
 
:: Decryption
 
:: <code>01101010</code>
 
:: <code>&nbsp;&nbsp;&nbsp;>></code>
 
:: <code>00110101</code>
 
:: [inverter symbol]
 
:: <code>11001010</code>
 
:: [crossed arrows]
 
:: <code>01010011</code>
 
 
 
:[Caption below the crowd:]
 
:I've been barred from speaking at any major cryptography conferences ever since it became clear that all my algorithms were just thinly disguised Missy Elliott songs.
 
  
 
{{comic discussion}}
 
{{comic discussion}}
 
[[Category:Comics featuring Randall Munroe]]
 
 
[[Category:Comics featuring Cueball]]
 
[[Category:Comics featuring Cueball]]
 
[[Category:Banned from conferences]]
 
[[Category:Binary]]
 
[[Category:Cryptography]]
 
[[Category:Public speaking]]
 

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)