Welcome to the Cipher repository! This collection contains six experiments required for the Application Cryptography course at Nanjing University of Information Science & Technology (NUIST). Each experiment features an intuitive Graphical User Interface (GUI), making the learning process interactive and visually engaging. This repository is designed to help you explore and master key cryptographic techniques.
本项目包含南京信息工程大学应用密码学课程所需的六个实验。除扩展欧几里得算法,每个实验都配备了图形用户界面 (GUI),以便于直观的学习和实践。项目涵盖了密码学的核心实验,为学习和掌握密码学理论与实际应用提供了便捷的工具。
🎓 Course: Application Cryptography
🏫 University: Nanjing University of Information Science & Technology (NUIST)
🔑 Focus: Cryptographic algorithms and security techniques
- 🌐 User-Friendly GUI: Each experiment comes with an interactive interface, simplifying complex concepts and making cryptography more accessible.
- 🔎 Comprehensive Learning Tool: This project offers a deep dive into six cryptographic algorithms, ranging from classical ciphers to modern encryption standards.
- 📊 Data Visualizations: Visual representations of key results to help you better understand algorithm behavior and performance.
This experiment demonstrates the Extended Euclidean Algorithm, which computes the Greatest Common Divisor (GCD) and finds coefficients that satisfy Bézout's identity. The process is visualized step-by-step for a deeper understanding of how the algorithm works.
The following images showcase key results from this experiment:
Figure 1: Convergence of Values Figure 2: Step Count Heatmap Figure 3: Time Complexity Analysis Figure 4: Sensitivity Analysis
This experiment focuses on the Substitution Cipher. Learn how to encrypt and decrypt messages and explore its weaknesses through frequency analysis of ciphertexts.
Figure 1: Visualization 1 Figure 2: Visualization 2 Figure 3: Visualization 3
The Playfair Cipher experiment demonstrates both the encryption and decryption processes. It also evaluates the avalanche effect, where small changes in input lead to large variations in output.
Figure 1: Visualization 1 Figure 2: Visualization 2 Figure 3: Visualization 3
In this experiment, you’ll implement the Feistel Cipher, a structure used in many symmetric encryption algorithms. We will test its avalanche effect and its security against differential cryptanalysis.
Figure 1: Visualization 1 Figure 2: Visualization 2 Figure 3: Visualization 3
This experiment focuses on implementing the Advanced Encryption Standard (AES). Using Python’s cryptographic libraries, we analyze AES in CTR (Counter) mode, including performance metrics.
The RSA Algorithm experiment explores public-key encryption, including key generation, encryption, and decryption. We’ll also analyze RSA’s performance and security.
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. For more details, see the LICENSE file.
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, and supported by Professor Baowei Wang.
To install and run the experiments locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Nickory/Cipher.git
-
Navigate to the project directory:
cd Cipher
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the experiments:
python experiment1.py # For the first experiment python experiment2.py # For the second experiment # Repeat for other experiments
@misc{wang2025cipher,
author = {Wang, Ziheng},
title = {Cipher - Application Cryptography Experiments},
year = {2025},
howpublished = {GitHub repository},
url = {https://github.com/Nickory/Cipher},
note = {Developed for the Application Cryptography course at Nanjing University of Information Science \& Technology (NUIST), supervised by Professor Zhiguo Qu and supported by Professor Baowei Wang. Funded by the National College Student Innovation and Entrepreneurship Project, Fund Number: ZR2022MF338},
institution = {Nanjing University of Information Science \& Technology (NUIST)},
license = {Creative Commons Attribution-NoDerivatives (CC BY-ND)}
}
Feel free to fork the repository, make improvements, and submit pull requests. Your contributions are always welcome!
For any questions or suggestions, feel free to reach out to the project maintainers:
- Ziheng Wang (Author)
- Email: zhwang@nuist.edu.cn
- University: South East Technological University, Ireland