Skip to main content
AUTHOR: Marc Santiago
EMAIL: marcanthonysanti@gmail.com

This kit is intended to provided users with quick and simple forms of encryptions. Some modules like
HideMessageInImage and CaesarCipher, while not very strong forms of encryption are provided for the
sake of having them easily available and for fun :-).

USAGE:
External Modules Required
-------------------------------------------------
-------------------------------------------------
pyminizip, PIL, and easygui
All these modules can be installed via the pip command

[pip install pyminizip] or [pip3 install pyminizip]
[pip install Pillow] or [pip3 install Pillow]
[pip install easygui] or [pip3 install easygui]


Import Modules
-------------------------------------------------
-------------------------------------------------
from Cryptokit.OneTimePadEncryption import encrypt_data, decrypt_data
from Cryptokit.CaesarCipher import c_encipher, c_decipher, brute_force_decrypt
from Cryptokit.VigenereCipher import v_encipher, v_decipher, v_dictionaryattack
from Cryptokit.HideMessageInImage import hide_or_show_message


Description of Methods:
-------------------------------------------------
-------------------------------------------------

Module --> OneTimePadEncryption
-------------------------------

encrypt_data(plain_text, string_file_mode=False) --> Takes plain text as either a string
or a text document and returns a key file and encrypted message file. Date times are used to match
the key file with the encrypted message file.

decrypt_data(key, encrypted_string, key_file_mode=False, string_file_mode=False)
--> Takes a key and an enencrypted message as either a text document or a file. It will return the
plain text document assuming the right key is supplied.

Module --> CaesarCipher
-------------------------------

c_encipher(plain_text, key, plain_text_file_mode=False) --> Plain text is shifted up by the key
provided. The key must be in the range of 1-26.

c_decipher(cypher_text, key, cypher_text_file_mode=False) --> Cipher text is shifted by the key
provided. The key must be in range of 1-26. The key must be the same key used to encipher other
wise garbage data will be returned.

brute_force_decrypt(cypher_text, cypher_text_file_mode=False) --> This will attempt to return the
key used and the plain text translation of the enciphered text.

Module --> VigenereCipher
-------------------------------

v_encipher(plain_text, key, file_mode=False) --> Plain text is enciphered using the given key
provided key. The key that is provided must be in a string containing only English characters.

v_decipher(cipher_text, key, file_mode=False) --> Cipher text is deciphered using the key that was
used to encipher the message. The key that is provided must be in a string containing only English
characters.

v_dictionaryattack(cipher_text, dictionary_file="helper_files/dictionary.txt", file_mode=False,
percent_match=55) --> Function that takes cipher text either as a string or as a text file and trys
and returns the plain text message. Things to note; the dictionary_file argument is passed a default
dictionary, which is used to try and crack the cipher text. The percent_match arugument is used to
specify how close the deciphered message has to be to English, see the detectEnglish module located
in the helper_files folder for more information.


Module --> HideMessageInImage
-------------------------------

hide_or_show_message() --> This will prompt the user to type in a message. It will return a png file with
your message hidden inside. Run the function again to if you want to decrypt a png file.


COMMAND LINE TOOLS HAVE BEEN PROVIDED FOR CONVENIENCE:
------------------------------------------------------
------------------------------------------------------

FILE NAME: otp_utility.py
FILE LOCATION: https://github.com/marcsantiago/CryptographyKit/blob/master/otp_utility.py

FILE NAME: c_cipher_utility.py
FILE LOCATION: https://github.com/marcsantiago/CryptographyKit/blob/master/c_cipher_utility.py

FILE NAME: v_cipher_utility.py
FILE LOCATION: https://github.com/marcsantiago/CryptographyKit/blob/master/v_cipher_utility.py

Metadata

Release files for CryptographyKit 2.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for CryptographyKit 2.0.3
File Size Uploaded Provenance Actions
CryptographyKit-2.0.3.tar.gz 145.2 kB Without provenance Details for CryptographyKit-2.0.3.tar.gz

Release files / CryptographyKit-2.0.3.tar.gz

Download URL CryptographyKit-2.0.3.tar.gz
Size 145.2 kB
Tags Source
SHA-256 checksum
How to use checksums
49bd49b302af10112eb4dd8a1c17a82478c7ca9718d67bc3fc775532190f62c1
BLAKE2b-256 checksum
How to use checksums
5ebddd667c37261aae6537b0cc2e0b39a501495aab7dcf34a4c8e9374ca3d0b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for CryptographyKit 2.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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