Skip to content

A Python class for: Symmetric Encryption: AES with a key derived from a password. Asymmetric Encryption: RSA key generation, encryption, and decryption. Key Management: Save and load RSA keys in PEM format.

Notifications You must be signed in to change notification settings

Mehdipoladrag/cryptography

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

CryptoManager

Python

Overview

This Python script implements a CryptoManager class for handling both symmetric and asymmetric encryption. It includes:

  • Symmetric Encryption: Uses AES with a key derived from a user-provided password via PBKDF2. Supports encryption and decryption of messages.
  • Asymmetric Encryption: Generates RSA keys, and supports encryption and decryption using RSA with OAEP padding.
  • Key Management: Functions to save RSA keys to and load them from PEM files.

Key Features

  • Derives symmetric keys from passwords and salts.
  • Encrypts and decrypts messages using AES and RSA.
  • Saves and loads RSA keys securely.

Installation

1- Clone the repository:

git clone https://github.com/Mehdipoladrag/cryptography.git

2- Create a virtual environment:

python -m venv .venv

3- Activate the virtual environment:

.venv\Scripts\activate

4- pip install -r requirements.txt:

pip install -r requirements.txt

About

A Python class for: Symmetric Encryption: AES with a key derived from a password. Asymmetric Encryption: RSA key generation, encryption, and decryption. Key Management: Save and load RSA keys in PEM format.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages