Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/ayu-ano/crypto_algos


https://github.com/ayu-ano/crypto_algos

Last synced: 4 days ago
JSON representation

Awesome Lists containing this project

README

        

# 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](#introduction)
- [Features](#features)
- [Usage](#usage)
- [Examples](#examples)
- [Requirements](#requirements)

## 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.

```bash
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.