From: Reply-to: Organization: Information Security Educators Mailing List Subject: Information Security Educators Mailing List 1998-10-05

From:fred at
Date: Oct 5, 1998 03:48:26 PST

To get things going, I thought I might introduce a small exercise that I
have introduced to students as a first assignment in understanding the
issues behind 'secure' programming.  I was wondering if others on the
list had particularly interesting assignments that they would like to
tell the rest of us about, or if anyone on the list might be interested
in discussing solutions to this exercise and its effectiveness as a
learning tool.

As an aside, I figure that after you understand all the issues related
to the problem and if you're a good and cleaver programmer, you should
be able to write a credible program that solves it in a few hours. 
Proving that this solution is correct might take a year or two beyond


Write a "secure" program to add a finite list of numbers up where
"secure" means:

	It always gives the correct answer.

	It only reveals the sum of the numbers as output - and nothing
	about the list that generated those numbers.

	If it starts running it is guaranteed to complete its task (unless
	the system crashes) - even if it is operating in a timesharing
	environment (but one with a fair scheduler and where memory of
	one program is not overwriten by another program without

	If you need to specify anything else related to this problem,
	do so and meet that specification with your program..