Advanced Cryptology
Advanced Cryptology (Course code COD2, formerly CRYP when at Princeton) is a CTY Lancaster course with a prerequisite of CTY's Cryptology course (though enforcement of this prerequisite is questionable).
Course Description
The course has only been offered 4 times total and thus the curriculum has varied. In 2011.2, the course contained a quick review of Crypto 1 material, followed by:
- More public key cryptosystems such as Knapsack, McEliece, ElGamal, and Merkle Puzzle in addition to RSA
- Probability, statistics, and applications to breaking monoalphabetic and Vigenere ciphers
- Brief history of major cryptanalysts and mathematicians.
- The US M-209 Cipher Machine
- Integer factoring algorithms such as Fermat, Pollard Rho, Pollard P-1, and Quadratic Sieve as well as the Miller-Rabin Primality test
- A brief introduction to Quantum Key Distribution, Continued Fractions, and Elliptic Curves
- All necessary mathematics such as XOR systems, permutations, matrix algebra, and lots of modular arithmetic and number theory such as Fermat's theorem, discrete logarithms, and multiplicative inverses.
Catalog descriptions follow:
- From the CTY course catalog during the Princeton Days:
In today’s environment, data transmission and data security play an ever critical role in the global marketplace and national security. This course focuses on code making and code breaking. By examining vulnerabilities of encryption systems and writing their own code, students learn the complexity of topics ranging from securely transmitting personal information during online business transactions to decoding secret communiqués that threaten our collective welfare.
While Cryptology is mostly based around mechanical ciphers (Caesar wheel, Playfair grid) Advanced Cryptology focuses on computerized ciphers that have been in use within the past fifty years. The course is much more math-intensive than Cryptology, and more mathematical concepts are covered in order to facilitate the making and breaking of computerized codes. In addition to the Extended Euclidean Algorithm that was introduced in Cryptology, Advanced Cryptology utilizes methods of factorization and tests of the primality of numbers in order to break (or check the strength of) more difficult ciphers like the El Gamal or the McEliece ciphers. Students also write programs using Java to do a number of functions, ranging from solving a Caesar Shift cipher to converting temperature or even drawing a picture on the computer (as demonstrated by Weegee, LAN.10.1)
- From the CTY course catalog of now:
In today’s environment, data transmission and data security play an increasingly critical role in the global marketplace and in national security. Picking up where our Cryptology course leaves off, this class delves further into the rich mathematics behind the science of secret keeping.
Students begin with a review of key concepts covered in the first-level course, then progress into the study of more complicated cipher techniques and additional topics from number theory. Students also examine how other areas of mathematics and computer programming are applied to cryptology. For example, they employ computational techniques to learn about statistical attacks on cryptosystems.
In addition, students deepen their knowledge of historical cryptography systems. They develop a more nuanced understanding of the techniques used in breaking the Enigma devices used during World War II and investigate the inner workings of the M-209, a device of the same era that was used primarily by the United States military. Students leave this course with an advanced understanding of the mathematical basis and history of cryptology.
Class History
Originally started in Princeton on a trial, Advanced Cryptology has since moved to Lancaster, where Steven "Wizard" Earthbourne and David "Sideshow" Perry taught the first true offering of the course at LAN.10.1. One of the few CTY courses with two instructors, the twenty two students who took part formed the first ever COD2 class. Topics ranged from statistics to the M-209 machine, and there was a large Java programming element to the course.
The course returned to Lancaster for both sessions in 2011. At LAN.11.1, a class of 8 students was again co-taught by Wizard and Sideshow. At LAN.11.2, a class of 14 students was taught by Wizard and TA'd by Steve "Ninja" Norum as Sideshow had to return to his work at the NSA. There was no Java programming and TI-83/84 calculator programs were handed out to perform tedious operations for students, though some students chose to write some programs themselves.
In 12.1, COD2 was taught by Sideshow, and TA'd by Zydney, the awesomest TI-calculator wizard the world has ever seen. Programs for the TI calculators were made by Zydney for the class, as well as by those who wished to code their own programs. 2/3s of the way through the session, Zydney spent an ungodly amount of time and created an enigma emulator in TI-Basic. The class was in awe.
Also in 12.1, a skit was performed every week in the class, much like in THEO.B, talking about a major mathematical principle relating to cryptography.
Topics covered are described in the "course description" section of this page.
Also about LAN.11.2 - QUANTUM MOIST (MOSIT) EBOLA RICKROLL NYAN COD IHAVEAQUESTION FRIDAY GAME M-209