Upload
wmeek26
View
221
Download
1
Embed Size (px)
Citation preview
Running Head: The Best Option for Secure Communication
The Best Option for Secure Communication
William Meek
University of North Carolina at Charlotte
Introduction to Data Encryption
Throughout my life I have always found myself excited by topics surrounding espionage
after growing up watching popular figures of modern culture such as Jason Bourne, Ethan Hunt,
and the great James Bond on the big screen. It was while watching The Blind Banker, an episode
of the BBC television series “Sherlock” that I first began to develop interest in cryptography. In
this episode, a fictional gang known as the Black Lotus was using a cryptosystem which used
ancient Chinese numerals that corresponded to the page number and word on the page in a book.
The reason I find cryptography so fascinating is the competition. Each cryptosystem is like a
game of chess between the group who develops the encryption method and the group who is
attempting to decrypt the system. Steganography holds the same quality: can the creator develop
a system powerful enough to allow data to be communicated undetected or will the attacker
notice that the information is being transferred? This competitiveness raises the question, how
does one go about creating a system which cannot be broken?
Currently, public key cryptography is accepted as the best method for encryption, which I
agree with one thousand percent because it requires two keys to decrypt rather than one, a public
key and a private key. The reason I like this system is because it is not only complex, but it
works on a competitive level. In chess, the key is not to have the best strategy, but to be able to
predict your opponent’s moves. I believe that when developing an encryption system one should
focus primarily on how the attacker will try to decrypt the system rather than making the most
complex system. Public key encryption does an excellent job of this because it is formed on the
theory that multiplication can be done quickly but factoring takes a much longer time to do.
Furthermore, since it involves modular division, it is extremely difficult to determine the public
key, and once an attacker learns the public key, they still have to determine a private key, and
then after they finally figure that out, they still have to determine which numbers correspond to
letters. The entire system is designed, not to be extremely complex, but to be a royal pain to
decrypt.
It is for this reason that of the many types of public-key cryptosystems, elliptic-curve
cryptography (ECC) is my favorite. After 29 years of research, an algorithm to effectively solve
ECC has yet to be found. It is possible to calculate the amount of energy it takes to solve a
cryptographic system and compare that to how much water the same amount of energy could
boil. By this measure, breaking a 228-bit RSA (the most common type of public key encryption)
key requires less energy than it takes to boil a teaspoon of water. Comparatively, breaking a 228-
bit elliptic curve key requires enough energy to boil all the water on earth [Sullivan, 2013], just
to give you an idea of how complex the system is.
Terms:
Cryptology: When defining cryptology, Stinson [2005] considers three main points;
cryptography, cryptanalysis, and cryptosystems. Cryptology is the study of codes and methods of
deciphering codes. By nature, cryptology must incorporate technology – a tool or technique
applied to aid in the acquisition of a want or need. Boone [2005] discusses some of the different
technologies in which cryptology has been used throughout history.
Cryptography: The fundamental purpose of cryptography is to allow two or more
people to communicate over an insecure channel in such a way that an opponent cannot
understand what is being said [Stinson 2005]. Cryptography is the practice of
communicating through messages containing encrypted data. Early encryption patterns
used in cryptography involved simple one-way functions. Hankerson, Menezes, and
Vanstone [2004] describe the path from some of the more modern (and much more
Commented [WM1]: Combine current “entering conversation” with current literacy review. Remove terms with less significance to the paper.
Commented [WM2]: Include “Literature Review” within the section header.
advanced) processes RSA, DL, and elliptical curve encryption schemes. These modern
systems are based on complex mathematical functions which yield scattered values that
are nearly impossible to calculate mentally making their encryption process difficult to
solve resulting in more secure systems – the ultimate goal of cryptography.
Cryptanalysis: Cryptanalysis is the process of deciphering known cryptosystems.
According to Stinson, cryptanalysis follows four primary attack models; ciphertext only
attacks, known plaintext attacks, chosen plaintext attacks, and chosen ciphertext attacks.
Cryptosystem: A cryptosystem is the term used to describe the mechanics of a
cryptograph or cryptogram, which is being used in the real world. Stinson defines a
cryptosystem as a function with five variables (P, C, K, E, D) in which the following
rules are satisfied:
P is a finite set of plaintexts.
C is a finite set of possible ciphertexts.
K, the keyspace is a finite set of possible keys.
E and D represent encryption and decryption and can be used to decrypt
ciphertext in the function where 𝑑𝐾(𝑒𝐾(𝑥)) = 𝑃𝑥
In a cryptosystem, plaintext is the message which is being communicated between two or
more allies and ciphertext is the encrypted message which is actually sent [Stinson 2005].
Singh [2001], Stinson [2005], Low and Stamp [2007] explain some of the basic
cryptosystems which have been popularly used throughout history and can be combined
to develop more complex cryptosystems.
Steganography: The literal translation of steganography is “covered writing.” Steganography is
the hiding of secret messages within another seemingly innocuous message, or carrier [Johnson,
Duric, Jajodia, 2001].
Steganalysis: Steganalysis is the process of trying to detect hidden messages. Through
examining steganalysis, we begin to see steganography’s advantage over cryptology. It
can be extremely difficult to break steganographic codes because it is not obvious that
there is a message which needs to be detected. Hidden messages which do not
incorporate the use of digital media are especially difficult to detect because they have
fewer restrictions to the means of their camouflage. Kumar and Pooja [2010] explain the
two primary approaches which can be applied in steganalysis regarding digital medium.
First, examining the size of the file and determining whether or not the content of the
file is consistent with its memory usage. For example if you saw a Microsoft Word
document that was one page in length (a file which would typically contain 10-15
kilobytes of memory) but was stored using an entire megabyte (1000 kilobytes) of
memory, that would raise suspicion. The second method is more advanced and requires a
stronger understanding of computer language. This method is to observe variances
between bit patterns, so unless you had a program searching for specific recurring bit
patterns or a strong understanding of binary language, file compression, and digital
memory and storage systems; a skill set which very few people possess.
Stegocarrier: A stegocarrier is the message which is sent between two or more allies in
which the concealed message is contained.
ASCII: ASCII is the American Standard Code for Information Interchange. It is an
encoding scheme used in computer programming which translates the English alphabet, a
Commented [WM3]: Explain why files with larger than expected sizes raise suspicion. Talk about how this indicates the presence of data which is not being displayed to the user.
set of special characters (such as punctuation marks), and the numbers (0-9) into binary
code, the language which all computers use to operate. The ASCII system is important to
steganography because it stores each character as one byte. A byte is comprised of 8 bits
which each store a value of either 1 or 0 (binary). Because not all of the bits in each byte
are used to store significant data, some of the bits can be modified. This is an important
concept in the application of digital steganography.
Digital Water Marking: Digital watermarking is essentially commercially applied
steganography. Just as a non-digital watermark typically provides information about the carrier, a
digital watermark are attributes of their cover work. Digital watermarks can be used to trace,
identify, and locate digital media across networks. They are especially useful addressing issues
related to intellectual property and copyright infringement [Johnson, Duric, Jajodia, 2001].
Digital watermarks include three key components, the embedder, detector, and cover work.
Embedder: The embedder carries two pieces of information; the secret message, and the
cover work which the message is hidden in.
Detector: The detector uses a cover work as input and checks whether or not the work
includes a payload of hidden information and outputs that information if it is present. In
other words, the detector is essentially a specialized search engine. Imagine something
like Google except instead of entering a search term, the detector already knows what key
to search for and displays the hidden message within the cover work.
Cover Work: The cover work is the stego-carrier in which the secret message is
concealed. Essentially, a cover work is just a file but since the ultimate goal is to have
some embedded information which most people wouldn’t notice, they are generally used
in files which store unnecessary data. For example if you were using a text file, it would
be more beneficial to use a .doc (word document) file rather than a .txt (text) file because
the word document will store lots of extra information that a .txt file wouldn’t and this
extra information can be modified to contain a hidden message instead of adding the
message to a .txt file resulting in a file with a suspiciously large memory size.
Why Elliptic Curve Cryptography is the Best Choice
It is clear that throughout history, many systems related to data hiding have been
implemented, but which method of secure communication is the most effective? Both
cryptography and steganography have their advantages and disadvantages. When using
cryptography data is more secure, but ultimately since an outside party is aware the information
is being exchanged, they will eventually break the code. In steganography, if the system is
effective enough, the data will go unnoticed, and the outside party will never know the
information was exchanged, however, there is no encryption, so if the outside party does detect
the data transfer, there is no security to protect the sent message.
Cryptography is the more effective system to use when exchanging data that is only
required to maintain secret for a limited amount of time. For example, if a company is
exchanging information about a new product, once the product is released, the information is no
longer required to maintain confidential. More specifically, the most beneficial cryptosystem to
use would be one based upon elliptic curve cryptography such as ECDSA (elliptic curve digital
signature algorithm) and ECDH (elliptic curve Diffie-Hellman). Systems incorporating ECC are
popularly accepted as the most effective form of modern cryptography, but in order to
understand their effectiveness, we must first identify what they are.
Elliptic curve cryptography is a very complex system to explain. I myself spent countless
hours reading and rereading multiple sources just to comprehend the basic property of the
Commented [WM4]: Literacy review should circle back around to my figured world from assignment 1.
Commented [WM8]: In entering the conversation, consider talking about the advantages of ECC for security in mobile devices.
Commented [WM7]: In the new literature review section, explain the memory storage and retrieval process specifically pertaining to how fewer bits corresponds to faster performance.
Commented [WM6]: Talk about why it is important to have fewer bits since mobile devices have less processing power.
Commented [WM5]: Research and briefly discuss WHY mobile devices have less processing power and potentially how much less.
system. Comprehending the basics of ECC requires the understanding of two key elements:
public-key encryption, and elliptic curve mathematic functions.
Most experts agree that cryptology can be divided into two eras: classical and modern.
The classical era consisted of simple mathematic functions involving transference and
substitution properties as well as encryption methods based out of books but the factor which all
of the classical-era cryptosystems contained was the requirement of the members of the party
relaying information to have prior knowledge of the key before the information was sent. The
modern era of cryptography began in 1977 when both the RSA algorithm and Diffie-Hellman
key-exchange algorithm were introduced [Sullivan, 2013]. What separates the two eras is that
through incorporating a public key, members of the party attempting to create secure
communication can use separate private keys, and still retain the ability to decrypt the cipher-
text.
Though ECC is extremely difficult and time consuming to decrypt for external parties,
the reality is that it can still be decrypted. Previously, I discussed how cryptographic systems are
the strategic choice of secure communication for messages which have constraints to the amount
of time they must remain unknown (ie a company’s new product). What about the preferred
method of transferring data that must remain unknown to outside parties for an infinite amount
of time? One would think that steganography would be the preferred method of secure
communication in instances such as these, but in fact, I would still argue that the ECC is a more
beneficial way to go. Assuming the numbers used during the encryption process of ECC are in-
fact random, the constantly changing encryption scheme combined with the single mundane
approach to cryptanalysis which exists for the particular system should provide enough security
for the system to be effective long-term. That is not to say steganography is a useless practice.
Commented [WM9]: Consider combining these two paragraphs for organizational purposes.
Digital steganography and watermarking primarily focus on sending individual bits of data in
places where they can be transferred undetected. Digital cryptosystems can be strengthened by
sending the ciphertext in methods incorporating steganography. Because the message is digital,
no matter how complex the number being sent is, it is ultimately going to be sent as a bit stream.
A bit stream is simply the representation of the message being conveyed in binary language, a
language in which all computers use to operate which uses only ones and zeroes.
The most common places to hide the information sent in steganography is in text, image,
audio, and video files. I will be using text-file based steganography systems for examples as they
do not require the composite knowledge of digital bit storage to and memory retrieval to
understand as systems using image, audio, and video files do. All we need to understand for text
based systems is how text is stored electronically which I will break down step by step. Digital
text is stored as either a variable or a constant, which are simply values stored in the computer’s
memory (the only difference is that a variable’s value can be changed and a constant’s cannot) in
this case a “string.” A string is stored as an array of letters/characters called “chars.” For our
purposes, an array is a series of elements (in this case chars) which all reference the same
variable/constant name and a unique index. Furthermore, the computer stores each char as an
integer (called “int”) which corresponds to a specific character, in our examples the ints which
represent each character will be derived from ASCII. Finally, the integer which corresponds to
the correct character is converted into binary code, the language comprised of only ones and
zeroes which the computer actually understands. For example, if you were to type the message
“Hello World!” into the computer, this is how the message would be stored at each step:
string message = “Hello World!”;
char message[12] = {‘H’, ’e’, ’l’, ’l’, ’o’, ’ ‘, ’W’, ’o’, ’r’, ’l’, ’d’, ’!’};
char message[12] = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33};
Bit string (or binary value) which variable or constant “message” is stored:
010010000110010101101100011011000110111100100000010101110110111101110010011011
000110010000100001
Now that we understand how textual data is stored, we can use this information to identify how
some text-based steganography works. Many forms of text-based steganography take advantage
of ASCII’s redundancy for “space” values in its char codes. For example, using ASCII’s codes,
values 7, 9, 12, and 32 all represent spaces. To use this in the simplest way possible, you could
write messages in binary where a space with ASCII code 7 represents a zero and a space with
ASCII code 9 represents a one. Below is an example of how one could create a stego-carrier
which would contain the letter ‘A’ as a hidden message (binary translation of ‘A’ = 010000001):
What user sees: I am happy to be alive days like today!
What the computer stores in char codes (ints representing a space are highlighted):
073 007 097 109 009 104 097 112 112 121 007 116 111 007 098 101 007 097 108 105 118 101
007 100 097 121 115 007 108 105 107 101 009 116 111 100 097 121 033
Using a system like this would allow one to write out a long essay which seemed harmless in
order to disguise streams of underlying information. This particular system is extremely effective
at hiding the transference of information since it neither yields a visible change in the display nor
noticeably modifies the file size (amount of memory space the file uses).
Commented [WM10]: Clarify further which elements the computer sees versus which ones the user sees.
Significance of ECC and Steganography
Though I still do not fully comprehend it, I cannot emphasize enough the power of ECC
when it comes to information hiding. Influential companies and organizations around the world
have already adopted ECC. The United States government uses it for internal communication
protection, Bitcoin provides proof of ownership through it, and Apple’s iMessage service
signatures are derived from it [Sullivan, 2013]. I have always believed that facts speak for
themselves and thus reiterate that after 29 YEARS of research, no effective method of
cryptanalysis has been found to decipher this particular cryptosystem! As of 2013, it was
estimated that the (at that time) currently used RSA and Diffie-Hellman algorithms would be
decrypted within five to ten years and that the ONLY suitable encryption scheme to use in the
future would be ECC [Sullivan, 2013]. For all the excitement I reserve about this technique, it
seems silly that I still do not fully understand it. Perhaps I deem the system more complex than it
truly is due to this. I understand how the construction and decryption supposedly work, but what
I fail to comprehend is how the plain-text is transferred within the cipher-text. In other words, I
understand how the graph is created, and how the public key is created using the graph and
private key. What eludes me is one, how the encryption process works after the public key is
determined to get the locations of the point which generates the cipher-text, two, how the point
which the cipher-text is based upon is translated into the bit stream which is actually sent, and
three, how the plaintext is incorporated in the entire cryptosystem. What’s frustrating is that of
these three uncertainties, I understand at least half of each concept, but not enough to wrap it all
together.
My experience as a programmer have allowed me to have a much stronger grasp of
digital steganography and water-marking. This is one of the reasons which concludes me to
Commented [WM11]: Include “conclusion” in section header.
Commented [WM12]: Remove the vinegar from this sentence.
Commented [WM13]: Insert an actual graph under the paragraph.
Commented [WM14]: HAS
reject steganography as a viable source of secure communication. Anyone who understands a
beginner to intermediate level about memory and the file type which is being used as a cover-
work can breach the security of steganography extremely quickly, all they have to do is check to
see if hidden information is present. If someone like me, who has only taken three classes
studying computer programming can fully and easily comprehend how the system works, its
effectiveness is obviously not going to hold if someone experienced in steganography or
steganalysis is looking for it.
This brings me back to one of my initial points in the introduction, they key to designing
a cryptosystem with a high degree of difficulty to decipher is not to think about how to make the
system more complex, but to consider the approach the attacker will take when decrypting and
constructing a system designed to make whatever steps the attacker wants to take impossible or
useless. After conducting research and attempting to understand how ECC works myself, I can
testify that it is truly a trapdoor encryption system which eliminates every conceivable short-cut
or trick the attacker would want to use, and it is for this reason that it has gained my respect as
the most secure means of private communication which currently exists.
Annotated Bibliography
STINSON, D.R. 2006. Cryptography Theory and Practice. Chapman & Hall/CRC Taylor &
Francis Group. Boca Raton, FL.
When explaining cryptology, Stinson regularly mentions three important figures. Alice
and Bob; the two) people transmitting encrypted messages, and Oscar; the “opponent”
eavesdropping on those messages. Stinson opens his book by explaining the primary purpose of
cryptography and how a cryptosystem operates. He then continues his introduction to cryptology
by introducing some of the basic kinds cryptosystems (Shift Cipher, Substitution Cipher, Affine
Cipher, Vigenère Cipher, and Hill Cipher) and explains how to compose and “break” each of
those unique systems. After teaching some of the basic methods for creating cryptosystems,
Stinson explains the basic ways to break them (attack models). Before revealing these methods,
Stinson defines Kerckhoff’s Principle which states that, more often than not, Oscar knows the
cryptosystem being used [Stinson 2006]. After explaining these techniques, Stinson introduces
the first method which can be used to create cryptosystems which can be considered beyond a
basic level. This product cryptosystem, developed by Claude Shannon in 1949, is created by
combining two or more cryptosystems to form their “product,” a practice which has become a
fundamental factor of modern cryptosystems [Stinson 2006].
JOHNSON, N.F., DURIC, Z., JAJODIA, S. 2003. Information Hiding: Steganography and
Watermarking - Attacks and Countermeasures. Kluwer Academic Publishers. Norwell,
MA.
This article begins by defining steganography (literal translation “covered writing”) as
the art of hiding and transmitting data through apparently innocuous carriers in an effort to
conceal the existence of the data [Johnson, Duric, Jajodia, 2003]. It then discusses the difference
between steganography and cryptography; Cryptography is a means of providing secrecy by
scrambling a message, whereas steganography focuses simply on hiding the very existence of the
message itself [Johnson, Duric, Jajodia, 2003]. The book discusses the advantage of
steganography over cryptology; that the scrambled messages used in cryptosystems often times
draw attention whereas when using steganography, the enemy is unaware a message was ever
transmitted. The book notes the significance of this factor when discussing how the techniques
used to attack cryptosystems versus hidden messages. After defining steganography, it’s
counterpoint cryptography, and the relationship the two share, the references some of the
particularly successful developments in steganography throughout history including microdot
technology, a technique developed by Germany in World War I so successful that modified
versions are still being used today [Johnson, Duric, Jajodia, 2003]. After summarizing some of
the various recorded applications of steganography throughout history, the book lists and
describes some of the countless methods used to conceal information in digital media including
the use of inherent network protocols, allocated files in unused disk space, and audio/image files.
BLOOM, J.A., COX, I.J., FRIDRICH, J., KALKER, T., MILLER, M.L. 2008. Digital
Watermarking and Steganography. Elsevier Inc. Burlington, MA.
This book’s purpose was to provide framework for watermarking technology research
and development and discusses solely still image watermarking techniques since the authors’
have experience dominantly in this area as well as video aspects of the field. The book begins by
presenting an example of watermarking; President Jackson’s reflection which can be seen when
holding a $20 bill to the light. Watermarking’s advantage which makes it so difficult to detect is
that it can be applied to nearly anything including physical substances like fabrics, inks, and
packaging as well as electronic sources, most commonly audio, image, and video files. Next, the
book describes the primary difference between steganography and watermarking which is that
when practicing steganography, it is more common to use whatever medium the message is
hidden in as a decoy to camouflage the hidden message which is unrelated to the primary
message or piece of data which is being sent [Bloom, Cox, Fridrich, Kalker, Miller, 2008].
Similar to steganography, watermarking uses an embedder, and a detector. The embedder carries
two pieces of information; the secret message, and the “cover work” which the message is
hidden in. This cover work is then presented as input to the detector which checks whether the
work includes a payload of hidden information and outputs that information if it is present
[Bloom, Cox, Fridrich, Kalker, Miller, 2008]. Next the book discusses the history of both
watermarking and steganography followed by a section explaining the importance of each of
these fields. The second chapter begins by listing and describing in detail the applications of
watermarking and steganography. The book continues to follow this comparison/contrast trend
as it goes on to discuss the properties of the two fields and an evaluation of their systems.
Chapters three through ten focus specifically on watermarking including detailed examples of
actual watermarking models or techniques, how to encode messages in those assorted techniques,
and watermarking-related security.
GAGNANI, L., JOSHI, R., PANDEY, S. 2013. Image Steganography. International Journal of
Advanced Research in Computer Engineering & Technology (IJARCET), 2, 1, 224-227.
After giving a brief background of steganography, cryptography, and the similarities and
differences between the two, this article discusses why steganography has gained superior
popularity over cryptography. Steganography has taken off as one of the most used methods of
data hiding due to a lack of sophistication in cryptographic systems. This is primarily a result of
government interference. Putting legal limitations on the strength of cryptographic systems or
outlawing them altogether has become common practice, not only in the United States, but in
governments around the world forcing people to study alternative methods of transferring secure
information [Gagnani, Joshi, Pandey, 2013]. The article also mentions how businesses have
played a large role in generating popularity of steganography over cryptology discussing their
necessity for means of secure communication such as new product information or trade secrets
and why it is more valuable to them to send undetected messages rather than suspicious
encrypted files [Gagnani, Joshi, Pandey, 2013]. Following this analysis of steganography’s
advantages, the article discusses some of the different mediums in which steganography can be
applied including, text, imagery, and audio files. Following the list of mediums is a list of
common methods which are used to hide data in image files and explanations of how the data in
each bit of memory that stores the image file is modified to hold information.
LEE, I.-S. TSAI, W.-H. 2008. Data Hiding in Emails and Applications Using Unused ASCII
Control Codes. Journal of Information Technology and Applications, 3, 1, 13-24.
In this article, the medium by which hidden information is to be passed through is
referred to as the cover carrier and the result of the embedding is referred to as the stego-carrier
or stego-email since the article focuses specifically on email as a medium. The article begins by
discussing the two types of digital text documents, hard-copy and soft-copy. A hard copy text
document may be treated as a binary image resulting from scanning a text document, while a
soft-copy document may be regarded as an American Standard Code for Information Interchange
(ASCII) text that can be edited by text editing software such as Microsoft Word [Lee, Tsai,
2008]. Lee and Tsai continue by giving some brief examples of methods which can be used to
implement data hiding in both hard and soft-copy text documents which range from generating
binary code out of the number of space between words [Bender in Lee, Tsai, 2008], to generating
code by assigning values to context-free grammar [Wayner in Lee, Tsai, 2008], to embedding
data within the unused space of file headers (spaces which are invisible to most readers after
being automatically disregarded upon opening the files) [Cantrell and Dampier in Lee, Tsai,
2008].
KUMAR, A., POOJA, K. 2010. Steganography: A Data Hiding Technique. International
Journal of Computer Applications. 9, 7, 19-23.
After giving a brief background and explanation of steganography, Kumar and Pooja
describe some of the methods of steganography used throughout history including wax tablets
containing concealed messages scratched into the underlying wood from ancient Greece, the
German microdots, and letters with two messages, one written in visible ink, the other written
between the lines with invisible ink. Next they explain some of the practical uses of
steganography. These uses can be helpful to the public such as creating stronger online user
security for features such as e-commerce to developing better ways to hide a dirty little secret (or
a big one). The next section of the article simply compares and contrasts steganography to
cryptology. Following that, is a description of steganalysis or "the process of detecting
steganography by looking at variances between bit patterns and unusually large file sizes”
[Kumar, Pooja, 2010]. This section discusses the approaches to recognizing stego-carriers and
the tools available to make detection easier.
BOONE, J.V. 2005. A Brief History of Cryptology. J.V. Boone. Annapolis, MD.
Boone begins by iterating how important cryptology has become in everyday life, after
all, we are currently living in the “age of information” and as a given, some of that information
needs to be protected. Boone continues to recognize the significance of cryptology by quoting
President Eisenhower:
“In war, nothing is more important to a commander than the facts concerning strength,
dispositions, and intentions of his opponent and the proper interpretation of those facts. In
peacetime, the necessary facts are of a different nature. They deal with conditions,
resources, requirements, and attitudes prevailing in the world. They and their correct
interpretation are essential to the development of policy to further our long-term security
and best interests” [Eisenhower in Boone, 2005].
After preaching the importance of cryptology and giving a short explanation of what it is, Boone
begins to list some of its biggest achievements throughout history such as Arthur Scherbius’
ENIGMA and many other cryptographic systems and or tools developed during World War II.
The second chapter discusses some of the first mechanical devices relative to cryptology from
the 1200’s to the 1800. The third chapter discusses devices developed in the 1800’s and begins to
describe the significance of some modern devices such as the telegraph and phone.
SINGH, S. 2001. The Code Book: How to Make It, Break It, Hack It, Crack It. Simon Singh.
New York, NY.
Singh begins by summarizing the story surrounding Mary Queen of Scots. She had been
accused of high treason with plans to assassinate Queen Elizabeth of England, correctly so. The
issue surrounding the case was that Mary had only communicated with the group responsible for
conspiring to assassinate Queen Elizabeth through letters written in a cipher. In order to prove
her guilt and secure her conviction, Sir Francis Walsingham had to break the cipher [Singh,
2001]. Singh then begins to mention some of the earliest recorded accounts of the use of “secret
writing” throughout history dating all the way back to Herodotus, the supposed father of history.
According to Herodotus, it was a method of secret writing which saved the Greeks from being
conquered by Persia during the Peloponnesian Wars. After summarizing the beginnings of
cryptology, Singh divides the field into two major branches, transportation, and substitution.
Transportation is a method related to scrambling the order of characters in a message. By using
transportation, it is possible to generate over 50,000,000,000,000,000,000,000,000,000,000
possible combinations out of a sentence containing only 35 words [Singh 2001]. Substitution is
the process of pairing specific corresponding symbols with one another and then swapping each
of them when encrypting.
LOW, R.M., STAMP, M. 2007. Applied Cryptanalysis: Breaking Ciphers in the Real World.
John Wiley & Sons, Inc. Hoboken, NJ.
This book breaks ciphers into four main categories; Classic ciphers, WWII ciphers,
stream ciphers, and block ciphers. The book begins by explaining basic terminology associated
with cryptology. Following this introduction is a list of some of the “classic” types of ciphers
that have been used throughout history including transposition ciphers, double transposition
ciphers, substitution ciphers, and affine ciphers. After describing these basic ciphers, Low and
Stamp explain the index of coincidence or probability that two randomly selected cipher text
symbols represent the same symbol in plaintext [Low, Stamp, 2007]. Following this theory, the
book describes why the only cryptosystem which is truly invulnerable to ciphertext-only attacks
is the one time pad, a cipher based in binary language which uses a key to trans-morph the plain
text when encrypting it. The book also explains how a codebook cipher works, essentially the
plaintext and ciphertext words are all paired in a book and as long as the book itself is secure, the
messages transmitted are nearly impossible to decipher, due to the overwhelming amount of data
this system allows storage for.
SULLIVAN, N. 2013. A (Relatively Easy to Understand) Primer on Elliptic Curve
Cryptography. ars technica. http://arstechnica.com/security/2013/10/a-relatively-easy-to-
understand-primer-on-elliptic-curve-cryptography/
In his article, Sullivan breaks down public-key encryption – the format which modern
cryptography is based upon, and explains how elliptic curve cryptography (ECC) works. The
article explains the RSA system, the most popular form of public-key encryption, and why it was
necessary to develop ECC. Because RSA is built upon factoring, it is ultimately not sustainable
as a long-term source of encryption, hence, ECC was conceived. Like RSA, ECC uses modular
division to keep numbers appearing random, but instead of using multiplication to generate
numbers, it uses elliptic curves. All elliptic curves follow the expression 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏After
explaining ECC, Sullivan notes ECC’s accelerating gain in popularity and lists some of the
applications in which it is currently being used including the United States government internal
communication protection, proof of bitcoin ownership, and Apple’s iMessage service signatures
[Sullivan, 2013]. Sullivan proceeds to list some of the flaws in ECCs discussing the flaw in the
electronic random number generator. When a computer generates a “random” number, the
number is actually selected from a sequence and therefore not truly random at all. Given this
information, if an attacker had a list of the random numbers that a selected piece of software
using an ECC contained, they could predict the “random” number and relatively easily decrypt
the information being transferred. Fears of these threats were legitimized in 2013 when
companies using ECDSA (a variant of ECC) for online security were hacked including bitcoin
suffering losses around 1.2 million dollars and Sony’s Playstation network suffering losses of
approximately 171 million dollars [Sullivan, 2013]. Despite these drawbacks, many experts
predict that the currently implemented RSA and Diffie-Hellman encryption schemes could be
broken within five years (as of 2013) leaving ECC based encryption methods as the only
possible alternative for the future.