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. A commonly graded crypto-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, 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).
A typical security course spends 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). Hands-on security courses ship a multi-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.
Theory-leaning crypto courses grade cryptographic constructions against the IND-CPA and IND-CCA security games. Combined courses cover 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.
Assignment Types
AES in ECB, CBC, CTR, and GCM with IV and nonce management and library-backed primitives. Named pitfall: reusing a GCM nonce across two messages, which leaks the authentication key and forges arbitrary ciphertext.
RSA key generation, OAEP encryption, and PSS signatures plus small-exponent and padding-oracle attack analysis. Named pitfall: textbook RSA with e equal to 3 on a short message, recoverable by a plain cube root with no modular reduction.
Stack smashing, ret2libc, and ROP chains built with pwntools after a checksec mitigation survey. Named pitfall: skipping the info leak under full ASLR and PIE, so the ROP chain lands on a randomized address and crashes.
XSS, CSRF, SQL injection, and SSRF exploitation paired with layered defenses (CSP, SameSite cookies, parameterized queries). Named pitfall: blocklist input filtering that a single encoding variant slips past, leaving the injection open.
AES-CBC padding-oracle decryption, hash length-extension, and authentication-protocol analysis under an active attacker. Named pitfall: a server that returns distinct errors for bad padding versus bad MAC, leaking one plaintext bit per query.
Reduction-based IND-CPA and EUF-CMA proofs plus Capture the Flag work across web, pwn, crypto, and reverse-engineering. Named pitfall: a strcmp token comparison that returns early on the first mismatch, leaking the matching prefix through timing.
TLS 1.3 handshake analysis, password hashing with Argon2id, OAuth 2.0 flows, and threat-modeled defense patches. Named pitfall: JWT algorithm confusion (alg=none or RS256 verified as HS256), which lets an attacker forge a valid token.
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