The Nihilist Cipher Explained

Sdílet
Vložit
  • čas přidán 21. 09. 2022
  • #cryptology, #cryptography, #cryptanalysis
    In this video, we explain how the Nihilist cipher works. In the history of cryptography, the Nihilist cipher is a manually operated polyalphabetic cipher, originally used by Russian Nihilists in the 1880s. After showing how the cipher works, we also implement it in a workspace of CrypTool 2.
    I also wrote a small blog article about the Nihilist cipher here: www.kopaldev.de/2022/09/22/th...
    If you are interested in learning the fundaments of cryptology, let me invite you to have a look at our video series about the basics of cryptology, also for beginners: • Basics of Cryptology -...
    You can download the latest version of CrypTool 2 from here: www.cryptool.org/en/ct2/downl...
    Visit my blog: www.kopaldev.de

Komentáře • 16

  • @CryptographyForEverybody

    Keyspace size and unicity distance computation at 7:31 :
    The computation of the combined key space size in the video was wrong. This also leads to a wrong unicity distance.
    Also, as mentioned in the video, we computed the keyword space with a 26 instead of a 25 character alphabet.
    Here are the corrected values:
    Polybius squares: 25! ≈ 2^83.68
    Keywords: 25 * 25 * 25 * … = 25^𝑛 for all keywords length with length n
    (all keyword lengths 𝑛 have to be added)
    For 𝑛 up to keyword 𝑙𝑒𝑛𝑔𝑡ℎ = 10 this is 𝑘_10 ≈ 2^46.49
    Total keyspace: 25! * 𝑘_10 ≈ 2^130.18
    Unicity distance: 𝑈 ≈ 130.18 / 3.2 = 40.68
    Thanks @GUILLERMO COTRINA CUENCA for spotting and mentioning it,
    Greetings,
    Nils

  • @timetraveller6643
    @timetraveller6643 Před rokem +4

    My favourite CT2 vids are always the ones with significant historic context. Thank you Nils

  • @aethrya
    @aethrya Před rokem +2

    Thanks for sharing, Nils! I really like the history of this cipher and it's evolution into the VIC cipher used in the 50s by Soviet spies. There are some neat ideas I've borrowed ideas from this cipher family to create my own ciphers.

  • @guillermocotrinacuenca
    @guillermocotrinacuenca Před rokem +3

    Thanks for the video, thanks for sharing with us, I am afraid there is a tiny mistake in the keyspace When you consider the multiplication of 25! *k_10

    • @CryptographyForEverybody
      @CryptographyForEverybody  Před rokem +1

      Yes,
      There is not only a tiny mistake but a big one :-/.
      Instead of multiplying the keyspace sizes, I added them in the excel sheet and that also went through the proof reading.
      Thanks for spotting.
      I added the correct numbers as a fixed comment to the video here,
      Thanks,
      Greetings,
      Nils

    • @redfinance3403
      @redfinance3403 Před 6 měsíci

      @@CryptographyForEverybodySo the nihilist cipher can be brute forced using 26^n keys only..

  • @RobertFuszenecker
    @RobertFuszenecker Před rokem +2

    Thank you very much for this fantastic video, Nils.
    If I understand correctly, there is no better way of cracking this cipher than brute-force?

    • @CryptographyForEverybody
      @CryptographyForEverybody  Před rokem +2

      Hello Róbert Fuszenecker,
      Thank you for the kind words.
      "There is no better way of cracking this cipher than brute-force"
      -> No. Pure brute-force is not an option since the keyspace size is too big. There are better ways :-)
      The cipher's security is comparable to the Vigenère cipher and can be attacked with similiar methods you would use to attack a Vigenère cipher. The English Wikipedia says: "Because each symbol in both plaintext and key is used as a whole number without any fractionation, the basic Nihilist cipher is little more than a numerical version of the Vigenère cipher, with multiple-digit numbers being the enciphered symbols instead of letters. As such, it can be attacked by very similar methods."
      I think you should also be able to use the Kasiski test to obtain keylength and then attack the individual "columns" defined by the keyword letters. Each column is only monoalphabetically encrypted.
      Greetings,
      Nils

  • @brianpoeppelman5885
    @brianpoeppelman5885 Před rokem +2

    Thanks for the update on 'nightly builds'! I'm really looking forward to getting 'Mexican Army Cipher' update. Any interest in working on "The Last Key of Solomon" videos on CZcams? I have Videos 1, 5, 7, 99, and 999 deciphered, but am stuck on the rest.

    • @CryptographyForEverybody
      @CryptographyForEverybody  Před rokem

      Heyho,
      Interest probably, but time is the problem 🙂
      Its also hard to keep up making one video every one or two weeks 🙂
      Greetings,
      Nils

    • @brianpoeppelman5885
      @brianpoeppelman5885 Před rokem

      In trying to keep you interested (or anyone else reading these comments), below are solutions. I have all of the videos transcribed, if that makes things easier.
      Video 1: 0111010001101000011010010111001101100010011010010111010001101101011000010111010001110100011001010111001001110011 (THIS BIT MATTERS) [01-> ASCII]
      Video 5: 3334442432153124322444 (Solution: NO TIME LIMIT) [Method: 1-5-> POLYBIUS (I/J)]
      Video 7: 422422234441451543442434431133435215421514 (Solution: RIGHT QUESTIOs ANSWERED) [Method: 1-5-> POLYBIUS (I/J)]
      Video 64: AMMMAMAA AMMAMAAA AMMAAMAM AAMAAAAA AMMAAMAA AMMMAAMA AMMAMMMM AMMAMMAM AMMAAMAM AMMAAMAA AMMAAAAM AMMMAAMA AMMMMAAM (Solution: THE DROMEDARY) [Method: AM-> ASCII]
      Video 99: kkllkkkkkkllkkklkkllkkklkkllkkkkkkllkkklkkllkkklkkllkkklkkllkkkkkklkkkkkkkllkkkkkkllkkklkkllkkklkkllkkkkkkllkkklkkllkkklkkllkkklkkllkkkl (Solution: NO) (Method: KL-> ASCII 01-> ASCII)
      Video 999: 011100110110111100100000011011000110111101101110011001110010000001100001011011100110010000100000011001110110111101101111011001000010000001101100011101010110001101101011 (Solution: SO LONG AND GOOD LUCK) [Method: 01-> ASCII]

  • @timetraveller6643
    @timetraveller6643 Před rokem +2

    Random number generation. Are there any dedicated hardware solutions to generating random numbers? For instance, a usb dongle with an isotope mod counter? How might you solve the problem?

    • @CryptographyForEverybody
      @CryptographyForEverybody  Před rokem

      Hiho,
      Processors have already built in instructions to generate random numbers which are seeded by an on-chip entropy source. For intels RDRAND see en.wikipedia.org/wiki/RDRAND. Also, there exist devices that you can connect via e.g. USB to your computer.
      Greetings,
      Nils

    • @timetraveller6643
      @timetraveller6643 Před rokem

      @@CryptographyForEverybody.
      I was thinking that there might be a mistrust of onboard "randomness" with possible back doors. Also, that an isotope driven generator would be an effective marketing novelty. Does Cryptool2 have any novel options to generate random numbers? For instance, scrambled images from a laptop camera, white noise from blowing into the mic, etc.
      Isn't there a view of lava-lamps somewhere that does this for the internet?

    • @CryptographyForEverybody
      @CryptographyForEverybody  Před rokem +1

      Heyho,
      You could use the Audio Input Component or the Webcam Component to "get entropy into CT2", e.g. by hashing the input data and use the hash values as seeds for random number generators :-)
      If you want to play with random tests, I suggest you have a look at "Die harder", which is a set of randomness tests. Have a look at: en.wikipedia.org/wiki/Diehard_tests
      Greetings,
      Nils