Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nickory/cipher
Six cryptography experiments for the Application Cryptography course at NUIST(南京信息工程大学应用密码学), featuring GUIs for intuitive learning. Includes RSA, AES, Feistel networks and more
https://github.com/nickory/cipher
cipher nuist
Last synced: about 1 month ago
JSON representation
Six cryptography experiments for the Application Cryptography course at NUIST(南京信息工程大学应用密码学), featuring GUIs for intuitive learning. Includes RSA, AES, Feistel networks and more
- Host: GitHub
- URL: https://github.com/nickory/cipher
- Owner: Nickory
- License: other
- Created: 2024-11-26T03:33:43.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-02T11:10:56.000Z (about 2 months ago)
- Last Synced: 2024-12-02T11:40:49.026Z (about 2 months ago)
- Topics: cipher, nuist
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cipher - Application Cryptography Experiments
# 密码实验 - 应用密码学课程实验This repository contains a collection of six experiments required for the Application Cryptography course at Nanjing University of Information Science & Technology (NUIST). Each experiment is organized with a Graphical User Interface (GUI) to make the understanding and usage more intuitive. The experiments cover fundamental cryptographic concepts, and this project serves as a convenient tool for learning and improving cryptographic techniques.
本项目包含南京信息工程大学应用密码学课程所需的六个实验。每个实验都配备了图形用户界面 (GUI),以使其理解和使用更加直观。这些实验涵盖了密码学的基本概念,是学习和改进密码学技术的便捷工具。
## Features
- **GUI for each experiment**: Each cryptography experiment has been designed with a user-friendly interface, allowing for a more hands-on and visual experience.
- **Comprehensive collection**: The repository includes all six experiments from the course, providing a complete set of tools for learning application cryptography.## Experiments
### Experiment 1: Extended Euclidean Algorithm / 扩展欧几里得算法
- **Description**: Implement and verify the extended Euclidean algorithm. This experiment computes the greatest common divisor (GCD) of two integers and determines coefficients that satisfy Bézout's identity.
- **GUI Preview**:
![Experiment 1 GUI](images/experiment1-gui.png)### Experiment 2: Substitution Cipher / 单表密码
- **Description**: Implement substitution cipher encryption and decryption. Analyze the frequency of letters in ciphertext to explore its vulnerability to attacks.
- **GUI Preview**:
![Experiment 2 GUI](images/experiment2-gui.png)### Experiment 3: Playfair Cipher / Playfair密码
- **Description**: Implement and analyze the Playfair cipher, including its performance and avalanche effect.
- **GUI Preview**:
![Experiment 3 GUI](images/experiment3-gui.png)### Experiment 4: Feistel Algorithm / Feistel算法
- **Description**: Implement the Feistel encryption algorithm, test its security properties, and evaluate its avalanche effect.
- **GUI Preview**:
![Experiment 4 GUI](images/experiment4-gui.png)### Experiment 5: AES Algorithm / AES算法
- **Description**: Implement the AES encryption algorithm using Python's cryptographic libraries. Analyze its behavior in different scenarios, such as CTR mode.
- **GUI Preview**:
![Experiment 5 GUI](images/experiment5-gui.png)### Experiment 6: RSA Algorithm / RSA算法
- **Description**: Implement the RSA encryption algorithm. Generate large prime numbers, compute public/private keys, and evaluate the performance of encryption and decryption.
- **GUI Preview**:
![Experiment 6 GUI](images/experiment6-gui.png)## License
This project is licensed under the **Creative Commons Attribution-NoDerivatives (CC BY-ND)** license. You are free to share the code, but **you cannot modify it**. See the [LICENSE](LICENSE) file for details.## Acknowledgements
This project was developed for the **Application Cryptography** course at **Nanjing University of Information Science & Technology (NUIST)**. Special thanks to **Professor Zhiguo Qu** for his guidance throughout the project.
This project is funded by the **National College Student Innovation and Entrepreneurship Project**, Fund Number: **ZR2022MF338**. Special thanks to **Professor Baowei Wang** for his support.