Skip to main content

CS409: Cryptography

Page path
  • Home /
  • Courses /
  • Course Catalog /
  • Computer Science /
  • CS409: Cryptography /
  • Unit 2: Classical Cryptography
Back to course 'CS409: Cryptography'
  • Unit 2: Classical Cryptography

    In this unit, we will learn to describe and analyze the following classical ciphers: ADFGVX, Affine, Beaufort, Bifid, Caesar, Columnar Transposition, Four-Square, Hill, Playfair, Polybius Square, Rail-fence, Simple Substitution, Straddle Checkerboard, Vigenere, Autokey, Enigma, and Lorenz ciphers.nz ciphers. These ciphers are intuitively easy to understand and seem to encrypt the message well, but they have many shortcomings, which we will discuss as we work through this unit. By studying these classical ciphers, you will learn to avoid poor cipher design.

    Completing this unit should take you approximately 25 hours.

    • Unit 2 Learning Outcomes Page
    • 2.1: Classical Ciphers and Their Cryptanalysis

      •  Practical Cryptography: "ADFGVX Cipher" URL

        Read this page, which discusses the ADFGVX Cipher. Learn the algorithm, go through the JavaScript example, and read through the cryptanalysis to learn how you would break this cipher.

      •  Practical Cryptography: "Affine Cipher" URL

        Read this page, which discusses the Affine Cipher. Learn the algorithm, go through the JavaScript example, and read through the cryptanalysis.

      •  Practical Cryptography: "Beaufort Cipher" URL

        Read this page, which discusses the Beaufort Cipher. Go through the algorithm and JavaScript example.

      •  Practical Cryptography: "Bifid Cipher" URL

        Read this page, which discusses the Bifid Cipher. Learn the algorithm, go through the JavaScript example, and read through the cryptanalysis.

      •  Practical Cryptography: "Caesar Cipher" URL

        Read this page, which discusses the Caesar Cipher. First, go through the mathematical description and JavaScript example. Then, read through the cryptanalysis to learn how to break the cipher.

      •  Practical Cryptography: "Columnar Transposition Cipher" URL

        Read this page, which discusses the Columnar Transposition Cipher. Go through the written example as well as the JavaScript example, and then read about the cryptanalysis.

      •  Practical Cryptography: "Four-Square Cipher" URL

        Learn the algorithm and cryptanalysis of Four-Square Cipher. Go through the Javascript example.

      •  Practical Cryptography: "Hill Cipher" URL

        Go through the written example and JavaScript example of Hill Cipher and then read about its cryptanalysis.

      •  Practical Cryptography: "Playfair Cipher" URL

        Read about Playfair's algorithm and cryptanalysis and then go through the JavaScript example.

      •  Practical Cryptography: "Polybius Square Cipher" URL

        Go through both examples (written and JavaScript) of the Polybius Square Cipher, and then read about its cryptanalysis.

      •  Practical Cryptography: "Rail-fence Cipher" URL

        Go through both examples (written and JavaScript) of the Rail-fence Cipher and then read about its cryptanalysis.

      •  Practical Cryptography: "Simple Substitution Cipher" URL

        Go through both examples (written and JavaScript) of the Simple Substitution Cipher and then read about its cryptanalysis.

      •  Practical Cryptography: "Straddle Checkerboard Cipher" URL

        Learn the algorithm and check out the JavaScript example.

      •  Practical Cryptography: "Vigenere and Gronsfeld Cipher" URL

        Read the page to learn the algorithm for the Vigenere, Gronsfeld and Autokey Cipher. Then go through the JavaScript example and read the cryptanalysis.

    • 2.2: Mechanical Ciphers

      •  Practical Cryptography: "Enigma Cipher" URL

        Read this page, which discusses the Enigma Cipher. Go through the JavaScript example and read about mathematical description.

      •  Practical Cryptography: "Lorenz Cipher" URL

        Read this page, which discusses the Lorenz Cipher and go through the Javascript example.

    • 2.3: Ciphers in Code

      •  John Russell's "Cryptology Programs" URL

        If you do not have java compiler on your computer, install Java on your computer via www.java.com. Then, create Caesar cipher with java. You can see how to compile a java code via the java tutorials provided here. One possible solution can be found via the link above, under the Caesar section. Study the solution code only after you have solved the problem or spent a substantial amount of time working on it.

Navigation

Art History
Biology
Business Administration
Chemistry
Communication
Economics
English
History
Mathematics

Creative Commons License
© Saylor Academy 2010-2018 except as otherwise noted. Excluding course final exams, content authored by Saylor Academy is available under a Creative Commons Attribution 3.0 Unported license. Third-party materials are the copyright of their respective owners and shared under various licenses. See www.saylor.org/open/licensinginformation for detailed licensing information.

Saylor Academy and Saylor.org® are trade names of the Constitution Foundation, a 501(c)(3) organization through which our educational activities are conducted.

Terms of Use | Privacy Policy