Symmetric Ciphers (AES, ChaCha20)
Symmetric Ciphers (AES, ChaCha20) in Cybersecurity and Cryptography: implementation patterns, named pitfalls, and the autograder cases that catch them.
Computer Science Foundations
Symmetric and asymmetric ciphers, hash function analysis, TLS 1.3 handshakes, vulnerability exploitation in pwnable lab environments, and secure-coding patches. The most graded Stanford CS155 lab failure is reusing an AES-CBC initialization vector across two messages, the leak our tutors annotate with the exact xor-of-plaintexts attack. Verified CS graduates from BITS Pilani, Georgia Tech, and Purdue, starting at $20 per task, 12-hour average turnaround.
Why Cybersecurity and Cryptography
Security sits at the adversarial edge of every other CS subject. Cryptography turns data structures into ciphertext, networks into authenticated channels, operating systems into sandboxed execution environments, and software engineering into a discipline of input validation and least privilege.
Topics covered
Symmetric Ciphers (AES, ChaCha20) in Cybersecurity and Cryptography: implementation patterns, named pitfalls, and the autograder cases that catch them.
AES Modes (ECB, CBC, CTR, GCM) in Cybersecurity and Cryptography: implementation patterns, named pitfalls, and the autograder cases that catch them.
Public-Key Cryptography (RSA, ECC) in Cybersecurity and Cryptography: implementation patterns, named pitfalls, and the autograder cases that catch them.
Diffie-Hellman Key Exchange in Cybersecurity and Cryptography: implementation patterns, named pitfalls, and the autograder cases that catch them.
Hash Functions (SHA-256, SHA-3, BLAKE3) in Cybersecurity and Cryptography: implementation patterns, named pitfalls, and the autograder cases that catch them.
MAC and HMAC in Cybersecurity and Cryptography: implementation patterns, named pitfalls, and the autograder cases that catch them.
Full overview
Security sits at the adversarial edge of every other CS subject. Cryptography turns data structures into ciphertext, networks into authenticated channels, operating systems into sandboxed execution environments, and software engineering into a discipline of input validation and least privilege. Standard cybersecurity courses cover 8 named topic areas: classical and modern symmetric ciphers (DES, 3DES, AES with ECB, CBC, CTR, GCM modes), public-key cryptography (RSA, ElGamal, ECC over P-256 and Curve25519), hash functions and MACs (SHA-256, SHA-3, HMAC, Poly1305), authenticated key exchange (Diffie-Hellman, TLS 1.3 handshake, signal protocol), web vulnerabilities (XSS, CSRF, SQL injection, SSRF, deserialization), binary exploitation (stack overflow, return-oriented programming, heap exploitation, format string bugs), authentication and access control (passwords, MFA, OAuth 2.0, capability systems), and applied cryptography pitfalls (IV reuse, padding oracle, timing attacks, weak randomness).
Stanford CS155, CMU 18-487, MIT 6.857, Berkeley CS161, and Georgia Tech CS 4235 each spend 13 to 15 weeks on these topics with Boneh-Shoup or Katz-Lindell for crypto theory and Stamp or Anderson for systems security. The teaching format splits roughly 50-50 between homework problem sets (proof-based crypto questions, hash collision analysis, attack-scenario reasoning) and hands-on labs (Capture the Flag binaries, pwnable challenges, web exploitation labs hosted on platforms like picoCTF, OverTheWire, and HackTheBox). CS155 ships a 6-project sequence covering buffer overflow exploitation, return-oriented programming with pwntools, web XSS plus CSRF, side-channel timing attacks, malware analysis, and a network security capstone.
CMU 18-487 grades cryptographic constructions against the IND-CPA and IND-CCA security games. Berkeley CS161 covers both crypto and systems security with a Capture the Flag final project. CSHH tutor matching for this subject draws from CS graduates with split backgrounds: former CTF competitors with binary-exploitation depth for the pwnable and reverse-engineering labs, plus formally-trained cryptographers comfortable with reduction-based security proofs for the theory side.
Our tutors deliver attack walkthroughs with exploit scripts in Python or pwntools, defense patches with explicit threat models, cryptographic implementations using libsodium or pyca/cryptography (never homemade primitives in production), and security analyses framed against the relevant attacker model. Languages supported: C and C++ for binary exploitation labs, Python for cryptographic protocols and CTF scripting, JavaScript for web vulnerability assignments.
Where Students Get Stuck
ECB leaks structure (the classic Tux penguin demo), CBC requires unpredictable IV plus separate MAC, CTR is stream-cipher style requiring unique nonce, GCM authenticates and encrypts in one pass but reuses nonce catastrophically. We pick GCM for new code, document the nonce-uniqueness invariant explicitly, and use a 96-bit random nonce or a 64-bit counter with strict atomicity guarantees.
Textbook RSA (no padding) suffers chosen-ciphertext attacks, small-message attacks with e equal to 3, and broadcast attacks across 3 different moduli. PKCS#1 v1.5 padding leaks Bleichenbacher oracle. OAEP padding is the textbook fix; RSA-PSS for signatures. We implement using pyca/cryptography or libsodium primitives, never raw modular exponentiation in production code.
Run checksec first to identify the active mitigations. No canary plus no NX permits classic shellcode injection. NX without ASLR permits ret2libc with known libc address. ASLR without PIE permits partial-overwrite or GOT-leak techniques. Full PIE plus ASLR plus stack canary requires an info leak (format string or out-of-bounds read) to derandomize before ROP can land. We document the bypass chain in the exploit script.
Find useful gadgets with ROPgadget or ropper, chain them to set up syscall arguments (rdi, rsi, rdx for x86-64 syscall ABI), then invoke a syscall (typically execve("/bin/sh", 0, 0)). pwntools simplifies offset calculation and chain assembly. We build ROP chains targeting libc when the binary itself lacks useful gadgets.
A server that returns distinguishable responses for "bad padding" vs "bad MAC" leaks 1 bit per query. With 128 to 256 queries per byte, an attacker decrypts arbitrary CBC ciphertext. The fix: encrypt-then-MAC with constant-time MAC verification, or use AES-GCM. We provide the attack script in Python plus the patched server with HMAC-SHA256 in constant time.
Content-Security-Policy with nonce-based inline scripts prevents reflected XSS. SameSite=Lax cookies plus CSRF tokens prevent state-changing CSRF. Parameterized queries via psycopg2 or SQLAlchemy ORM prevent SQL injection. Each defense covers a distinct attack class; we layer all 3 with explicit policy headers and a 1-page memo on the assumed attacker capabilities.
Where It Appears
| Context | What we cover | |
|---|---|---|
| Computer and Network Security (Stanford CS155, U of T CSC347, Manchester COMP38411, Edinburgh INFR11139, NUS CS5231, IIT Bombay CS628) | Six-project sequence: Linux privilege escalation via setuid binary; web XSS plus CSRF on a teaching app; network sniffing and spoofing; Bitcoin and blockchain; cryptography pitfalls including IV reuse; Capture the Flag. | Cybersecurity and Cryptography implementations with tests |
| Computer Security (Berkeley CS161, U of T CSC347, Manchester COMP38411, NUS CS5231, IIT Bombay CS628, Sydney INFO3617) | Covers cryptography, web security, network security, and software security in one course. Three projects: cryptography (implementing a secure file system on top of an untrusted server), web security (XSS, CSRF, SQL injection lab), software security (buffer overflow with shellcode). | Cybersecurity and Cryptography implementations with tests |
| Introduction to Computer Security (CMU 18-487, U of T CSC347, Edinburgh INFR11139, NUS CS5231, IIT Bombay CS628, ETH Zurich Information Security) | Heavy on systems security with assignments on memory-corruption exploitation, return-oriented programming, side-channel attacks, and trusted execution environments. Final project on a chosen security topic with a 6-page paper. | Cybersecurity and Cryptography implementations with tests |
| Network and Computer Security (MIT 6.857, U of T CSC2426, Edinburgh INFR11139, ETH Zurich Applied Cryptography, IIT Madras CS6500) | Formal cryptography focus with reduction-based proofs. Problem sets cover IND-CPA proofs for symmetric encryption, EUF-CMA proofs for MACs, the random oracle model, and lattice-based post-quantum cryptography. Final project on a research paper extension. | Cybersecurity and Cryptography implementations with tests |
| Introduction to Information Security (Georgia Tech CS 4235, U of T CSC347, Manchester COMP38411, NUS CS3235, IIT Bombay CS628) | Broad survey including risk management, cryptography basics, network security, software security, and security policies. Hands-on labs using SEED Labs from Syracuse University covering buffer overflow, SQL injection, and TLS analysis. | Cybersecurity and Cryptography implementations with tests |
| Generic Security (CS395 in the US, U of T CSC347, NUS CS3235, Manchester COMP38411, Sydney INFO3617, IIT Bombay CS628, used at 150+ universities) | Standard upper-division covering Stallings or Anderson textbook. Common assignments: implementing AES in ECB and CBC modes (with explicit warning about ECB image leakage), RSA key generation and signature verification, TLS handshake analysis from a Wireshark capture. | Cybersecurity and Cryptography implementations with tests |
Tutors Who Cover This Subject
PhD CS
1,200+ assignments completed
MS CS
980+ assignments completed
MS CS
750+ assignments completed
FAQ
Submit your assignment and get matched with a verified Cybersecurity and Cryptography tutor in 15 minutes.
Submit Your Assignment