CIS Logo SVC Logo

   Computing & Information Systems
   Department

 

Schoology Facebook        Search CIS Site      Tutorials

CS 375 Syllabus



Applied Cryptography



Fall 2017



CIS Department



Saint Vincent College



General Information

  • 3 credits
  • Prerequisite: One course from the list CS 170, MA 109, MA 111 as well as one course from the list CS 110, CS 270.
  • Instructor: Brother David Carlson
  • Office: Dupre Science Pavilion, Tenley Hall W217
  • Office hours:
    • Mon, Wed, Fri 9:30 - 10:10 am
    • Tue 10:00 - 11:20 am
    • Tue, Thurs 12:30 - 2:00 pm
    • Mon 2:00 - 4:00 pm
    • and by appointment
  • Phone: 724-805-2416 or extension 2416 on campus
  • Email: david.carlson@stvincent.edu
  • Text: Cryptography and Network Security: Principles and Practice, 7th ed., William Stallings, Pearson Education (20217), ISBN 978-0-13-444428-4
  • The CIS lab in W214 of the Dupre science pavilion will be available according to this schedule that will also be posted on the bulletin board outside our lab.

Description

This course presents sufficient number theory and algebra to describe common cryptographic systems. Course topics include the German Engima machine, DES, the RSA cryptosystem, discrete logarithms, the ElGamal cryptosystem, and possibly others. Students will use computer software to solve cryptography problems and will write their own software to handle some types of cryptography, cryptanalysis, etc. Mathematica may be used to solve some of the problems. Students will be asked to implement several cryptographic algorithms using C++ in Linux with the aid of the BigInt package. Some of these algorithm implementations might be done as group projects. Common applications of cryptography such as key distribution, digital signatures, and cryptocurrencies will also be studied, as well as some of the methods of attacking cryptosystems.

Why Take This Course?

This course is a CIS elective for CIS majors, and the new cybersecurity major requires this course. For other students it is a general elective. The course shows the mathematics, computer science, and engineering behind cryptography and its uses. Students will have the opportunity to develop or use cryptographic software. They will also experiment with breaking encrypted messages. For some, the course might lead to further study and a possible career in this field.

The Text

The text will be used throughout much of the course, though we will not attempt to cover all of it. Materials taken from other sources will be used to supplement the text.

Core Goals

This course contributes especially toward the following core curriculum goals, listed in order of emphasis. Writing good mathematics and computer code in the solution of problems is the key communication skill for this course,

  1. To form habits of ordered inquiry, logical thinking, and critical analysis
  2. To develop mathematical skills and quantitative literacy
  3. To develop effective communication skills
  4. To foster historical awareness (of the field of cryptography)

CIS Department Student Outcomes

This course contributes mainly to the following desired departmental student outcomes in order of emphasis.

  1. An ability to apply knowledge of computing and mathematics appropriate to the discipline
  2. An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
  3. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  4. An ability to use current techniques, skills, and tools necessary for computing practice
  5. An understanding of professional, ethical, legal, security and social issues and responsibilities
  6. An ability to analyze the local and global impact of computing on individuals, organizations, and society

Course Goals and Means of Assessment

Specific course goals include the following. These goals will be assessed by means of homework assignments, short projects, and exams. Informal student comments are also considered.

  1. By the end of the course, the student should be able to understand the mathematics of each cryptosystem that was studied in detail and to implement parts of them in computer software.
  2. By the end of the course, the student should be able to solve cryptographic problems of average difficulty of the types covered in the course. (For example, cracking moderately secure encryption or showing small examples of the calculations used in a certain cryptosystem.)
  3. By the end of the course, the student should be able to explain how cryptography is used in several of the important application areas and why this matters in the real world.

Methods Used to Reach These Goals

Lectures, demonstrations, class activities such as experiments, moderate-length projects (possibly done in small groups), and class discussion are used to assist students in mastering the course material. Homework assignments are designed to allow students to grow in their understanding of the topics at hand. Exams provide an opportunity for students to demonstrate what they have learned.

Grading and Course Policies

  • 34% Homework and Projects
  • 33% First Exam
  • 33% Final Exam

Letter grades will be given using the scale found in the College Bulletin. Exams will be announced in advance and will be closed-book, pencil and paper exams in nature, except that you may use two two-sided 8.5 in. x 11 in. page of written notes of any kind. Thus, on exams, only the test paper, calculators, the two pages of notes, pens, pencils, and erasers may be used. Cell phones, tablets, laptops, and similar devices should be turned off and put away. Calculators may be used on exams but are not to be shared among students.

All written work is expected to be written using good English and mathematics. This is intended to help the student to develop good written communications skills. Software assignments will be graded using the following rubric:

  1. 45% Correctness (meets its specifications)
  2. 15% Good program design
  3. 15% Clarity, style, and readability
  4. 15% Good documentation
  5. 10% Efficiency

Both the instructor and students are expected to do their best to produce a good class and to treat each other with respect. This includes many factors, such as listening when someone else is speaking, trying to understand what others are saying, being of assistance to others, etc. It definitely does NOT include making fun of others. On a practical level, do your best to improve your grade: read the course materials, attend class, do the labs and homework, ask questions, and try to answer questions in class! Computer science requires active participation and repeated practice. If you begin to feel lost, consult one of the tutors, see the instructor, or work through the difficulties with the help of another student in the course. Do not let yourself get behind. In fact, one key to academic success is to start early on homework and other tasks. Last-minute miracles seldom work, particularly with software development! Note in particular that attendance is expected. Student performance is bound to deteriorate when classes are missed. Partly in order to emphasize the importance of attendance, the policies outlined after this paragraph will be used.

  1. If the student does not attain an overall passing test average, a failing grade will be received for the course.
  2. Each unexcused class absence after the first 3 results in 1.5 percentage points being deducted from the final course grade.
  3. Arriving late for class or leaving early (without a proper excuse) is counted as 1/2 of an absence.
  4. An unexcused absence from an exam results in the failure of the course.
  5. Unexcused absence from more than one-third of the semester's classes results in the failure of the course.
  6. Attendance is used to decide borderline grades at the end of the semester.
  7. Unexcused absence from class results in a grade of zero for any graded activity done in that class.
  8. Late work is not accepted unless resulting from an excused absence, but partial credit is given for incomplete homework that is submitted on time.
  9. Written documentation (such as a note from a doctor's office or coach of one's sports team) is normally required for an absence to be excused. Always bring a copy of such a note to give to your instructor when you can do so. In special circumstances, check with your instructor, as it is not always possible to get documentation.

Missed in-class activities should be made up as they are designed to teach important aspects of the course. For an excused absence, the makeup will be graded normally. For an unexcused absence, the activity (whether made up or not) will receive a grade of zero. Make-up exams are strongly discouraged. If possible, take the regularly scheduled exam. For an excused absence or other significant reason, the instructor may agree to give a make-up exam. Whenever possible, see your instructor ahead of time if you know you must miss an exam (e.g. due to sports). Normally some type of written documentation is required (such as a note from the coach, doctor, etc.). If the documentation or reason for missing an exam is poor, the student can count on receiving a significantly more difficult exam, if one is given at all! Do ask about a makeup exam if you have a good reason to miss an exam, even if documentation is not readily available, as it is understood that illnesses and other complications do happen.

Tests will ask critical thinking questions that require careful analysis, explanation, and conclusions. You might be asked to solve a problem that requires some mathematics, to write a section of code, to analysis a security issue, etc. Homework and projects will be of various types. Some will be programming projects, others will be experiments using existing software, and others might require some analysis using mathematics, computer science, or security principles. Watch Schoology for details of assignments, their due dates, etc.

Every assignment should list all sources that contributed to the solution. This would include the individual student (or the group members on a small group project). It may also include the instructor, a reference book, a web site, etc. One student or group should not consult another student or group in the class. If you need assistance beyond simple clarification of the description of the assignment, consult is the instructor. You may not look at the work of another student (or group) in this course or show yours (even a part of it) to another studenti (or group) in the course. You may not work out an assignment with one or more other students from the course (who are not in your group, for a group project). If you break one of the conditions spelled out in the last two sentences, then this is a case of plagiarism. See the next paragraph for how this gets handled and the possible consequences.

Intellectual honesty is important at Saint Vincent College. Attempts to pass off the work of another as one's own will result in action appropriate to the seriousness of the situation. If there is some doubt as to whether you (either an individual or a small group) did an assignment yourself, you may be asked to explain the results. If you can do so, that provides good evidence that you did do the assignment yourself. All cases of apparent intellectual dishonesty will be referred to the administration. If the administration does not say what to do about the grades in such a case, the first offense will involve a significant grade penalty (such as a grade of zero) on the assignment, while a second offense may result in failure of the course. In this course, students are expected to do entirely their own work on tests and assignments, while group work should be done separately by the individual groups. Submissions that are unduly similar (which means that a prudent individual would reasonably conclude that the assignments were done by the same person or collection of persons) will be reported to the administration as likely cases of plagiarism. If you really do your own work, you will not produce something that is unduly similar to someone else's work.

Be sure to read and follow the CIS Department Policies, available under the CIS Department web site. (This statement covers especially the proper use of departmental computing facilities, policies concerning your web pages, academic honesty, etc.) Be sure to read the Regulations section of the College Bulletin (which covers such things as grading, academic honesty, etc.) and the Student Handbook (which covers academic honesty, classroom etiquette, etc.).

Students with disabilities who may be eligible for academic accommodations and support services should contact Ms. Marisa Carlson, Director of Academic Accommodations and Academic Advisor, by phone (724-805-2828), email (marisa.carlson@stvincent.edu) or by appointment (Academic Affairs-Headmasters Hall). Reasonable accommodations do not alter the essential elements of any course, program or activity. The Notification of Approved Academic Accommodations form indicates the effective date of all approved academic accommodations and is not retroactive.

If the instructor needs to cancel class, every effort will be made to send an email message to students' Saint Vincent email accounts.

Maintained by: Br. David Carlson
Last updated: August 26, 2017
Disclaimer