Skip to content

ayu-ano/Crypto_algos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Crypto_algos

Secure your data with the power of cryptography! This repository contains Python implementations of two powerful cryptographic algorithms: ElGamal Cryptosystem and RSA (Rivest, Shamir, Adleman) Algorithm.

Table of Contents

Introduction

In today's digital world, ensuring the security and privacy of data is paramount. Cryptography provides the tools necessary to achieve this, allowing for secure communication and data transmission over insecure channels. The Crypto_algos repository aims to demystify cryptography by providing clear and concise implementations of two fundamental cryptographic algorithms.

Features

  • ElGamal Cryptosystem: Encrypt and decrypt messages using the ElGamal Cryptosystem. This asymmetric encryption algorithm relies on the properties of finite fields and the discrete logarithm problem for its security.

  • RSA Algorithm: Harness the power of RSA encryption and decryption. This widely-used asymmetric encryption algorithm is based on the difficulty of factoring large prime numbers, ensuring secure data transmission.

Usage

To use the cryptographic functionalities provided by this repository, simply run the Python scripts included. Follow the prompts to input messages for encryption and decryption.

python3 elgamal.py
python3 rsa.py

Example:

  • ElGamal Cryptosystem
    Generate ElGamal keys and encrypt a message
    Enter the message: Hello, World!

  • RSA Algorithm
    Generate RSA keys and encrypt a message
    Enter the message: OpenAI is amazing!

Requirements:

  • Python 3.x

  • Standard Python libraries: random, math

This README file provides a structured overview of the project, its features, how to use it, examples, requirements. It uses headings, lists, code blocks, and emphasis to improve readability and visual appeal.

Releases

No releases published

Packages

No packages published

Languages