Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cryptography: 500 BC to https

Cryptography: 500 BC to https

This talk starts with the simplest (and oldest) forms of secret communication: from the first invisible ink, to the ancient “scytale” anagram tool, to Caesar ciphers used in ancient Greece and Rome. These simple techniques give an accessible introduction to fundamental aspects of all cryptographic systems thru-out history. In particular, the establishment of a secure “key-exchange”, which will be shown thru-out the talk to be the most important and practical knowledge for developers.

From those ancient foundations, it explores the evolution of cryptography over centuries of “battle” between code-makers and code-breakers: from frequency cryptanalysis of the Islamic Golden Age, to the Alberti Cipher Disk and the Vigenère Square used in Renaissance and pre-Industrial Europe, to the World War II stories of making and breaking the Enigma machine – the first popular use of electromechanical cryptography, and the pre-cursors to modern computers.

Coming into contemporary times, it covers the development of computer cryptography: from the “Lucifer” cipher that would become the Data Encryption Standard (DES), to the Advanced Encryption Standard (AES) used today in protocols like TLS/HTTPS, along with modern key-exchange protocols like RSA, Diffie-Hellman, and Elliptic Curve.

luke crouch

April 08, 2022
Tweet

More Decks by luke crouch

Other Decks in Technology

Transcript

  1. 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
  2. About this talk 2700 years in 40 minutes Don’t take

    notes Slides are already up at: speakerdeck.com/groovecoder
  3. 499 BCE Histiaeus of Miletus shaves head of a slave

    to write to Aristagoras to revolt against Persians
  4. Scytale, ~700 BCE - 120 AD Cylinder with parchment wound

    around it Permutation cipher or Partial/Hidden writing
  5. 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
  6. 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)
  7. 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
  8. “a cryptosystem should be secure, even if everything about the

    system, except the key, is public knowledge” –Kerchkoff’s Principle (19th century AD)
  9. Scytale, ~700 BCE - 120 AD Algorithm Wrap message around

    a cylinder Key Diameter of cylinder
  10. Breaking rail fence cipher DELEHELFTAAEDSWNT 2 rows: daealeedhsewlnftt 3 rows:

    deslefwtlanaeetdh 4 rows: detwaheeanellfdts 5 rows: defend the east wall
  11. Caesar Cipher, 49 - 44 BC Algorithm Replace each letter

    with another letter Key K positions down the alphabet
  12. Can we give ourselves a really large key space? So

    it would take an attacker a long time to search them all?
  13. Non-shifted Random Substitution Algorithm Replace each letter with another letter

    Key Any Cipher Alphabet (An anagram of the alphabet! such meta!)
  14. 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
  15. … most crypto systems try to force attackers into key

    searches that take too long to complete
  16. 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
  17. Ancient Steganography, Scytale ~700 BC Brute Force Key Search Caesar

    Cipher ~50 BC Non-shifted Substitution Cipher
  18. So, we’ve got a simple crypto- system that would take

    decades for hundreds of thousands of computers to break!
  19. ةامعملا بتكلا جارختسا يف ةلاسر (On Decrypting Encrypted Correspondence) يدنكلا

    حاّبصلا قاحسإ نب بوقعي فسوي وبأ (Abu Yūsuf Yaʻqūb ibn ʼIsḥāq aṣ-Ṣabbāḥ al-Kindī) Al-Kindi 801-873 AD
  20. “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
  21. 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’
  22. Cipher O = e X = a Y = i

    B = h P = t ?
  23. “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
  24. “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
  25. “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
  26. “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?
  27. Ancient Steganography, Scytale ~700 BC Brute Force Key Search Caesar

    Cipher ~50 BC Non-shifted Substitution Cipher Frequency Analysis ~800 AD
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. False frequencies ‘e’ is enciphered as both ‘A’ and ‘K’

    ‘K’ is deciphered as both ‘e’ and ‘t’ “secret” “RABHKK”
  36. Ancient Steganography, Scytale Brute Force Key Search Caesar Shift Non-shifted

    Substitution Frequency Analysis ~800 AD Homophonic Substitution Renaissance Poly-alphabetic Substitution ~1450 AD
  37. 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
  38. 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
  39. 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
  40. 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 S Keyword: SECRETSECRETSECRETSECRET
  41. 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
  42. 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
  43. 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
  44. “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
  45. 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
  46. False SYMBOL frequencies • ‘e’ is enciphered as both ‘A’

    and ‘K’ • ‘K’ is deciphered as both ‘e’ and ‘t’ “secret” “RABHKK”
  47. Breaking Vigenère • Look for repeated sequences of letters •

    Measure spacing between repetitions • Identify most likely length of key: L
  48. spacing between repetitions Repetition Spacing Possible Length of Key 2

    3 4 5 6 7 8 9 10 11121314 15 1617181920 EFIQ 95 ✓ ✓ PSDLP 5 ✓ WCXYM 20 ✓ ✓ ✓ ✓ ✓ ETRL 120 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
  49. 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
  50. 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
  51. 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
  52. Enigma: Electrical Encryption • Arthur Scherbius, 1918 • Mass Production

    in 1925 CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=497329
  53. 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
  54. 3 rotors of 26 wirings 26 x 26 x 26

    = 17,576 Cipher Alphabets
  55. 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
  56. 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
  57. 10,586,916,711,696 possible keys • At 1 check per minute: •

    38,291,799 enigma machines = 1 day to crack
  58. 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
  59. Note • Remember this concept of “message keys” … we’ll

    see it again when we get to “session keys” in HTTPS
  60. Is cracking Enigma possible? • At 1 check per minute:

    • 38,291,799 enigma machines = 1 day to crack A SINGLE MESSAGE!
  61. 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
  62. 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
  63. Marian Rejewski By Unknown - Rejewski's daughter's private archive, CC

    BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=216461
  64. Found “chain” cycles in the first 6 letters 4th Letter:

    FQHPLWOGBMVRXUYCZITNJEASDK 1st Letter: ABCDEFGHIJKLMNOPQRSTUVWXYZ 3 links: A-F-W-A
  65. Found “chain” loops in the first 6 letters 4th Letter:

    FQHPLWOGBMVRXUYCZITNJEASDK 1st Letter: ABCDEFGHIJKLMNOPQRSTUVWXYZ 7 links: C-H-G-O-Y-D-P-C
  66. 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
  67. 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
  68. 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)
  69. 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
  70. 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
  71. Alan Turing • Enigma operators were supposed to use separate

    message keys • Many were lazy, and the same operator used the same message key every time • Re-using keys created more cipher text with the same key • Messages like the daily weather report always had the same plain text letters in the same positions
  72. Colossus • Inspired by Turings ideas and his bombe •

    1,500 electronic valves - faster than electromechanical relay switches • Programmable - first computers?
  73. 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
  74. 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
  75. SOS

  76. 83 79 83 1010011 1001111 1010011 1 1 1 1

    1 1 1 1 1 64 + 16 + 2 + 1 = 83 1 1 1 1 64 + 16 + 2 + 1 = 83 64 + 8 + 4 + 2 + 1 = 79
  77. Bitwise anagram For example, consider this short sentence. 01000110011011110111001000100000011001010111100001100001011011010111000001101100011001010010110000100000011000110 11011110110111001110011011010010110010001100101011100100010000001110100011010000110100101110011001000000111001101

    101000011011110111001001110100001000000111001101100101011011100111010001100101011011100110001101100101 “Bitwise” rail fence cipher with 2 rails 00010111010101000100011001000110010001100100011001000101011101110101011001000100010101000100011001100101010001010 11001110101010001000101010001110100010001110101010010101011110000001011110010011011110010101011001000001001101110 101101100110101011110000001110100010011101000011011000101111001110000011011011101011101011101010011011
  78. 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
  79. Bitwise substitution: XOR For example, consider this short sentence. 01000110011011110111001000100000011001010111100001100001011011010111000001101100011001010010110000100000011000110

    11011110110111001110011011010010110010001100101011100100010000001110100011010000110100101110011001000000111001101 101000011011110111001001110100001000000111001101100101011011100111010001100101011011100110001101100101 Key: “Julius Caesar” 01001010011101010110110001101001011101010111001100100000010000110110000101100101011100110110000101110010 Output 10001100110111101110010001000000110010101111000011000010110110101110000011011000110010100101100001000000110001101 10111101101110011100110110100101100100011001010111001000100000011101000110100001101001011100110010000001110011001 00010000110100001111000011101010101010000000001000101001011010001010100000000000111010000001000010111
  80. 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
  81. 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
  82. 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.
  83. Data Encryption Standard (DES) 1977 Lucifer with 56-bit keys So

    the NSA could brute force keys if they “needed” to
  84. 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
  85. 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
  86. 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?
  87. The key can be anything that can encode to 1’s

    and 0’s So, anything … like a number.
  88. Use Diffie-Hellman Exchange to make a key … … for

    Triple-DES … … with Cipher Block Chaining mode. … Encrypt-Decrypt-Encrypt …
  89. 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
  90. DES Computer-powered Brute Force Key Search Moore’s Law 1970-Present 3DES

    + CBC DH/RSA 3DES CBC Certificate Authorities 1995-Present
  91. DES Computer-powered Brute Force Key Search Moore’s Law 3DES +

    CBC DH/RSA + 3DES + CBC Code-breaking: PKI, implementation, protocol attacks 1995 - Present Code-making: PKI (Certificate Authorities), AES, Elliptic Curves 1995-Present
  92. Questions? Scytale Caesar Cipher Unshifted cipher Frequency Analysis Poly-alphabetic cipher

    Vigenere Square Enigma Lucifer/DES Modes of Encryption Diffie-Hellman (Math?) RSA (Math?) Quantum speakerdeck.com/groovecoder
  93. DES Computer-powered Brute Force Key Search Moore’s Law 1970-Present 3DES

    + CBC DH/RSA 3DES CBC Certificate Authorities 1995-Present
  94. 255

  95. ? 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!
  96. 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
  97. 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
  98. 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
  99. 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
  100. So, they did the same calculation with exponents in different

    order, which doesn’t affect the result