
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 http://linuxmanpages.com/
and http://man.he.net/
.

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:
#include <math.h>
in the
source code.
 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 Englishlanguage
frequency tables. The mystery texts are encoded using
ASCII characters A...Z
. Following
standard conventions in classical cryptography, all
whitespace and nonalphabetic 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 endofterm travel
plans. I do not plan to give an early exam
for the convenience of those who want to leave campus
early.