암호학을 입문하기 위한 기초 지식을 익히는데 매우 유용합니다. 이 Path를 수강하기 위해 따로 전공수준의 지식이 요구되지도 않으며 누구나 편하게 도전하기 좋은 Path라고 생각합니다.
Cryptography
Learn the key concepts in cryptography, from the fundamental theory to real-world attack techniques, by implementing cryptographic algorithms with Python and SageMath. This Path aims to cover both theoretical and practical aspects of cryptography.
Cryptography
Learn the key concepts in cryptography, from the fundamental theory to real-world attack techniques, by implementing cryptographic algorithms with Python and SageMath. This Path aims to cover both theoretical and practical aspects of cryptography.
0% Completed
Total 0 completed
Lecture
0 /29
29
Wargame
0 /15
15
Quiz
0 /1
1
The Lab is a practice and is not included in the overall progress.
Why It's Worth Your Time
Cryptography is a fundamental technology for protecting information in all digital communications and authentication processes. Despite its importance, many find it difficult to approach due to the required mathematical background.
This Path aims to make cryptography accessible by systematically covering basic concepts and offering hands-on exercises using Python and SageMath. You will explore the structure and vulnerabilities of major cryptographic systems like block ciphers, public key cryptography, hash functions, and digital signatures, while also learning key attack techniques.
Topics Covered
- Basics of classical, symmetric, and public key cryptography
- Core mathematical principles using number theory and linear algebra
- AES and block cipher structure, CBC mode attacks (Padding Oracle)
- Internal workings and vulnerabilities of RSA and Diffie-Hellman
- Structure and attack methods for cryptographic hash functions and digital signatures
- Cryptographic analysis and implementation using Python and SageMath
Recommended For
- Those seeking a complete journey from cryptography basics to practical skills
- Those interested in understanding security algorithms at a deeper level
- Anyone wanting to experience cryptographic techniques and attack analysis
- People excited to combine math and programming in cybersecurity learning
Prerequisite Knowledge
- Basic programming skills, including Python
- Basic understanding of number theory and linear algebra
- Fundamental knowledge of encryption, decryption, and network security concepts
Unit Composition
- 1
- 2
- 3
- 4AESBlock Cipher: AES[Exercise] AES without SubBytesExploit Tech: AES without SubBytesNo sub please![Exercise] AES without ShiftRowsExploit Tech: AES without ShiftRowsNo shift please!Block Cipher Modes of OperationBlock ciphers and modes of operation[Exercise] CBC ModeExploit Tech: CBC ModeTextbook-CBC[Exercise] Padding Oracle AttackExploit Tech: Padding Oracle AttackPadding Miracle Attack
- 5Public-key CryptographyPublic-key Cryptosystem: RSA[Exercise] Common Modulus AttackExploit Tech: Common Modulus Attackuncommon eKey Exchange AlgorithmsKey exchange: Diffie-Hellman Protocol[Exercise] Man-in-the-middle AttackExploit Tech: Man-in-the-middle AttackTextbook-DH[Exercise] DLP with Smooth PrimesExploit Tech: DLP with Vulnerable PrimesHundre-d-log
- 6Explore cryptographic hash functions, their applications, and vulnerabilities in digital signatures.Hash FunctionsHash Functions[Exercise] Birthday ParadoxExploit Tech: Birthday Paradox40 Birthdays[Exercise] Length Extension AttackExploit Tech: Length Eextension AttackTextbook-HMACDigital SignaturesDigital Signatures[Exercise] Associated NoncesExploit Tech: Associated NoncesTextbook-DSA[Exercise] Signatures without HashingExploit Tech: Signature without HashingTextbook-DSA2
Reviews
0% Completed
Total 0 completed
Lecture
0 /29
29
Wargame
0 /15
15
Quiz
0 /1
1
The Lab is a practice and is not included in the overall progress.
