Skip to main content

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)

Source distribution for sps-crypto 1.0.79
File Size Uploaded
sps_crypto-1.0.79.tar.gz 22.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sps-crypto 1.0.79
File Interpreter ABI Platform
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page