Please enable JavaScript.
Coggle requires JavaScript to display documents.
Cryptography and Network Security - Coggle Diagram
Cryptography and Network Security
Syllabus Review
Memory Management Basics
Memory Allocation and Deallocation
Virtual Memory and Paging
Review of Assembly
Assembly basic functions
Registers and Instruction Sets
Recognizing C and C++ constructs in Assembly
Control Structures and Loops
Functional calls and parameter passing
Using GDB to reverse engineer code
Debugging and analyzing binaries
Stepping through code and examining memory
Buffer Overflows
Understanding system calls in Linux
Process control and system calls
File operations and I/o syscalls
Shellcode
Crafting and injecting malicious code
Exploiting buffer overflow vulnerabilities
Global Offset Tables
Understanding symbol resolution in ELF
Exploiting GOT-based vulnerabilities
Format Strings
Understanding format string vulnerabilities
Crafting and exploiting format string attacks
ELF Executable Format
SQL and SQL Injection
SQL injection attacks and prevention
Basics of SQL and database management
Data Execution Prevention
Understanding and bypassing DEP
Mitigating memory-based exploitation
Return Oriented Programming
ROP Chains and Gadget Selection
Crafting Payloads using ROP
Defenses against ROP attacks
Network Vulnerabilities
Port Scanning
Techniques for scanning network ports
Identifying open ports and services
Fuzzing
Generating malformed inputs to trigger crashes
Fuzzing techniques and tools
ARP Poisoning
ARP Protocol overview and vulnerabilities
Performing ARP poisoning attacks
Cryptography Basics
Introduction to Cryptography
History and Goals of Cryptography
Types of cryptography: symmetric, asymmetric, hashing
Discrete Logarithms
Understanding logarithms in finite fields
Diffie-Helman key exchange
Security Levels
Symmetric key lengths and entropy
Asymmetric key lengths and security algorithms
Number Theory
Basics of Number Theory
Prime numbers and factorization
Modular arithmetic
Fermat and Euler's theory
Fermat's little theorem and Euler's totient function
Applications in Cryptography
Block ciphers
Block ciphers
AES
DES
Modes of operations: ECB, CBC, CTR, etc.
Padding
PKCS#5, PKCS#7, and ISO/IEC 7816-4
Padding o2xracle attacks
Padding schemes for block ciphers
Bit flipping attacks on CBC mode
Hashing
MD5
SHA1
SHA256
Message Authentication Codes
Hashed Message Authentication Codes
HMAC, CMAC, and their properties
MAC forgery attacks
Public Key Infrastructure
Dream
Security
Authenticity
Trust
Reality
Complexity
Certificate Management
Key Revocation
Invalidation of issued key pair
To improve security or when key is compromised
Practicalities
Key Management
Trust Model
Certificate Authorities
Key Lifetime
Duration of validity
Can be renewed after lifetime
Public Key Cryptography
Diffie-Hellman
Key exchange and shared secrets
Man-in-the-middle attacks
RSA
Key generation, encryption and decryption
Attacks on RSA: factorization, timing, etc
Elliptic curve cryptography
Elliptic curve math and point operations
ECC key generation, encryption, and signatures validation
Digital signatures
Hashing, singing and verifying
RSA-based signatures
Certificates
X.509 certificate structure and fields
Certificate authorities and trust chains