https://github.com/ritu-thombre99/el-gamal-and-rsa-scheme-with-socket-programming
This program contains socket programming where communication between client and server is end-to-end encrypted by El-Gamal public-key encryption scheme.
https://github.com/ritu-thombre99/el-gamal-and-rsa-scheme-with-socket-programming
communication el-gamal el-gamal-with-socket-programming elgamal elgamal-encryption encryption encryption-algorithm encryption-algorithms encryption-decryption rsa rsa-algorithm rsa-cryptography rsa-cryptosystem rsa-key-encryption rsa-with-socket-programming socket-communication socket-programming
Last synced: 6 months ago
JSON representation
This program contains socket programming where communication between client and server is end-to-end encrypted by El-Gamal public-key encryption scheme.
- Host: GitHub
- URL: https://github.com/ritu-thombre99/el-gamal-and-rsa-scheme-with-socket-programming
- Owner: ritu-thombre99
- License: mit
- Created: 2020-11-22T18:21:42.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-09-07T05:45:07.000Z (about 1 year ago)
- Last Synced: 2024-09-07T06:43:40.683Z (about 1 year ago)
- Topics: communication, el-gamal, el-gamal-with-socket-programming, elgamal, elgamal-encryption, encryption, encryption-algorithm, encryption-algorithms, encryption-decryption, rsa, rsa-algorithm, rsa-cryptography, rsa-cryptosystem, rsa-key-encryption, rsa-with-socket-programming, socket-communication, socket-programming
- Language: Jupyter Notebook
- Homepage:
- Size: 48.8 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# El-Gamal and RSA Schemes implemented with-Socket-Programming
This program contains socket programming where communication between client and server is end-to-end encrypted by
+ 1. El-Gamal public-key encryption scheme
+ 2. RSA public-key encryption schemeFile el_gamal.py contains functions required for El-Gamal encryption scheme : get_primitive_root,key generation, encryption, decryption and some auxiliary functions to used in formatting input and output to encryption/decryption functions.
File rsa.py contains functions required for RSA encryption scheme : key generation, encryption, decryption and some auxiliary functions to used in formatting input and output to encryption/decryption functions.
client.ipynb and server.ipynb contain client side and server side code respectively.
To choose encryption scheme for communication, remove comment in import section for that correspending file (el_gamal.py or rsa.py)File 'El-Gamal Crypto-scheme.ipynb' is for demonstrating how El-Gamal works.
File 'RSA.ipynb' is for demonstrating how RSA works.Prime number of 84 bits (25 digits) is used.
gmpy2 was used to perform modular operations on large numbers.To install gmpy2 - https://anaconda.org/conda-forge/gmpy2
Download pyecm.py from https://github.com/martingkelly/pyecm which was used for finding prime factors of large numbers in a very less time.