Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hacker-code-j/cryptanalysis-lecture

2024-Spring "Introduction to Cryptanalysis"
https://github.com/hacker-code-j/cryptanalysis-lecture

caesar-cipher cryptanalysis rust vigenere-cipher

Last synced: about 1 month ago
JSON representation

2024-Spring "Introduction to Cryptanalysis"

Awesome Lists containing this project

README

        

# cryptanalysis-lecture
2024 Spring Introduction to Cryptanalysis

Welcome to the repository for our Cryptanalysis class, where we explore the fascinating world of cryptographic algorithms and their analysis. This course is designed for students interested in the principles of cryptography and the practical applications of cryptanalysis techniques. We use Python for our in-class demonstrations and exercises, and Rust for homework and review sessions to provide a comprehensive understanding of both scripting and systems programming in the context of security.

## Course Overview

This course covers various aspects of cryptanalysis, including historical ciphers, modern symmetric and asymmetric algorithms, hash functions, and cryptographic protocols. Through hands-on exercises, students will learn how to implement and attack cryptographic systems.

## Repository Structure

- **/lectures**: Contains slides and reading materials for each lecture.
- **/exercises**: Python notebooks and scripts used during in-class exercises.
- **/homework**: Homework assignments, primarily in Rust, for reinforcing concepts discussed in class.
- **/solutions**: Sample solutions for exercises and homework (access restricted to instructors).

## Getting Started

### Prerequisites

- Basic knowledge of programming in Python and Rust.
- Familiarity with basic concepts in mathematics and computer science.
- Installation of Python 3.x and Rust programming language.

### Setting Up Your Environment

1. Clone this repository to your local machine:
```bash
git clone https://github.com/yourusername/cryptanalysis-class.git
```
2. Install required Python dependencies:
```bash
pip install -r requirements.txt
```
3. Verify Rust installation and toolchain: >= 1.75.0
```bash
rustc --version
```

### In-Class Exercises
In-class exercises are designed to complement the lectures and provide hands-on experience with real cryptographic systems using Python. Navigate to the /exercises folder and follow the instructions in each notebook/script.

### Homework and Review
Homework assignments are intended to solidify your understanding of the course material through practical implementation and analysis tasks in Rust. Assignments can be found in the /homework folder.

### Contributing
We encourage contributions from students and educators! If you have suggestions for improvements or new content, please open an issue or submit a pull request.

### License
This project is licensed under the MIT License - see the LICENSE file for details.

### Acknowledgements
Special thanks to Professor Yeom Yongjin, and all the students and staff involved in the development of this course.