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

https://github.com/botti01/cryptography

This Repository is based on the "Cryptography" course @polito, it provides a foundational introduction to cryptography, focusing on state-of-the-art cryptographic algorithms essential for computer system security.
https://github.com/botti01/cryptography

c capture-the-flag cryptography openssl python

Last synced: 10 days ago
JSON representation

This Repository is based on the "Cryptography" course @polito, it provides a foundational introduction to cryptography, focusing on state-of-the-art cryptographic algorithms essential for computer system security.

Awesome Lists containing this project

README

          

# Cryptography

This repository contains the code developed for the Cryptography course exercises at Politecnico di Torino.

## Overview
This repository includes implementations of various cryptographic algorithms and techniques in both C and Python, following the course structure:

- **C Programming with OpenSSL:**
Implements symmetric and asymmetric cryptographic primitives, hash functions, MACs, and security protocols.

- **Python Implementations:**
Focuses on cryptographic primitives and security analysis.

## Environment Setup
The reference environment for these exercises is:

- Kali Linux 2024.3 or later
- Python 3 interpreter with required packages
- OpenSSL along with its development libraries

While it may be possible to use other platforms, all implementations have been tested on the specified environment.

## Resources
For further learning and additional reference materials, consider:

- [OpenSSL Documentation](https://www.openssl.org/docs/)
- [Python Cryptography Library Documentation](https://cryptography.io/en/latest/)
- Course materials available on GitHub: [Cryptography Course Exercises](https://github.com/aldobas/cryptography-03lpyov-exercises)

## Learning Objectives
This repository is designed to achieve the following educational goals:

- Improve programming skills through practical cryptographic implementations
- Deepen understanding of both constructive and analytical approaches in cryptography
- Translate theoretical concepts into real-world, working code
- Develop proficiency in two key languages for security work:
- **C:** For high-performance and customized cryptographic solutions
- **Python:** For rapid prototyping and security analysis