CS 276: Cryptographics Systems

Spring 2025, Willamette College, Salem

TTh 1450-1620, "Salem TBD"

Syllabus

Instructor

Calvin Deutschbein

ckdeutschbein@willamette.edu

Ford 3rd Floor

Course Description

A semester-long study of topics in Computer Science that specifically includes a collaborative programming project that applies or extends the content of CS 152 or more advanced classes.

Systems research joins together the theory and the practice of computing, and cryptography is a perfect microcosm of this dynamic. As a guided study of low-level implementation of computer systems, this course will study the RSA and SHA cryptographic at once in theory and practice, and then build these cryptographic elements into emergent systems using data structures and algorithms such as Merkle trees and blockchains.

CS 540: Cybersecurity

Spring 2025, School of Computing and Information Sciences, Portland

Th 1800-2100 GPC 212, 1hr asynchronous

Syllabus

Instructor

Calvin Deutschbein

ckdeutschbein@willamette.edu

Ford 3rd Floor

Course Description

Cybersecurity can be understood as a mindset or approach rather than a subfield of computer science, such as secure mobile computing, network and operating system security, secure data bases, and secure cryptography algorithms. This course prepares a general audience to incorporate security concepts and ethics into their daily lives and offers some basic familiarity with writing security oriented code.

Week Talk Demo VoDs HW's
Part 0
0x0 (13 Jan) Podman Alpine Cipher Enigma
Part 1: Cryptography
0x1 (20 Jan) C89/99 Printb x86-64 Macros
0x2 (27 Jan) SHA256 Resist GPGPUs SHAinC
0x3 (03 Feb) Modulo BigNum Turing Euclid
0x4 (10 Feb) KeyGen RSA.py Qiskit RSAinC
0x5 (17 Feb) Hashes Arrays Caches Linear
0x6 (24 Feb) AES128 Tables Galois Review
0x7 (03 Mar) Review Midtrm
Part 2: Cryptocurrency
0x8 (10 Mar) Chains struct object PyList
0x9 (17 Mar) Blocks min.py CDwork Proofs
0xA (24 Mar) Spring Breaks Spring Breaks
0xB (07 Apr) Graphs B-tree xorlst heap.c
0xC (14 Apr) Merkle Wallet airgap TxTree
0xD (21 Apr) Server Client NLynch

Setup

"Cheat Sheets":

This course will be conducted via Podman containers on a host machine.

This course will use GitHub to distribute source code.

This course will use vim to edit code.