sps-crypto
A Python library providing implementations of various cryptographic algorithms. This project includes classical ciphers, modern symmetric and asymmetric encryption algorithms, digital signatures, and related utilities. It is primarily intended for educational purposes and developers interested in exploring cryptography.
Note: This library is currently in Stable status (version 1.0.79).
Features
The library currently includes implementations for:
Classical Ciphers:
- Caesar Cipher
- Vigenere Cipher
- Playfair Cipher
Symmetric Encryption:
- DES (Data Encryption Standard)
- S-DES (Simplified DES)
- AES (Advanced Encryption Standard) - Currently includes MixColumns/InvMixColumns operations.
Asymmetric Encryption:
- RSA (Rivest–Shamir–Adleman)
- ElGamal Encryption System
Digital Signatures:
- RSA Digital Signature
- ElGamal Digital Signature
Key Exchange:
- Diffie-Hellman Key Exchange (including simulation of Man-in-the-Middle attack)
Utilities:
- Prime number generation and testing
- Primitive root finding
- Modular exponentiation and modular inverse
- Hashing (SHA-256 used internally for signatures)
- Text/Integer conversions for cryptographic operations
Networking:
- Basic client/server socket implementation (details in
examples/sockets.py)
Installation
You can install the library using pip:
pip install sps-crypto
Requires Python version 3.6 or higher.
Usage Examples Usage examples can be found in the examples directory
Project Links GitHub Repository: https://github.com/amspsingh04/sps_crypto Bug Reports: https://github.com/amspsingh04/sps_crypto/issues
Contributing Contributions, issues, and feature requests are welcome. Please refer to the GitHub repository and issue tracker.
Release files for sps-crypto 1.0.79
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sps_crypto-1.0.79.tar.gz | 22.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sps_crypto-1.0.79-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:41.3 kB
Release files / sps_crypto-1.0.79.tar.gz
| Download URL | sps_crypto-1.0.79.tar.gz |
|---|---|
| Size | 22.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
27589ddf767138433a2874c7e51b29a249ddb85a48fa742342ab5410d3d9c8fc
|
|
BLAKE2b-256 checksum How to use checksums |
68bb45f40a37c0f807d63552cbcc2d072d7e7216bb38c219be868912b92f90bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|
Release files / sps_crypto-1.0.79-py3-none-any.whl
| Download URL | sps_crypto-1.0.79-py3-none-any.whl |
|---|---|
| Size | 18.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4acca0470519b84a9b6a61b6a379204daf6bcb92bf6da13265ebc4231dc91f17
|
|
BLAKE2b-256 checksum How to use checksums |
d998c316b64f5f9407c4b1ecb540c5beacf05d616ca57b9a5ce61c3d5543297e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.7
|