|
Computer Encryption Software Authors: Jeremy Hanzlik Suggested Courses: Computer Science Level: All I. Narrative Greg is a recently hired software engineer who has been recruited fresh out of college. For his first assignment, Greg's boss asked him to write a piece of software to provide some sort of security from "prying eyes" over e-mailed documents; these documents would be used internally by the company. This software will subsequently be distributed to different departments. Upon completion of his software project, he saw a program on the local news about an individual in California who has made similar software available overseas. This individual is currently under prosecution in a federal courts for the distribution of algorithms and information which (by law) must remain within the United States for purposes of national security. It occurs to Greg that his company is a multinational corporation (MNC) and that the software might have been distributed overseas. Greg discovers that the software has indeed been sent overseas to other offices within the corporation. Greg goes before his boss and informs his boss of the news program he has seen. Greg's boss shrugs off the topic and states, " The company is based in the United States and we are certainly no threat to national security in any way. There are just too many legislators and lawyers in the world. Besides, there's no way outsiders will find out about software we use internally." Greg agreed with his boss, and let it go. Later on however, Greg received a letter from a gentleman working as a contractor for his company overseas complimenting him on the software he wrote. Through some correspondence regarding the functionality of the software and technical matters, Greg learned the middle eastern office of his company has been supplying his software outside the company to contractors and clients so that they could exchange secure e-mailed documents. II. Numerical/Design Problem Question 1: Design and write a program to encrypt/decrypt a text file. (Additional specifications to be added by instructor dependent upon course level--e.g. language, level of encryption) III. Questions on Ethics and Professionalism Question 1: What are Greg's ethical responsibilities as the designer of the software? To his company? To himself? As a citizen of the United States? Question 2: Rank these responsibilities along with a brief explanation as to why you made your decision. Question 3: Write a proposal which can satisfy as many of Greg's obligations as possible. Explain why this is his best course of action. Class Discussion Question: Should a software engineer think about the implication of the material he/she is developing? Problem Variation II: I. Narrative Greg is a recently hired computer programmer who has been recruited fresh out of college. For his first assignment, Greg's boss asked him to write a piece of software to provide some sort of security from "prying eyes" over e-mailed documents for internal use by the American division of his company. Greg's boss was very pleased with his work and with the performance of Greg's software. He has sent letters to friends and managers within the company describing Greg's project. Some of the managers wanted to "borrow" Greg's time in order to customize software overseas at locations including Saudi Arabia, Singapore, and Thailand. Since business had slowed at the American offices, Greg's boss gave the O.K. and recommended that Greg perform some software coding for the other divisions. Later that evening, Greg saw a program on the local news about an individual in California who has made similar software available overseas. This individual is currently under prosecution in a federal court for the distribution of algorithms and information which (by law) must remain within the United States for purposes of national security. The next morning Greg mentioned the television program to his boss. His boss told Greg, "Oh, don't worry about those muckraking reporters; always trying to dig up dirt. By the way, did I mention that on your way to Thailand I planned for you to have a weekend layover at a nearby resort?" II. Numerical/Design Problem Question 1: Design and write a program to encrypt/decrypt a text file. (Additional specifications to be added by instructor dependent upon course level--e.g. language, level of encryption) III. Questions on Ethics and Professionalism Question 1: Define a bribe. Is Greg's boss offering him a bribe? Question 2: What are Greg's ethical responsibilities as the designer of the software? To his company? To himself? As a citizen of the United States? Question 3: Write a solution which can satisfy as many of Greg's obligations as possible. Explain why this is his best course of action. Class Discussion Question: Can a promotion or a perk be a bribe? IV. Solutions for Numerical/Design Problem The solution to this problem greatly depends upon additional specifications imposed by the instructions. An example of a problem for the freshman/sophomore level would be to construct a program which opens a file, reads one character at a time, increments the ASCII value by an arbitrary number, writes the character in a new file, and repeats. In a higher level course, the instructor could require the development of a more complex algorithm for the encryption process. (It might be interesting to introduce code breaking topics as well). V. Solutions for Ethics and Professionalism Questions Version I Question 1: (The following serve merely as examples; many more responsibilities can be asserted) Greg's responsibilities as a software engineer:
Greg's responsibilities to himself:
Greg's responsibilities as a citizen of the United States of America:
Question 2: There is no right or wrong answer to this question in so far as the student has provided justification for is answer. The following is an example:
Question 3: In a large company, as an MNC clearly is, there should be a legal department which employees can consult regarding legal questions. Greg has the option of speaking with a lawyer within that company, thus satisfying his loyalty to the company. However, in doing this, Greg must not forget about his responsibilities to himself and his family. Therefore it would not be appropriate to go behind his supervisor's back on the first go-round of the disagreement. Greg must avoid a messy confrontation with his boss if he is to continue to function well in his department. He could attempt to persuade his supervisor that he should check with the legal department before he even speaks with the lawyers, to ensure that both men are legally covered in what they do. In talking with the lawyers, Greg can develop allies to help convince his boss that the software must not be sent across international boarders. Therefore Greg presents as a helpful employee rather than a confrontional troublemaker. This would satisfy all three obligations mentioned in the answer to question 3. Version II Question 1: The definition of a bribe should not be taken from a dictionary. The purpose of this question is to help the student develop his own thoughts on the concept. A bribe could be loosely defined as anything of value given with intent to extract a favorable action from an individual. Is there a bribe involved in the promise of the layover stay in Thailand? This should probably be classified as a bribe for the following reasons. First, the layover is significant in value and has been introduced at a time when Greg must make an ethical decision. Second, there is a great possibility that the supervisor intends this to influence Greg's action. Third, even if it is not intended to be a bribe (and the supervisor is merely downplaying Greg's concerns), it still has the appearance of a bribe. In today's world of media, something not intended to function as a bribe, but having the appearance of a bribe, can greatly damage an individual's reputation. Question 2: There is no right or wrong answer to this question as long as the student has provided justification for his answer. The following is an example:
Question 3: The answer to question 3 from version I is appropriate here also. In addition, Greg should start sending out his resume, if he believes that he has indeed been offered a bribe. Certainly when a bribe has been offered, an individual is in a bad situation, and it would be better to find another position, where he will not be tempted to compromise his integrity. *From NSF Engineering Ethics with Numerical Problems. | BACK TO TOP | © 1997 National Society of Professional
Engineers |