Skip to main content

A library for various cryptography algorithms (Caesar, Hill Cipher.)

Project description

Cryptography Library

Python License Version

A Python library for implementing and working with various classical encryption algorithms. This library provides a collection of ciphers that you can use to encrypt and decrypt data in educational or practical cryptography-related projects.


Features

This library includes the following classical ciphers:

  • Caesar Cipher: A substitution cipher that shifts letters by a fixed number.
  • Monoalphabetic Cipher: A substitution cipher where each character is replaced by another character using a key.
  • Vigenere Cipher: A polyalphabetic substitution cipher that uses a keyword to encrypt data.
  • Vernam Cipher: A stream cipher that uses a key of the same length as the plaintext for encryption.
  • Playfair Cipher: A digraph substitution cipher that encrypts pairs of letters.
  • Hill Cipher: A cipher based on linear algebra that uses matrix multiplication for encryption.

Installation

You can install this library using pip:

pip install CryptoClasec

Usage

Here’s how to use the library in your Python project:

Import the Cipher Classes

from CryptoClasec import Caesar, Monoalphabetic, Vigenere, Vernam, Playfair, HillCipher

Example: Caesar Cipher

# Initialize the Caesar cipher with a shift value of 3
caesar = Caesar(3)

# Encrypt a plaintext
encrypted = caesar.encrypt("HELLO")
print("Encrypted text:", encrypted)

# Decrypt the ciphertext
decrypted = caesar.decrypt(encrypted)
print("Decrypted text:", decrypted)

Example: Vigenere Cipher

# Initialize the Vigenere cipher with a keyword
vigenere = Vigenere("KEY")

# Encrypt a plaintext
encrypted = vigenere.encrypt("HELLO")
print("Encrypted text:", encrypted)

# Decrypt the ciphertext
decrypted = vigenere.decrypt(encrypted)
print("Decrypted text:", decrypted)

Available Classes

1- Caesar:

caesar = Caesar(3)
caesar.encrypt(plaintext)
caesar.decrypt(ciphertext)

2- Monoalphabetic:

mono = Monoalphabetic("QWERTYUIOPLKJHGFDSAZXCVBNM")
mono.encrypt(plaintext)
mono.decrypt(ciphertext)

2- Vigenere:

vigenere = Vigenere("KEY")
vigenere.encrypt(plaintext)
vigenere.decrypt(ciphertext)

4- Vernam:

vernam = Vernam("RANDOMKEY")
vernam.encrypt(plaintext)
vernam.decrypt(ciphertext)

5- Playfair:

playfair = Playfair("KEYWORD")
playfair.encrypt(plaintext)
playfair.decrypt(ciphertext)

6- HillCipher:

hill = HillCipher([[2, 3], [1, 4]])
hill.encrypt(plaintext)
hill.decrypt(ciphertext)

License

This library is licensed under the MIT License. See the LICENSE file for more information.

Contributing

Contributions are welcome! Feel free to submit issues or pull requests to improve the library.

Author

Created by Ibrahem abo kila. For any inquiries, please contact me at ibrahemabokila@gmail.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cryptonous-1.0.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cryptonous-1.0.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file cryptonous-1.0.0.tar.gz.

File metadata

  • Download URL: cryptonous-1.0.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for cryptonous-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a1e6a9e2515a8e409b420602707f26ef3234c15c39b6136b3915aab8be08ea6c
MD5 3f0cf569d64ddcf2381b0abb369cc1d9
BLAKE2b-256 151c3848dba8097e771bb3f2b113ba513038994f732de0687faae34c2486624c

See more details on using hashes here.

File details

Details for the file cryptonous-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cryptonous-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for cryptonous-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0b7687e0cf2a38773f2b92cec9d5ca5cac0dac482acbe6a7680d881602e7b81
MD5 44354ed489dfcf37d5803eecc094828a
BLAKE2b-256 3ddb36e41f92848f249217f6f13224152f34314c2e9c68a4b32a78fa463a9bbb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page