Meeting time: MWF 3:30-4:30pm |
UAF CS F463-F01 |
Instructor: Dr. Orion Lawlor |

- Project 2 final drafts are due by midnight Wednesday (5/8) on Blackboard.
- The final exam will be Wednesday (5/8) at 3:15pm in our usual classroom.
- Project 2 presentations are in class Friday (5/3) and Monday (5/6).
- Project 2 rough drafts are due this Wednesday (5/1) on Blackboard by midnight.
- Homework 3 is a programming assignment, to eliminate a timing attack from an elliptic curve scalar multiplication function. It's due Monday, April 29.
- Homework 2 is a custom and insecure elliptic curve cipher, first an electronic codebook (ECB) hw2_0, then a cipher-block-chaining (CBC) hw2_1, both due by midnight Friday, April 12. If you're still confused about elliptic curves from my lectures and notes, LinuxJournal has a readable elliptic curve cryptography intro.
- The take-home midterm is on Blackboard. Turn it back in the same place after spring break before midnight Monday, March 18.
- Don't forget to be ready to present your project 1 final results in class this Wednesday, March 20. Be ready to talk for just under 5 minutes. Turn in your final project 1 results on Blackboard by midnight Friday.
- Project 1 initial talks were in-class Monday, March 4. Plan to present for about 5 minutes each. I've posted brief comments on your rough drafts on NetRun.
- Project 1 rough drafts are due by midnight Friday, March 1 on Blackboard (log in first).
- Project 1 topics are available. The first deliverable was an in-class project topic discussion on Friday, February 15.
- Homework 1 is some algorithm recovery work, first an easy hw1_0, then a slightly more complex hw1_1, both due by midnight Monday, February 11. The solution to both problems can be found by guessing a key search for this algorithm generator, although depending on the keys used, you might generate a few million lines of binary gibberish before finding the actual plaintext (and hence algorithm). Definitely automate this!
- Homework 0 is on my new web-based interactive system named "crApto". It
uses the same login and storage as NetRun, but you send in
cleartext, not code. Try the demo
first.

HW0 problems: 0 1 2 3 4 5. Due anytime Monday, January 28.

Use of Google and/or your own code is heavily encouraged! (But write your own code, and solve your own problems.)

- 05_01_review, Course Review for the Final Exam modified 2013-05-01
- 04_29_GPU_programming, CUDA: NVIDIA's C++ on the GPU modified 2013-04-29
- 04_24_OpenMP_and_SSE, Multicore with OpenMP, and Streaming SIMD Extensions (SSE) modified 2013-04-24
- 04_17_disk_encryption, Whole-Disk Encryption modified 2013-04-17
- 04_12_binary, Binary vs. ASCII Communication Protocols for Cryptography modified 2013-04-12
- 04_09_net_protocol, Network Protocol Design for Cryptography modified 2013-04-10
- 04_07_SSH_keys, SSH Public and Private Keys modified 2013-04-09
- 04_05_sockets, Network Socket Communication modified 2013-04-05
- 04_03_networks, Crypto for Network Protocols modified 2013-04-02
- 04_01_bitcoin, BitCoin: Technology & Morality modified 2013-04-03
- 03_29_ECDSA, Elliptic Curve Digital Signature Algorithm modified 2013-03-29
- 03_27_ECDH, Elliptic Curve Diffie-Hellman-Merkle key exchange modified 2013-03-27
- 03_25_ECC, Elliptic Curve Cryptography: The Basics modified 2013-03-25
- 03_18_steganography, Image Steganography modified 2013-03-18
- 03_08_openssl, Certificate Generation & Checking with OpenSSL modified 2013-03-08
- 03_06_certificates, Certificate Formats modified 2013-03-06
- 03_01_Diffie_Hellman_Merkle, Exchanging Secret Keys modified 2013-02-28
- 02_27_RSA_holes, Known Flaws in RSA, and How to Fix Them modified 2013-02-27
- 02_25_RSA, Public Key Encryption: RSA modified 2013-02-25
- 02_22_hash_examples, How To, and How Not to Hash Passwords modified 2013-02-22
- 02_20_SHA256, Secure Hash Algorithm SHA-256 modified 2013-02-20
- 02_18_hashing, Uses for Cryptographic Hashing modified 2013-02-18
- 02_15_algebraic, Preventing Algebraic Attacks on Ciphers modified 2013-02-15
- 02_13_multiplication, Fast Multiplication/Exponentiation Algorithm modified 2013-02-13
- 02_11_groups_fields, Groups, Fields, and AES modified 2013-03-14
- 02_08_RC5, RC5: Rivest Cipher 5 modified 2013-02-08
- 02_06_Feistel, Feistel Structured Ciphers modified 2013-02-06
- 02_04_DES, The Data Encryption Standard (of 1977) modified 2013-02-04
- 02_01_stats, Probability & Statistics modified 2013-02-04
- 01_30_operations, Picking Crypto Operations: Inverses, Analysis, and Entropy modified 2013-02-04
- 01_28_correlation, Histograms, Coincidence, and Correlation modified 2013-01-28
- 01_25_entropy, Information Theory, Entropy, and Key Strength modified 2013-01-25
- 01_23_powers, Assumptions about the powers of the Adversary modified 2013-01-23
- 01_18_secrets, Data Security and Keeping Secrets modified 2013-01-18

- The course syllabus has dates to remember, and the grading policy.
- The textbook is Bruce
Schneier's
*Applied Cryptography*(1996). - A slim but more recent text on cryptanalysis is Christopher
Swensen's
*Modern Cryptanalysis*(2008).

- A WWI and interwar-era description of cipher design, politics,
spies, and intrigue both foreign and domestic, is Herbert
Yardley's
*The American Black Chamber*(1931).

- The basic principles of alphabetic substitution frequency
analysis, and heat-developed secret writing, are explored in the
final third of Edgar
Allen Poe's
*The Gold-Bug*(1843). (Caution: contains language not suitable for the 21st century.)