Night heron on rocks.
Security through invisibility.
Yale University Department of Computer Science
CS 467: Cryptography and Computer Security
Michael J. Fischer

Old Announcements, Spring 2010
CS Department CS Courses M. Fischer Home M. Fischer Email
Course Home Page
Lecture Notes
Old Announcements

<< Back

Do you see it now?
Sunken warship, Bermuda.


Announcements will appear for awhile on the course home page and then be archived here.

  • 13 Apr. I have finally finished the sample socket code. You can find it in /c/cs467/assignments/ps5/socket on the Zoo. See the Readme file for information about the demo. Good luck!

  • 11 Apr. To help you get started computing with big numbers, I have placed some sample code in /c/cs467/assignments/ps5/modexp on the Zoo. You will need to choose which package to use for PS5 -- either GMP or openssl/bn. The sample code illustrates how to use each package to do modular exponentiation.

    For further information on GMP, type info gmp. For further information on openssl and its crypto libraries, type man 3 ssl and man 3 crypto.

    Documentation on the openssl big number library bn is currently missing from the Zoo. I'll ask that it be installed. When it is, you should be able to type man 3 bn. In the meantime, two web sites where you can find linux man pages are and

  • 9 Apr. Problem set 5 (.pdf) is available. It has two parts. Part A is due on Friday, April 16. Part B is due on Monday, April 26.

  • 6 Apr. Two new handouts are available:

  • 24 Mar. Minor correction to today's lecture notes. In estimating the storage requirement for a Birthday Attack on MD5, I calculated bits but called them bytes. The correct answers are 1/8 of what I had before. I reposted corrected notes for lecture 17.

  • 3 Mar. Problem set 4 (.pdf) is available. It is due on Wednesday, March 24.

  • 3 Mar. Solutions to PS3 (.pdf) are available.

  • 1 Mar. Solutions to midterm exam (.pdf) are available.

  • 18 Feb. I fixed the error on slide #7 of lecture 12 noted in class yesterday, and I added a new slide 8.

  • 16 Feb. Problem set 3 (.pdf) is available. It is due on Tuesday, February 23. Solutions to problem set 2 (.pdf) are also available.

  • 16 Feb. I rewrote slide #12 in yesterday's lecture 11 notes to correct the error noted in class and to use the precise term "Carmichael number" instead of the more general term "pseudoprime".

  • 15 Feb. Reminder: Midterm examination, in class, 2:30 pm, Wednesday, February 24.

  • 9 Feb. Here are three new handouts that supplement the lecture notes on number theory.

  • 8 Feb. Problem set 2 (.pdf) is available. It is due on Monday, February 15.

  • 4 Feb. I finally have an answer to the question about what must be done in C under Linux to use functions such as log() from the math library:

    1. #include <math.h> in the source code.
    2. Add the switch -lm to the linker command line. This causes the math library to be searched when the modules are linked together.

    Why is it sometimes not necessary to use -lm? My test program contained the expression log(3.1). Since the argument was constant, the compiler computed the logarithm at compile time and replaced the function call by the result. Hence, there was no call to log() in the compiled code and no need to search the math library.

  • 2 Feb. A few miscellaneous notes on PS1:

    • The submit script will not take folders. If you have a folder structure that you wish to submit, put the whole file tree in a .tar or .zip file and submit that instead.

    • Don't forget to give the assignment number 1 as the first argument to submit.

    • The resolution of time() is only one second. If you call it multiple times within your program, you're likely to get the same result many times in a row, so don't use this to repeatedly seed your random number generator. Better is to set the seed once as the first thing in main() and then let your program run as many trials as you like.

    • To use the log() function (or any other function from the C math library), be sure to #include <math.h>.

    • The submission will be considered on time if the day of submission is Wednesday, February 3, i.e., any time on that day. (I guess "midnight" is ambiguous.)

  • 27 Jan. Slides from lectures 5 and 6 are now up on the web site. I apologize for the delay in posting lecture 5 and for telling people it was there when it wasn't. The slides were indeed all ready to post a couple of hours after Monday's class, but I neglected to take the final step of synchronizing the live web site with the master site.

  • 23 Jan. Just added a fourth mystery text that is much shorter than the others.

  • 23 Jan. Three mystery texts are now available in the assignment directory /c/cs467/assignments/ps1 on the Zoo. Try to decrypt each using your PS1 solution with both of the furnished English-language frequency tables. The mystery texts are encoded using ASCII characters A...Z. Following standard conventions in classical cryptography, all whitespace and non-alphabetic characters were deleted from the plaintext before encryption. Nevertheless, it should be readily apparent when you have found the correct decryption.

  • 20 Jan. Problem set 1 (.pdf) is available. It is due in two weeks, on Wednesday, February 3. There is a fair amount of work involved, so start working on it now to leave yourself enough time to finish. You will need to generate random numbers according to given distributions. See the handout Random Number Generation (.pdf) for hints on how to do this.

  • 14 Jan. Slides from lectures 1 and 2 are available as PDF files from the Lecture Notes page.

  • 11 Jan. Welcome to the CPSC 467a web site. Look here for announcements and course materials.

  • 11 Jan. There will be no class on Martin Luther King day, Monday, January 18. The makeup class will be on Friday, January 15, at the regular time and place.

    Since this class does not normally meet on Fridays, and the last Monday of the term is to be used for Friday classes, the last meeting of this class will be on Wednesday, April 21.

  • 11 Jan. A final examination will be given at the officially scheduled time, Thursday, May 6, 2:00 pm. Those enrolled under the graduate number CPSC 567b are also expected to take the final exam. Please take this into account when making your end-of-term travel plans. I do not plan to give an early exam for the convenience of those who want to leave campus early.

Comments about this website should be directed to M. Fischer