Share
Embed
Cryptography: 500 BC to Quantum Computing
Have you always wanted to learn more about cryptography? This high-level survey of crypto takes the audience all the way from Scytales and Caesar ciphers in ancient Greece, to Vigenere Square, to Enigma in World War II, to TLS, and even Post-Quantum Cryptography!
luke crouch
October 22, 2019
Transcript
272 slides
-
About me I’m not a crypto engineer I’m a web
developer who got into Security Engineering I’ve always been scared and fascinated by crypto -
About this talk 2700 years in 40 minutes Don’t take
notes Slides are already up at: speakerdeck.com/groovecoder -
Permutation Cipher For example, consider this short sentence 35 letters
50,000,000,000,000,000,000,000,000,000,000 (50 trillion trillion) permutations -
Permutation Cipher EXPERIMENTATIONS FRESH CHORD LOSS 50,000,000,000,000,000,000,000,000,000,000 (50 trillion trillion)
permutations 1 check/second = 1,500,000,000,000,000,000,000,000 years (1 trillion billion years) -
Drawbacks of random permutation cipher Impossible for intended recipient too
False positives: which anagram is right? Do Not Attack at Midnight Attack at Mind: do T onight -
Rail fence cipher; k=4 http://crypto.interactive-maths.com/rail-fence-cipher.html they are attacking from the
north TEKOOHRACIRMNREATANFTETYTGHH -
Rail fence cipher; k=4 http://crypto.interactive-maths.com/rail-fence-cipher.html they are attacking from the
north TEKOOHRACIRMNREATANFTETYTGHH they are attacking from the north -
Scytale, ~700 BCE - 120 AD Algorithm Wrap message around
a cylinder Key Diameter of cylinder -
Breaking rail fence cipher http://crypto.interactive-maths.com/rail-fence-cipher.html “Naive Brute Force” key
search: T ry a bunch of numbers of rows by hand -
Breaking rail fence cipher DELEHELFTAAEDSWNT 2 rows: daealeedhsewlnftt 3 rows:
deslefwtlanaeetdh 4 rows: detwaheeanellfdts 5 rows: defend the east wall -
So, the first cryptanalysis is simply “naive brute force”
key searching -
Breaking a Scytale “Naive Brute Force” key search: T ry
a bunch of cylinders -
Caesar Cipher, 49 - 44 BC Algorithm Replace each letter
with another letter Key K positions down the alphabet -
Breaking a Caesar Cipher “Naive Brute Force” key search:
26 possible shifts -
Can we give ourselves a really large key space?
So it would take an attacker a long time to search them all? -
Non-shifted Random Substitution Algorithm Replace each letter with another letter
Key Any Cipher Alphabet (An anagram of the alphabet! such meta!) -
Non-shifted Substitutional Cipher 26 letters to re-arrange Key space: 403,291,461,000,000,000,000,000,000
(403 trillion trillion or ~288) possible re-arrangements (English) 120,000,000,000,000,000,000 (120 billion billion) years at 1 check/s -
… most crypto systems try to force attackers into
key searches that take too long to complete -
Non-shifted Substitutional Cipher 26 letters to re-arrange Key space: 403,291,461,000,000,000,000,000,000
(403 trillion trillion or ~288) possible re-arrangements (English) 120,000,000,000,000,000,000 (120 billion billion) years at 1 check/s -
Easy to memorize key Plain alphabet: abcdefghijklmnopqrstuvwxyz Cipher alphabet: JULISCAERTVWXYZBDFGHKMNOPQ
JULIUS CAESAR JULISCAER Note: smaller key space -
Ancient Steganography, Scytale ~700 BC Brute Force Key Search Caesar
Cipher ~50 BC Non-shifted Substitution Cipher -
So, we’ve got a simple crypto- system that would take
decades for hundreds of thousands of computers to break! -
ةامعملا بتكلا جارختسا يف ةلاسر (On Decrypting Encrypted Correspondence) يدنكلا
حاّبصلا قاحسإ نب بوقعي فسوي وبأ (Abu Yūsuf Yaʻqūb ibn ʼIsḥāq aṣ-Ṣabbāḥ al-Kindī) Al-Kindi 801-873 AD -
“PCQ VMJYPD LBYK LYSO KBXBJXWXV BXV ZCJPO EYPD KBXBJYUXJ LBJOO
KCPK. CP LBO LBCMKXPV XPV IYJKL PYDBL, QBOP KBO BXV OPVOV LBO LXRO CI SX’XJMI, KBO JCKO XPV EYKKOV LBO DJCMPV ZOICJO BYS, KXUYPD: “DJOXL EYPD, ICJ X LBCMKXPV XPV CPO PYDBLK Y BXNO ZOOP JOACMPLYPD LC UCM LBO IXZROK CI FXKL XDOK XPV LBO RODOPVK CI XPAYOPL EYPDK. SXU Y SXEO KC ZCRV XK LC AJXNO X IXNCMJ CI UCMJ SXGOKLU?” –OFYRCDMO, LXROK IJCS LBO LBCMKXPV XPV CPO PYDBLK -
English frequency rules Vowels appear before and after most other
letters Consonants avoid many letters E.g., ‘e’ appears before/after virtually every other letter; while ’t’ is rarely seen before or after ‘b’, ‘d’, ‘g’, ‘j’, ‘k’, ‘m’, ‘q’, ‘v’ “ee” occurs more than “oo” occurs more than other double-vowels “a” occurs on its own often - more than “I” on its own ‘h’ frequently goes before ‘e’ but rarely after ‘e’ -
Cipher O = e X = a Y = i
B = h P = t ? -
“PCQ VMJiPD LhiK LiSe KhahJaWaV haV ZCJPe EiPD KhahJiUaJ LhJee
KCPK. CP Lhe LhCMKaPV aPV IiJKL PiDhL, QheP Khe haV ePVeV Lhe LaRe CI Sa’aJMI, Khe JCKe aPV EiKKeV Lhe DJCMPV ZeICJe hiS, KaUiPD: “DJeaL EiPD, ICJ a LhCMKaPV aPV CPe PiDhLK i haNe ZeeP JeACMPLiPD LC UCM Lhe IaZReK CI FaKL aDeK aPV Lhe ReDePVK CI aPAiePL EiPDK. SaU i SaEe KC ZCRV aK LC AJaNe a IaNCMJ CI UCMJ SaGeKLU?” –eFiRCDMe, LaReK IJCS Lhe LhCMKaPV aPV CPe PiDhLK -
“PCQ VMJiPD LhiK LiSe KhahJaWaV haV ZCJPe EiPD KhahJiUaJ LhJee
KCPK. CP Lhe LhCMKaPV aPV IiJKL PiDhL, QheP Khe haV ePVeV Lhe LaRe CI Sa’aJMI, Khe JCKe aPV EiKKeV Lhe DJCMPV ZeICJe hiS, KaUiPD: “DJeaL EiPD, ICJ a LhCMKaPV aPV CPe PiDhLK i haNe ZeeP JeACMPLiPD LC UCM Lhe IaZReK CI FaKL aDeK aPV Lhe ReDePVK CI aPAiePL EiPDK. SaU i SaEe KC ZCRV aK LC AJaNe a IaNCMJ CI UCMJ SaGeKLU?” –eFiRCDMe, LaReK IJCS Lhe LhCMKaPV aPV CPe PiDhLK “Lhe” 6 times -
“PCQ VMJiPD thiK tiSe KhahJaWaV haV ZCJPe EiPD KhahJiUaJ thJee
KCPK. CP the thCMKaPV aPV IiJKt PiDht, QheP Khe haV ePVeV the taRe CI Sa’aJMI, Khe JCKe aPV EiKKeV the DJCMPV ZeICJe hiS, KaUiPD: “DJeat EiPD, ICJ a thCMKaPV aPV CPe PiDhtK i haNe ZeeP JeACMPtiPD tC UCM the IaZReK CI FaKt aDeK aPV the ReDePVK CI aPAiePt EiPDK. SaU i SaEe KC ZCRV aK tC AJaNe a IaNCMJ CI UCMJ SaGeKtU?” –eFiRCDMe, taReK IJCS the thCMKaPV aPV CPe PiDhtK “aPV” 5 times -
“now during this time shahra[qxzj]ad had borne king shahriyar three
sons. on the thousand and first night, when she had ended the tale of ma’aruf, she rose and kissed the ground before him, saying: “great king, for a thousand and one nights i have been recounting to you the fables of past ages and the legends of ancient kings. may i make so bold as to crave a favour of your ma[qxzj]esty?” –epilogue, tales from the thousand and one nights Plain alphabet: abcdefghijklmnopqrstuvwxyz Cipher alphabet: XZAVOIDBY?ERSPCF?JKLMNQ?U? -
Ancient Steganography, Scytale ~700 BC Brute Force Key Search Caesar
Cipher ~50 BC Non-shifted Substitution Cipher Frequency Analysis ~800 AD -
D M B X K I V A S Z
N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E 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 Poly-alphabetic Substitution Cipher -
D M B X K I V A S Z
N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E 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 “secret” “R?????” Poly-alphabetic Substitution Cipher -
D M B X K I V A S Z
N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E 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 “secret” “RA????” Poly-alphabetic Substitution Cipher -
D M B X K I V A S Z
N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E 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 “secret” “RAB???” Poly-alphabetic Substitution Cipher -
D M B X K I V A S Z
N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E “RABH??” 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 “secret” Poly-alphabetic Substitution Cipher -
D M B X K I V A S Z
N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E “RABHK?” 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 “secret” Poly-alphabetic Substitution Cipher -
D M B X K I V A S Z
N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E 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 “secret” “RABHKK” Poly-alphabetic Substitution Cipher -
False frequencies ‘e’ is enciphered as both ‘A’ and ‘K’
‘K’ is deciphered as both ‘e’ and ‘t’ “secret” “RABHKK” -
Ancient Steganography, Scytale Brute Force Key Search Caesar Shift Non-shifted
Substitution Frequency Analysis ~800 AD Homophonic Substitution Renaissance Poly-alphabetic Substitution ~1450 AD -
Poly-alphabetic ciphers are complex D M B X K I
V A S Z N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E 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 D M B X K I V A S Z N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E D M B X K I V A S Z N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E -
Keyword SECRET D M B X K I V A
S Z N P L Y F C J O R T E Q H WG U Z J D P A I Q H T WL F B G O X N H U K R C Y V S E 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 -
Le Chiffre Indéchiffrable created by Blaise de Vigenère 1523 -
1596 Created new poly-alphabetic cipher -
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 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 A C 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 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 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 D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z 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 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 -
Repeat keyword for all of text Plaintext: AttackFromTheSouthAtDawn Ciphertext: ????????????????????????
Keyword: SECRETSECRETSECRETSECRET -
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 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 A C 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 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 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 D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z 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 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: S??????????????????????? Plaintext: AttackFromTheSouthAtDawn Keyword: SECRETSECRETSECRETSECRET S -
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 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 A C 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 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 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 D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z 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 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: SX?????????????????????? Plaintext: AttackFromTheSouthAtDawn Keyword: SECRETSECRETSECRETSECRET X -
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 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 A C 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 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 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 D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z 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 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: SXV????????????????????? Plaintext: AttackFromTheSouthAtDawn Keyword: SECRETSECRETSECRETSECRET V -
Ancient Steganography, Scytale Brute Force Key Search Caesar Shift Non-shifted
Substitution Frequency Analysis ~800 AD Homophonic Substitution Renaissance Poly-alphabetic Substitution Le Chiffre Indéchiffrable ~1550 AD -
“Black Chambers” • 1700s • “Assembly-line” Cryptanalysis • Each European
power had one • Breaking all mono-alphabetic ciphers • Encouraged adoption of Vigenère Square for poly-alphabetic ciphers -
Ancient Steganography, Scytale Brute Force Key Search Caesar Shift Non-shifted
Substitution Frequency Analysis Homophonic Substitution Renaissance Poly-alphabetic Substitution Le Chiffre Indéchiffrable ~1550 AD Assembly-line Frequency Analysis ~1700’s Industrial -
Charles Babbage • 1791 - 1871 • 1854: Broke Vigenère
Cipher • Without machinery -
False SYMBOL frequencies • ‘e’ is enciphered as both ‘A’
and ‘K’ • ‘K’ is deciphered as both ‘e’ and ‘t’ “secret” “RABHKK” -
Breaking Vigenère • Look for repeated sequences of letters •
Measure spacing between repetitions • Identify most likely length of key: L -
REPETITIONS EFIQ, PSDLP, WCXYM, ETRL WUBEFIQLZURMVOFEHMYMWTIXCQTMPIFKRZUPMVOIRQMM WOZMPULMBNYVQQQMVMVJLEYMHFEFNZPSDLPPSDLPEVQM WCXYMDAVQEEFIQCAYTQOWCXYMWMSEMEFCFWYEYQETRLI QYCGMTWCWFBSMYFPLRXTQYEEXMRULUKSGWFPTLRQAERL UVPMVYQYCXTWFQLMTELSFJPQEHMOZCIWCIWFPZSLMAEZ
IQVLQMZVPPXAWCSMZMORVGVVQSZETRLQZPBJAZVQIYXE WWOICCGDWHQMMVOWSGNTJPFPPAYBIYBJUTWRLQKLLLMD PYVACDCFQNZPIFPPKSDVPTIDGXMQQVEBMQALKEZMGCVK UZKIZBZLIUAMMVZ -
spacing between repetitions Repetition Spacing Possible Length of Key 2
3 4 5 6 7 8 9 10 11 121314 15 1617181920 EFIQ 95 ✓ ✓ PSDLP 5 ✓ WCXYM 20 ✓ ✓ ✓ ✓ ✓ ETRL 120 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ -
5 separate cipher texts WIREWQFPROLVVEESSV XVITXSCYLGWYXELWRL VXLSECWLQPSRQRBQCH OTPYWLCNPVGVAMZUZ WIREWQFPROLVVEESSV XVITXSCYLGWYXELWRL
VXLSECWLQPSRQRBQCH OTPYWLCNPVGVAMZUZ WIREWQFPROLVVEESSV XVITXSCYLGWYXELWRL VXLSECWLQPSRQRBQCH OTPYWLCNPVGVAMZUZ WIREWQFPROLVVEESSV XVITXSCYLGWYXELWRL VXLSECWLQPSRQRBQCH OTPYWLCNPVGVAMZUZ WIREWQFPROLVVEESSV XVITXSCYLGWYXELWRL VXLSECWLQPSRQRBQCH OTPYWLCNPVGVAMZUZ Break each with frequency analysis -
Ancient Steganography, Scytale Brute Force Key Search Caesar Shift Non-shifted
Substitution Frequency Analysis ~800 AD Homophonic Substitution Renaissance Poly-alphabetic Substitution Le Chiffre Indéchiffrable ~1550 AD Assembly-line Frequency Analysis ~1700’s Industrial Babbage Frequency Analysis ~1800’s -
Electric Telegraphs • Buried underground or suspended overhead • 1844
60km wire between Baltimore & Washington DC -
Radio, 1899-1901 • 3,000 km from Cornwall to to Newfoundland
• Transatlantic communication • Instant military commands • All messages reach enemy too • Increases need for encryption -
Enigma: Electrical Encryption • Arthur Scherbius, 1918 • Mass Production
in 1925 CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=497329 -
By MesserWoland - Own work based on Image:Enigma-action.pnj by Jeanot;
original diagram by Matt Crypto, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1794494 -
3 rotors of 26 wirings 26 x 26 x 26
= 17,576 Cipher Alphabets -
105,456 possible keys • A new key was used every
day • Assume 1 orientation check per minute • (Just type ciphertext and look at plaintext) • 96 enigma machines = .75 days to crack -
Plugboard By Bob Lord - German Enigma Machine, uploaded in
english wikipedia on 16. Feb. 2005 by en:User:Matt Crypto, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=258976 Swap up to 6 of 26 letters -
10,586,916,711,696 possible keys • At 1 check per minute: •
38,291,799 enigma machines = 1 day to crack -
Message Keys • Using day key, send a message rotor
orientation first. E.g., A, S, D • Send it at the beginning, twice for integrity. E.g., ‘asdasd’ = QWERTY • Receiver types QWERTY, sees ‘asdasd’ • Re-orients their rotors to A, S, D for the rest of the message • Minimizes amount of ciphertext created by day key -
Is cracking Enigma possible? • At 1 check per minute:
• 38,291,799 enigma machines = 1 day to crack A SINGLE MESSAGE! -
Ancient Steganography, Scytale Brute Force Key Search Caesar Shift Non-shifted
Substitution Frequency Analysis ~800 AD Homophonic Substitution Renaissance Poly-alphabetic Substitution Le Chiffre Indéchiffrable Assembly-line Frequency Analysis Industrial Babbage Frequency Analysis One-Time Pad Enigma ~1925 -
Polish Biuro Szyfrów • Established after WWI to protect Poland
from Russian & Germany • Received photographs of Enigma instruction manual from French espionage • Deduced rotor wirings • Usage of codebook A. Jankowski "Warszawa" Publisher:Wydawnictwo Polskie, Poznań, Public Domain, https://commons.wikimedia.org/w/index.php?curid=1514113 -
Marian Rejewski By Unknown - Rejewski's daughter's private archive, CC
BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=216461 -
Found “chain” cycles in the first 6 letters 4th Letter:
FQHPLWOGBMVRXUYCZITNJEASDK 1st Letter: ABCDEFGHIJKLMNOPQRSTUVWXYZ 3 links: A-F-W-A -
Found “chain” loops in the first 6 letters 4th Letter:
FQHPLWOGBMVRXUYCZITNJEASDK 1st Letter: ABCDEFGHIJKLMNOPQRSTUVWXYZ 7 links: C-H-G-O-Y-D-P-C -
Marian Rejewski • Realized the # links in the chain
were only caused by the rotors • Could try to break the 105,456 possible rotor settings, not all 10,000,000,000,000,000 possible day keys • 100,000,000,000 times easier By Unknown - Rejewski's daughter's private archive, CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=216461 -
Cyclometer • Team checked each of 105,456 possible settings on
replica Enigma machines and recorded which chains were generated by each rotor setting • Took 1 year to complete • Could look up rotor settings by chains found in first 6 letters of ciphertext http://www.cryptomuseum.com/crypto/cyclometer/index.htm -
How to find the plugboard settings out of 100,391,791,500? •
Plugboard: Un-plug all • Rotor Arrangement: III, I, II • Initial Rotor Orientations: Q, C, W • Type in ciphertext, see: • “rettew” • Swap R/W = Wetter (weather) -
Polish Cryptographic Bombs • 6 machines for the 6 possible
rotor arrangements • Each with 6 full Enigma rotor sets at top for the 6 characters of the repeated message key • Given a number of “females” to find, Bomba could recover settings in less than 2 hours -
British Bombes • 36 rotors arrange in 3 banks of
12 • 210 bombes by the end of the war • Operated by 2,000 members of Women’s Royal Navy Service -
Colossus • Inspired by Turings ideas and his bombe •
1,500 electronic valves - faster than electromechanical relay switches • Programmable - first computers? -
Ancient Steganography, Scytale Brute Force Key Search Caesar Shift Non-shifted
Substitution Frequency Analysis ~800 AD Homophonic Substitution Renaissance Poly-alphabetic Substitution Le Chiffre Indéchiffrable Assembly-line Frequency Analysis Industrial Babbage Frequency Analysis Enigma ~1925 Colossus Mark 1 1943 Computer -
In the early days of computing, electrical signals were much
harder to measure and control precisely It made more sense to only distinguish between an “on” state and an “off” state -
Like the telegraph required morse to encode messages into electrical
signals … In computers, we need a way to encode messages in 1’ and 0’s -
ASCII 1963 Encoding, not encryption (like Morse code) E.g., A:
1000001 B: 1000010 -
Bitwise anagram For example, consider this short sentence. 01000110011011110111001000100000011001010111100001100001011011010111000001101100011001010010110000100000011000110 11011110110111001110011011010010110010001100101011100100010000001110100011010000110100101110011001000000111001101
101000011011110111001001110100001000000111001101100101011011100111010001100101011011100110001101100101 “Bitwise” rail fence cipher with 2 rails 00010111010101000100011001000110010001100100011001000101011101110101011001000100010101000100011001100101010001010 11001110101010001000101010001110100010001110101010010101011110000001011110010011011110010101011001000001001101110 101101100110101011110000001110100010011101000011011000101111001110000011011011101011101011101010011011 -
Bitwise substitution: XOR The XOR operator outputs a 1 whenever
the inputs do not match, which occurs when one of the two inputs is exclusively true 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0 -
Bitwise substitution: XOR For example, consider this short sentence. 01000110011011110111001000100000011001010111100001100001011011010111000001101100011001010010110000100000011000110
11011110110111001110011011010010110010001100101011100100010000001110100011010000110100101110011001000000111001101 101000011011110111001001110100001000000111001101100101011011100111010001100101011011100110001101100101 Key: “Julius Caesar” 01001010011101010110110001101001011101010111001100100000010000110110000101100101011100110110000101110010 Output 10001100110111101110010001000000110010101111000011000010110110101110000011011000110010100101100001000000110001101 10111101101110011100110110100101100100011001010111001000100000011101000110100001101001011100110010000001110011001 00010000110100001111000011101010101010000000001000101001011010001010100000000000111010000001000010111 -
Bitwise substitution: XOR For example, consider this short sentence. 010001100110111101110010001000000110010101111000011000010110110101110000011011000110010100101100001000000110001101
101111011011100111001101101001011001000110010101110010001000000111010001101000011010010111001100100000011100110110 1000011011110111001001110100001000000111001101100101011011100111010001100101011011100110001101100101 Key: “random” 1|0’s length of plaintext 000000111010001101000011010010111001100100000011100110110100001101111011100100111010000100000011100110110010101101 110011101000110010101101110011000110110010101000110011011110111001000100000011001010111100001100001011011010111000 0011011000110010100101100001000000110001101101111011011100111001101101001011001000110010101110010001 Output 100011001101111011100100010000001100101011110000110000101101101011100000110110001100101001011000010000001100011011 011110110111001110011011010010110010001100101011100100010000001110100011010000110100101110011001000000111001100100 010000110100001111000011101010101010000000001000101001011010001010100000000000111010000001000010111 -
Bitwise substitution: XOR For example, consider this short sentence. 010001100110111101110010001000000110010101111000011000010110110101110000011011000110010100101100001000000110001101
101111011011100111001101101001011001000110010101110010001000000111010001101000011010010111001100100000011100110110 1000011011110111001001110100001000000111001101100101011011100111010001100101011011100110001101100101 Key: “random” 1|0’s length of plaintext 000000111010001101000011010010111001100100000011100110110100001101111011100100111010000100000011100110110010101101 110011101000110010101101110011000110110010101000110011011110111001000100000011001010111100001100001011011010111000 0011011000110010100101100001000000110001101101111011011100111001101101001011001000110010101110010001 Output 100011001101111011100100010000001100101011110000110000101101101011100000110110001100101001011000010000001100011011 011110110111001110011011010010110010001100101011100100010000001110100011010000110100101110011001000000111001100100 010000110100001111000011101010101010000000001000101001011010001010100000000000111010000001000010111 -
Lucifer Cipher: “block” cipher Break message into 128-bit blocks 128-bit
key 16 rounds: Break block in half the f-function is calculated using that round's subkey and the left half of the block. The result is then XORed to the right half of the block, which is the only part of the block altered for that round. After every round except the last one, the right and left halves of the block are swapped. -
Generate 72-bit sub-key awesomepassword! 01100001011101110110010101110011011011110110110101100101011100000110000101110011011100110111011101101111011100100110010000100001 a a 01100001 01100001 wesomep
01110111011001010111001101101111011011010110010101110000 -
Data Encryption Standard (DES) 1977 Lucifer with 56-bit keys So
the NSA could brute force keys if they “needed” to -
Ancient Steganography, Scytale Brute Force Key Search Caesar Shift Non-shifted
Substitution Frequency Analysis Homophonic Substitution Renaissance Poly-alphabetic Substitution Le Chiffre Indéchiffrable Assembly-line Frequency Analysis Industrial Babbage Frequency Analysis One-Time Pad Enigma Cryptanalytic “Bombs”: Polish, British, US Lucifer, DES 1971-1977 Computer -
1001101010011010100110101001 1010100110101001101010011010 Unique Possible Permutations 256 72,057,594,037,927,936 72 quadrillion (million
billion) In 1976, estimated to cost $20M to build a computer to crack such a key Affordable to the NSA -
1100110101001101010011010100 1101010011010100110101001101 0 Unique Possible Permutations 256 72,057,594,037,927,936 72 quadrillion
(million billion) 257 144,115,188,075,855,870 144 quadrillion (million billion) -
Alice, Bob, and Eve Alice and Bob need to communicate
securely They need to share a secret They only have public channels between them “Eve is always eavesdropping” How can they share a secret without sharing it with Eve? -
The key can be anything that can encode to 1’s
and 0’s So, anything … like a number. -
Wrap a cord 46 “hours” long around a 12-hour clock
… … and it ends on 10 -
Easy to perform … 46 mod 12 is “congruent” to
10 generator Modulus -
? mod 12 ≡ 10 22 mod 12 ≡ 10
34 mod 12 ≡ 10 46 mod 12 ≡ 10 58 mod 12 ≡ 10 70 mod 12 ≡ 10 .. mod 12 ≡ 10 … impossible to reverse! -
For small numbers, it’s easy, but not for a large
prime modulus. https://www.khanacademy.org/computing/computer-science/cryptography/modern-crypt/v/diffie-hellman-key-exchange-part-2 -
“Commutative” Arithmetic: Order of operands doesn’t matter 3 + 5
5 + 3 = = 8 3 * 5 = = 15 5 * 3 -
“Commutative” Arithmetic: Order of operands doesn’t matter 323 332 =
= 729 3 + 5 5 + 3 = = 8 3 * 5 = = 15 5 * 3 -
Alice and Bob publicly agree on a generator and prime
modulus https://www.khanacademy.org/computing/computer-science/cryptography/modern-crypt/v/diffie-hellman-key-exchange-part-2 -
Alice picks a private number, and sends the result to
Bob https://www.khanacademy.org/computing/computer-science/cryptography/modern-crypt/v/diffie-hellman-key-exchange-part-2 -
Bob picks a private number, and sends the result to
Alice https://www.khanacademy.org/computing/computer-science/cryptography/modern-crypt/v/diffie-hellman-key-exchange-part-2 -
Because their results were calculated from the shared public generator
and prime modulus -
So, they did the same calculation with exponents in different
order, which doesn’t affect the result -
DES Computer-powered Brute Force Key Search Moore’s Law 1970+ 3DES
+ CBC DH + 3DES + CBC 1976 -
Use Diffie-Hellman Exchange to make a key … … for
Triple-DES … … with Cipher Block Chaining mode. … Encrypt-Decrypt-Encrypt … -
Clifford Cox 1971 Trap Door One-way Function By Royal Society
uploader - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=43268163 -
DES Computer-powered Brute Force Key Search Moore’s Law 1970+ 3DES
+ CBC DH/RSA + 3DES + CBC 1976 -
DES Computer-powered Brute Force Key Search Moore’s Law 3DES +
CBC DH/RSA + 3DES + CBC Quantum Computing -
DES Computer-powered Brute Force Key Search Moore’s Law 3DES +
CBC DH/RSA + 3DES + CBC Quantum Computing Post-Quantum Cryptography -
Questions? Scytale Caesar Cipher Unshifted cipher Frequency Analysis Poly-alphabetic cipher
Vigenere Square Enigma Lucifer/DES Modes of Encryption Diffie-Hellman RSA Quantum speakerdeck.com/groovecoder