About CPSC/PMAT 418, Fall 2017

home -  about  -  schedule -  assignments -  latex -  handouts -  references -  Renate Scheidler

 Course Objectives

What would you want to see in a secure e-mail system? File transfer program? Social networking site? How do you guarantee that an e-mail originates from a legitimate sender and isn't a spoofing attempt? How can you ensure that your private files have not been accessed by unauthorized users? Or prevent hackers from tampering with your Facebook page? Cryptography works toward providing solutions to these types of questions.

The main objective of this course is to provide students with a thorough understanding of the fundamentals of and current best practices in cryptography. Students who have completed this course will have a solid grasp, including practical experience, of the basic cryptographic primitives and their proper usage. The learning outcomes for this course can be found on the course information sheets for CPSC 418 and PMAT 418, available on the handouts page.

 Required Knowledge and Skills

This course combines aspects from both mathematics and computer science. In addition to a sufficient level of mathematical maturity, knowledge of the following mathematical topics is assumed:

In addition, for CPSC 418, proficiency in the following is assumed:
 Body of Knowledge
 Development and Enhancement of Skills

The main primitives required for cryptographic applications will be presented during the lectures. Written problem-based assignment questions (for all students) will lead to further exploration of the underlying theory and of the practical and security issues. Programming questions (for CPSC 418 students) will provide hands-on experience in writing cryptographic software. Mathematical questions (for PMAT 418) will enhance students' in-depth understanding of the mathematical foundations. Writing assignments (for both courses) will hone students' technical and scientific writing skills as well as provide experience reading and assessing cryptographic literature.


For the written problems, the typesetting software LaTeX will be used. All the programming work required for this course will be done using Java.

 Learning Methods

This course is predominantly lecture-based. CPSC 418 will also have a tutorial; attendance of this tutorial by PMAT 418 students is optional, subject to space in the classroom. Students' skills will be developed the following methods:

 Beyond this Course

CPSC/PMAT 418 is highly suitable as a stand-alone course. In addition, CPSC 418 is a required course within the Concentration in Information Security offered as part of the BSc degree in Computer Science. The exact requirements for this concentration are listed at the end of Section 5.3.1 of the University calendar.

To find out more about research in information security and privacy conducted at the University of Calgary, visit the web page of ISPIA, the U of C's Institute for Security, Privacy and Information Assurance.

Last modified by Renate Scheidler