Chapter 2: Crypto Basics
MXDXBVTZWVMXNSPBQXLIMSCCSGXSCJXBOVQXCJZMOJZCVC
TVWJCZAAXZBCSSCJXBQCJZCOJZCNSPOXBXSBTVWJC
JZDXGXXMOZQMSCSCJXBOVQXCJZMOJZCNSPJZHGXXMOSPLH
JZDXZAAXZBXHCSCJXTCSGXSCJXBOVQX
⎯ ciphertext
The solution is by no means so difficult as you might
be led to imagine from the first hasty inspection of the characters.
These characters, as any one might readily guess,
form a cipher ⎯ that is to say, they convey a meaning…
⎯ Edgar Allan Poe, The Gold Bug
Part 1 ⎯ Cryptography
1
Crypto
Cryptology ⎯ The art and science of making and
breaking “secret codes”
Cryptography ⎯ making “secret codes”
Cryptanalysis ⎯ breaking “secret codes”
Crypto ⎯ all of the above (and more)
Part 1 ⎯ Cryptography
2
How to Speak Crypto
A cipher or cryptosystem is used to encrypt the
plaintext
The result of encryption is ciphertext
We decrypt ciphertext to recover plaintext
A key is used to configure a cryptosystem
A symmetric key cryptosystem uses the same
key to encrypt as to decrypt
A public key cryptosystem uses a public key to
encrypt and a private key to decrypt
Part 1 ⎯ Cryptography
3
Crypto
Basic assumptions
The system is completely known to the attacker
Only the key is secret
That is, crypto algorithms are not secret
This is known as Kerckhoffs’ Principle
Why do we make such an assumption?
Experience has shown that secret algorithms tend to
be weak when exposed
Secret algorithms never remain secret
Better to find weaknesses beforehand
Part 1 ⎯ Cryptography
4
Crypto as Black Box
key key
plaintext encrypt decrypt plaintext
ciphertext
A generic view of symmetric key crypto
Part 1 ⎯ Cryptography
5
Caesar’s Cipher
Substitution cipher in which each letter in the plaintext is
replaced by a letter some fixed number of positions down
the alphabet.
For example, with a left shift of 3, D would be replaced
by A, E would become B, and so on.
The method is named after Julius Caesar, who used it in his
private correspondence to protect messages of military
significance
meet me after the toga party
PHHW PH DIWHU WKH WRJD SDUWB
Part 1 ⎯ Cryptography
6
Caesar’s Cipher
Part 1 ⎯ Cryptography
7
Simple Substitution
Plaintext: fourscoreandsevenyearsago
Key:
Plaintext a b c d e f g h i j k l m n o p q r s t u v w x y z
Ciphertext D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
❑ Ciphertext:
IRXUVFRUHDQGVHYHQBHDUVDJR
❑ Shift by 3 is “Caesar’s cipher”
Part 1 ⎯ Cryptography
8
Caesar’s Cipher Decryption
❑ Suppose we know a Caesar’s cipher is
being used:
Plaintext a b c d e f g h i j k l m n o p q r s t u v w x y z
Ciphertext D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
❑ Given ciphertext:
VSRQJHEREVTXDUHSDQWV
Plaintext: spongebobsquarepants
Part 1 ⎯ Cryptography
9
Caesar’s Cipher
Shift by n for some n {0,1,2,…,25}
Then key is n
Example: key n = 7
Plaintext a b c d e f g h i j k l m n o p q r s t u v w x y z
Ciphertext H I J K L MN O P Q R S T U VWX Y Z A B C D E F G
Part 1 ⎯ Cryptography
10
Cryptanalysis I: Try Them All
We know Caesar’s cipher and shift by n used
But the specific key is unknown
Given ciphertext: CSYEVIXIVQMREXIH
How to determine the key?
Only 26 possible keys ⎯ try them all!
Exhaustive key search
Solution: key is n = 4
Part 1 ⎯ Cryptography
11
Cryptanalysis I: Try Them All
Part 1 ⎯ Cryptography
12
Simple Substitution: General Case
In general, simple substitution key can be any
permutation of letters
Not necessarily a Caeser’s cipher (shift)
For example
Plaintext ab c d e f g h i j k l mn o p q r s t u v wx y z
Ciphertext J I C A X S E Y V D KWB QT Z R H F M P N U L G O
❑ In general, 26! > 288 possible keys
Part 1 ⎯ Cryptography
13
Cryptanalysis II: Be Clever
How large of a keyspace is large enough?
Suppose Trudy has a fast computer (or group of computers) that's able to
test 240 keys each second
Then a keyspace of size 256 can be exhausted in 216 seconds, or about 18
hours, whereas a keyspace of size 264 would take more than half a year
for an exhaustive key search, and a keyspace of size 2128 would require
more than nine quintillion (1018) years.
For modern symmetric ciphers, the key is typically 128 bits or more,
giving a keyspace of size 2128 or more.
Trudy's superfast computer that tests 240 keys per second, trying all
possible keys (288) for the simple substitution would take more than 8900
millennia.
Part 1 ⎯ Cryptography
14
Cryptanalysis II: Be Clever
We know that a simple substitution used
But not necessarily a Ceasar’s cipher (shift)
Find the key given the ciphertext:
PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBTFXQWAXB
VCXQWAXFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWL
BTPQWAEBFPBFHCVLXBQUFEVWLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTH
FEFBQUFTDHZBQPOTHXTYFTODXQHFTDPTOGHFQPBQWAQJJTODXQHFOQP
WTBDHHIXQVAPBFZQHCFWPFHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOG
HFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVA
FXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVWPTO
FFA
Part 1 ⎯ Cryptography
15
Cryptanalysis II
Cannot try all 288 simple substitution keys
Can we be more clever?
English letter frequency counts…
Part 1 ⎯ Cryptography
16
Cryptanalysis II
Ciphertext:
PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBTFXQWAXBVCXQWA
XFQJVWLEQNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWLBTPQWAEBFPBFH
CVLXBQUFEVWLXGDPEQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXT
YFTODXQHFTDPTOGHFQPBQWAQJJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPFHPBF
IPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQAPBFEQJHDXXQVAVXEBQPEFZBVFOJIW
FFACFCCFHQWAUVWFLQHGFXVAFXQHFUFHILTTAVWAFFAWTEVOITDHFHFQAITIXPFHX
AFQHEFZQWGFLVWPTOFFA
❑ Analyze this message using statistics below
Ciphertext frequency counts:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
21 26 6 10 12 51 10 25 10 9 3 10 0 1 15 28 42 0 0 27 4 24 22 28 6 8
Part 1 ⎯ Cryptography
17
EXAMPLE CRYPTANALYSIS
➢ Given ciphertext:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
➢ Count relative letter frequencies
EXAMPLE CRYPTANALYSIS
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
➢ Guess P & Z are e and t
DIGRAMS
Frequency of two-letter combinations
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
Correspond Z with t and W with h
ZWP becomes the
ZWSZ becomes th_t
Guess S equates with a
ZWSZ becomes that
Partial Guess
Final Guess
How large of a keyspace is
large enough?
Afast computer (or group of computers) that's able to
test 240 keys each second
Then a keyspace of size 256 can be exhausted in 216
seconds, or about 18 hours, whereas a keyspace of size
264 would take more than half a year for an exhaustive
key search
A keyspace of size 2128 would require more than nine
quintillion years. For modern symmetric ciphers, the
key is typically 128 bits or more, giving a keyspace of
size 2128 or more
Part 1 ⎯ Cryptography
22
Cryptanalysis: Terminology
Cryptosystem is secure if best know attack is to try all keys
Exhaustive key search, that is
Cryptosystem is insecure if any shortcut attack is known
But then insecure cipher might be harder to break than a secure
cipher!
Part 1 ⎯ Cryptography
23
Definition of Secure
We would like to have a rigorous mathematical proof that
there is no feasible attack on a system, but such ciphers are
few and far between and provably secure ciphers are
impractical for most uses.
Lacking a proof that a cipher is secure, we could require that
the best known attack on the system is impractical, in the
sense of being computationally infeasible.
A cryptosystem is secure if the best-known attack requires
as much work as an exhaustive key search. In other words,
no shortcut attack is known.
Part 1 ⎯ Cryptography
24
Definition of Secure
A secure cipher with a small number of keys could be easier to
break than an insecure one with a large number of keys.
A cipher can never offer more security than an exhaustive key
search, so the key size could be considered its "advertised"
level of security.
If a shortcut attack is known, the algorithm fails to provide its
advertised level of security, as indicated by the key length.
A shortcut attack indicates that the cipher has a design flaw.
Select a cipher that is secure (in the sense of definition) and
has a large enough key space so that an exhaustive key search
is impractical.
Both factors are necessary when choosing a cipher to protect
sensitive data.
Part 1 ⎯ Cryptography
25
Vigenere Cipher
Simple substitution is monoalphabetic
Vigenere cipher is simple example of a polyalphabetic substitution
Caesars ciphers, based on a keyword
For example, keyword CAT indicates shift by 2, shift by 0, shift by 19
Then repeat as needed
Part 1 ⎯ Cryptography
26
Vigenere Example
Suppose that we want to encrypt attackatdawn
Encryption:
Ciphertext is ctmccdctwcwg
How to decrypt? How to attack?
Part 1 ⎯ Cryptography
27
Double Transposition
To encrypt with a double transposition cipher, we first write
the plaintext into an array of a given size and then permute
the rows and columns according to specified permutations.
plaintext attackatdawn into a 3 x 4 array
Part 1 ⎯ Cryptography
28
Double Transposition
Plaintext: attackxatxdawn
Permute rows
and columns
❑ Ciphertext: xtawxnattxadakc
❑ Key is matrix size and permutations:
(3,5,1,4,2) and (1,3,2)
Part 1 ⎯ Cryptography
29
Double Transposition
Plaintext: attackxatxdawn
Permute rows
and columns
❑ Ciphertext: xtawxnattxadakc
❑ Key is matrix size and permutations:
(3,5,1,4,2) and (1,3,2)
Part 1 ⎯ Cryptography
30
Vernam Cipher
ci = pi ⊕ ki
One-Time Pad
➢ An Army Signal Corp officer, Joseph Mauborgne
• Random key as long as the message is used(key is
not repeated as in polyalphabetic cipher)
• Key is to be used to encrypt and decrypt a single
message, and then is discarded and never used again
• Each new message requires a new key of the same
length
One-Time Pad
➢ if a truly random key as long as the message is used,
the cipher will be secure
➢ called a One-Time pad (OTP)
➢ is unbreakable since ciphertext bears no statistical
relationship to the plaintext
➢ since for any plaintext & any ciphertext there exists a
key mapping one to other
➢ can only use the key once though
Advantages
❑ The code is unbreakable
an exhaustive search of all possible keys, you would end up with many legible plaintexts
Advantages
❑ No patterns or regularities that a cryptanalyst can use to attack
the ciphertext
If the stream of characters that constitute the key is truly random, then the stream of
characters that constitute the ciphertext will be truly random
DISADVANTAGES
There is the practical problem of making large quantities of
random keys. Any heavily used system might require millions
of random characters on a regular basis. Supplying truly
random characters in this volume is a significant task.
Even more daunting is the problem of key distribution and
protection. For every message to be sent, a key of equal
length is needed by both sender and receiver. Thus, a
mammoth key distribution problem exists.
One-Time Pad: Encryption
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
Encryption: Plaintext Key = Ciphertext
h e i l h i t l e r
Plaintext: 001 000 010 100 001 010 111 100 000 101
Key: 111 101 110 101 111 100 000 101 110 000
Ciphertext:
110 101 100 001 110 110 111 001 110 101
s r l h s s t h s r
Part 1 ⎯ Cryptography
37
One-Time Pad: Decryption
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
Decryption: Ciphertext Key = Plaintext
s r l h s s t h s r
Ciphertext: 110 101 100 001 110 110 111 001 110 101
Key: 111 101 110 101 111 100 000 101 110 000
Plaintext:
001 000 010 100 001 010 111 100 000 101
h e i l h i t l e r
Part 1 ⎯ Cryptography
38
One-Time Pad
Suppose that Alice has an
enemy, Charlie, within her spy organization.
Charlie claims that the actual
key used to encrypt Alice's message is
s r l h s s t h s r
Ciphertext: 110 101 100 001 110 110 111 001 110 101
“key”: 101 111 000 101 111 100 000 101 110 000
“Plaintext”:
011 010 100 100 001 010 111 100 000 101
k i l l h i t l e r
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
Part 1 ⎯ Cryptography
39
One-Time Pad
Bob decrypts the ciphertext using the key given
to him by Charlie and obtains
s r l h s s t h s r
Ciphertext: 110 101 100 001 110 110 111 001 110 101
“key”: 101 111 000 101 111 100 000 101 110 000
“Plaintext”:
011 010 100 100 001 010 111 100 000 101
k i l l h i t l e r
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
Bob, who doesn't really understand crypto, orders that Alice be brought
in for questioning.
One-Time Pad
Alice is captured by
her enemies
Alice claims that she is actually a double agent and to
prove it she provides the "key”
s r l h s s t h s r
Ciphertext: 110 101 100 001 110 110 111 001 110 101
“key”: 111 101 000 011 101 110 001 011 101 101
“Plaintext”:
001 000 100 010 011 000 110 010 011 000
h e l i k e s i k e
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
Part 1 ⎯ Cryptography
41
One-Time Pad
s r l h s s t h s r
Ciphertext: 110 101 100 001 110 110 111 001 110 101
“key”: 111 101 000 011 101 110 001 011 101 101
“Plaintext”:
001 000 100 010 011 000 110 010 011 000
h e l i k e s i k e
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
Part 1 ⎯ Cryptography
42
One-Time Pad Summary
Provably secure
Ciphertext gives no useful info about plaintext
All plaintexts are equally likely
BUT, only when be used correctly
Pad must be random, used only once
Pad is known only to sender and receiver
Note: pad (key) is same size as message
So, why not distribute message itself,
instead of the pad?
Part 1 ⎯ Cryptography
43
One-time Usage
Suppose we have two plaintext messages P1 and P2 and
we encrypted these as as C1 = P1⊕K and C2 = P2⊕K,
Two messages encrypted with the same "one-time" pad
K. In the cryptanalysis business, this is known as a
depth.
With one-time pad ciphertexts in depth, we see that
C1⊕C2 = P1⊕K⊕P2⊕K = P1⊕P2
Part 1 ⎯ Cryptography
44
Example:
P1 = like = 100 010 011 000 and
P2 = kite = 011 010 111 000 and both are encrypted
with the same key
K = 110 011 101 111. Then
Part 1 ⎯ Cryptography
45
Suppose that Trudy (who only has C1 and C2) suspects
that P1 = kill = 011 010 100 100. Then she can find the
corresponding putative key:
and she can then use this K to "decrypt" C2 and obtain
Part 1 ⎯ Cryptography
46
Real-World One-Time Pad
Project VENONA
Soviet spies encrypted messages from U.S. to
Moscow in 30’s, 40’s, and 50’s
Nuclear espionage, etc.
Thousands of messages
Spy carried one-time pad into U.S.
Spy used pad to encrypt secret messages
Repeats within the “one-time” pads made
cryptanalysis possible
Part 1 ⎯ Cryptography
47
VENONA Decrypt (1944)
[C% Ruth] learned that her husband [v] was called up by the army but
he was not sent to the front. He is a mechanical engineer and is now
working at the ENORMOUS [ENORMOZ] [vi] plant in SANTA FE, New
Mexico. [45 groups unrecoverable]
detain VOLOK [vii] who is working in a plant on ENORMOUS. He is a
FELLOWCOUNTRYMAN [ZEMLYaK] [viii]. Yesterday he learned that
they had dismissed him from his work. His active work in progressive
organizations in the past was cause of his dismissal. In the
FELLOWCOUNTRYMAN line LIBERAL is in touch with CHESTER [ix].
They meet once a month for the payment of dues. CHESTER is
interested in whether we are satisfied with the collaboration and
whether there are not any misunderstandings. He does not inquire
about specific items of work [KONKRETNAYa RABOTA]. In as much
as CHESTER knows about the role of LIBERAL's group we beg
consent to ask C. through LIBERAL about leads from among people
who are working on ENOURMOUS and in other technical fields.
❑ “Ruth” == Ruth Greenglass
❑ “Liberal” == Julius Rosenberg
❑ “Enormous” == the atomic bomb
Part 1 ⎯ Cryptography
48
Codebook Cipher
Literally, a book filled with “codewords”
Zimmerman Telegram encrypted via codebook
Februar 13605
fest 13732
finanzielle 13850
folgender 13918
Frieden 17142
Friedenschluss 17149
: :
Modern block ciphers are codebooks!
More about this later…
Part 1 ⎯ Cryptography
49
Codebook Cipher: Additive
Codebooks also (usually) use additive
Additive ⎯ book of “random” numbers
Encrypt message with codebook
Then choose position in additive book
Add additive sequence to get ciphertext
Send ciphertext and additive position (MI)
Recipient subtracts additives before decrypting
Why use an additive sequence?
Part 1 ⎯ Cryptography
50
Zimmermann
Telegram
Perhaps most
famous codebook
ciphertext ever
A major factor in
U.S. entry into
World War I
Part 1 ⎯ Cryptography
51
Zimmermann
Telegram
Decrypted
❑ British had
recovered
partial
codebook
❑ Then able to fill
in missing parts
Part 1 ⎯ Cryptography
52
Random Historical Items
Crypto timeline
Spartan Scytale ⎯ transposition cipher
Caesar’s cipher
Poe’s short story: The Gold Bug
Election of 1876
Part 1 ⎯ Cryptography
53
Election of 1876
“Rutherfraud” Hayes vs “Swindling” Tilden
Popular vote was virtual tie
Electoral college delegations for 4 states
(including Florida) in dispute
Commission gave all 4 states to Hayes
Voted on straight party lines
Tilden accused Hayes of bribery
Was it true?
Part 1 ⎯ Cryptography
54
Election of 1876
Encrypted messages by Tilden supporters
later emerged
Cipher: Partial codebook, plus transposition
Codebook substitution for important words
ciphertext plaintext
Copenhagen Greenbacks
Greece Hayes
Rochester votes
Russia Tilden
Warsaw telegram
: :
Part 1 ⎯ Cryptography
55
Election of 1876
Apply codebook to original message
Pad message to multiple of 5 words (total
length, 10,15,20,25 or 30 words)
For each length, a fixed permutation applied
to resulting message
Permutations found by comparing several
messages of same length
Note that the same key is applied to all
messages of a given length
Part 1 ⎯ Cryptography
56
Election of 1876
Ciphertext: Warsaw they read all
unchanged last are idiots can’t situation
Codebook: Warsaw == telegram
Transposition: 9,3,6,1,10,5,2,7,4,8
Plaintext: Can’t read last telegram.
Situation unchanged. They are all idiots.
A weak cipher made worse by reuse of key
Lesson? Don’t overuse keys!
Part 1 ⎯ Cryptography
57
Early 20th Century
WWI ⎯ Zimmermann Telegram
“Gentlemen do not read each other’s mail”
Henry L. Stimson, Secretary of State, 1929
WWII ⎯ golden age of cryptanalysis
Midway/Coral Sea
Japanese Purple (codename MAGIC)
German Enigma (codename ULTRA)
Part 1 ⎯ Cryptography
58
Enigma Cipher Machine
Most famous cipher of WWII
Electro-mechanical device
Very rugged, used in the field
Part 1 ⎯ Cryptography
59
Post-WWII History
Claude Shannon ⎯ father of the science of
information theory
Computer revolution ⎯ lots of data to protect
Data Encryption Standard (DES), 70’s
Public Key cryptography, 70’s
CRYPTO conferences, 80’s
Advanced Encryption Standard (AES), 90’s
The crypto genie is out of the bottle…
Part 1 ⎯ Cryptography
60
Claude Shannon
Founded field of information theory
His 1949 paper: Comm. Thy. of Secrecy Systems
Fundamental concepts
Confusion ⎯ obscure relationship between
plaintext and ciphertext
Diffusion ⎯ spread plaintext statistics through the
ciphertext
Proved one-time pad is secure
One-time pad is confusion-only, while double
transposition is diffusion-only
Part 1 ⎯ Cryptography
61
Taxonomy of Cryptography
Symmetric Key
Same key for encryption and decryption
Modern types: Stream ciphers, Block ciphers
Public Key (or “asymmetric” crypto)
Two keys, one for encryption (public), and one for
decryption (private)
And digital signatures ⎯ nothing comparable in
symmetric key crypto
Hash algorithms
Can be viewed as “one way” crypto
Part 1 ⎯ Cryptography
62
Taxonomy of Cryptanalysis
From perspective of info available to Trudy…
Ciphertext only ⎯ Trudy’s worst-case scenario
Known plaintext
Chosen plaintext
“Lunchtime attack”
Some protocols will encrypt chosen data
Adaptively chosen plaintext
Related key
Forward search (public key crypto)
And others…
Part 1 ⎯ Cryptography
63
Ciphertext Only attack
Attacker is assumed to have access only to a set
of ciphertexts.
Attacker still has some knowledge of the plaintext. For
instance, the attacker might know the language in
which the plaintext is written or the expected
statistical distribution of characters in the plaintext.
Brute force attack
Known Plaintext attack
Encryption algorithm
One or more plaintext–ciphertext pairs formed with the
secret key
Analyst may know that certain plaintext patterns will
appear in a message
- Postscript , BMP files , Standardized headers
Analyst may be able to deduce the key on the basis of
the way in which the known plaintext is transformed
Chosen Plaintext attack
Encryption algorithm
Plaintext message chosen by cryptanalyst, together with
its corresponding ciphertext generated with the secret
key
Chosen Ciphertext attack
Encryption algorithm
Ciphertext chosen by cryptanalyst, together with its
corresponding decrypted plaintext generated with the
secret key
The attacker has capability to make the victim (who
obviously knows the secret key) decrypt any ciphertext
and send him back the result.
Adaptive Chosen Ciphertext
attack
An adaptive chosen plaintext attack is a powerful type
of cryptanalytic attack where an attacker can
repeatedly choose plaintexts to be encrypted
Observe the corresponding ciphertexts, and then use
that information to adaptively select new plaintexts to
learn more about the encryption algorithm's weaknesses
or to derive the secret key.
Unlike non-adaptive attacks where all plaintexts are
chosen upfront, the attacker in an adaptive attack can
make choices about future plaintexts based on the
results of previous queries, creating an interactive
process to gain information.
Part 1 ⎯ Cryptography
68