Python encryption libraries provide base chunks of pre-written code that can be repurposed to develop a unique encryption-decryption system.
These libraries offer a long list of primitives a developer can build upon, choosing from cipher-decipher algorithms like AES, RSA, DES, etc. It allows developers to deal with sideline attacks better. Open-source Python libraries, not being a part of the standard package, can be installed using the PIP function. Python encryptions systems are not web-exclusive; the language allows a developer the flexibility of cross-platform use, unlike other popular coding languages like, say, PHP.
The list below summarizes our top open-source python libraries, consisting of ready-to-incorporate code components for designing encrypted security. Certbot acquires SSL certificates from the open-source certificate authority, Let's Encrypt. It also gives the developer the option to automatically enable HTTPS protocol and to act as a client for certificate authorities running on the ACME protocol. Mailpile, a web-mail client, focuses on the overall experience by providing a clean user interface. While being a web-based interface, it also provides an API and a command-line interface for developers. Ciphey employs artificial intelligence to assess the type of encryption and decipher the input text fast. It is minimalistic and precise.
certbot:
- It is a command-line tool for managing SSL/TLS certificates.
- It is often used in conjunction with Python web servers, such as Nginx or Apache.
- It enables secure communication over HTTPS.
certbotby certbot
Certbot is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol.
certbotby certbot
Python 29993 Version:v2.6.0 License: Others (Non-SPDX)
Ciphey:
- Ciphey is a Python library used in Institutions, Education, Security, and Cryptography applications.
- It is a tool designed for automatic decryption of ciphers and codes.
- It aims to simplify the process of deciphering encrypted messages. This detects the encryption method and provides the decrypted result.
Cipheyby Ciphey
⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡
Cipheyby Ciphey
Python 13505 Version:5.14.0 License: Permissive (MIT)
Mailpile:
- Mailpile helps in Institutions, Learning, Administration, Public Services, Messaging, and Email applications.
- It provides an interface for managing and encrypting emails.
- Its primary user interface is web-based. It also offers a basic command-line interface and an API for developers.
Mailpileby mailpile
A free & open modern, fast email client with user-friendly encryption and privacy features
Mailpileby mailpile
Python 8742 Version:1.0.0rc6 License: Others (Non-SPDX)
byob:
- BYOB in Python generally refers to "Bring Your Own Bytes" or "Bring Your Own Key," depending on the context.
- It allows users to provide their own cryptographic keys. Rather than relying on default or generated keys.
- BYOB enables customization to meet these needs.
byobby malwaredllc
An open-source post-exploitation framework for students, researchers and developers.
byobby malwaredllc
Python 8323 Version:Current License: Strong Copyleft (GPL-3.0)
cryptography:
- It is a Python library used in Security, Cryptography applications.
- It exposes cryptographic primitives and recipes to Python developers.
- It ensures data confidentiality, integrity, and authenticity.
cryptographyby pyca
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
cryptographyby pyca
Python 5593 Version:Current License: Others (Non-SPDX)
acme-tiny:
- acme-tiny is a Python encryption library.
- It helps with Security, Encryption, and Docker applications.
- You can install using 'pip install acme-tiny' or download it from GitHub, PyPI. It is used as a tiny script to issue and renew TLS certs from Let's Encrypt.
acme-tinyby diafygi
A tiny script to issue and renew TLS certs from Let's Encrypt
acme-tinyby diafygi
Python 4678 Version:Current License: Permissive (MIT)
yadm:
- yadm is a Python library used in Devops, Configuration Management applications.
- yadm is a tool for managing dotfiles.
- It helps ensure consistency and ease of setup by keeping track of configurations.
ssh-audit:
- ssh-audit is a Python library.
- It is a tool used to audit the security configurations of SSH servers.
- It identifies potential vulnerabilities and weaknesses in the SSH configuration.
ssh-auditby arthepsy
SSH server auditing (banner, key exchange, encryption, mac, compression, compatibility, security, etc)
ssh-auditby arthepsy
Python 2874 Version:Current License: Permissive (MIT)
PyBitmessage:
- PyBitmessage is a Python library used in Telecommunications, Media, Telecom, Networking applications.
- It is a P2P communication protocol used to send encrypted messages to another person.
- It aims to hide metadata from passive eavesdroppers.
PyBitmessageby Bitmessage
Reference client for Bitmessage: a P2P encrypted decentralised communication protocol:
PyBitmessageby Bitmessage
Python 2762 Version:0.6.3.2 License: Others (Non-SPDX)
RsaCtfTool:
- RsaCtfTool is a Python library used in Security and Cryptography applications.
- It is a Python-based tool designed for solving RSA Capture the Flag (CTF) challenges.
- It plays a crucial role in CTF competitions. Its participants often encounter RSA-related problems.
RsaCtfToolby Ganapati
RSA attack tool (mainly for ctf) - retreive private key from weak public key and/or uncipher data
RsaCtfToolby Ganapati
Python 2470 Version:Current License: Others (Non-SPDX)
pycrypto:
- PyCrypto is important for several reasons in the context of encryption.
- PyCrypto supports various encryption algorithms, hashing functions, and random number generators.
- PyCrypto facilitates interoperability by supporting used cryptographic standards.
EQGRP_Lost_in_Translation:
- EQGRP_Lost_in_Translation is a Python library.
- It helps in Programming Style applications.
- It decrypts content of odd.tar.xz.gpg, swift.tar.xz.gpg and windows.tar.xz.gpg.
EQGRP_Lost_in_Translationby x0rz
Decrypted content of odd.tar.xz.gpg, swift.tar.xz.gpg and windows.tar.xz.gpg
EQGRP_Lost_in_Translationby x0rz
Python 1797 Version:Current License: No License
asyncssh:
- asyncssh is a Python library that provides an asynchronous framework for SSH communication.
- SSH relies on encryption algorithms to secure data transmission.
- asyncssh supports various encryption algorithms, providing a secure means of communication over networks.
asyncsshby ronf
AsyncSSH is a Python package which provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework.
asyncsshby ronf
Python 1364 Version:Current License: Weak Copyleft (EPL-2.0)
Cloakify:
- Cloakify is a Python library used in Testing and Security Testing applications.
- It is a tool designed to obfuscate or "cloak" data in various formats, making it less conspicuous.
- This is useful for hiding sensitive information in plain sight.
Cloakifyby TryCatchHCF
CloakifyFactory - Data Exfiltration & Infiltration In Plain Sight; Convert any filetype into list of everyday strings, using Text-Based Steganography; Evade DLP/MLS Devices, Defeat Data Whitelisting Controls, Social Engineering of Analysts, Evade AV Detection
Cloakifyby TryCatchHCF
Python 1386 Version:v1.0.3 License: Permissive (MIT)
demiguise:
- demiguise is a Python encryption library.
- It helps in Security, Encryption applications.
- It is an HTA encryption tool for RedTeams.
Crypton:
- Crypton is a Python library used in Security, Cryptography applications.
- Crypton is an educational library to learn and practice Offensive and Defensive Cryptography.
- It is an explanation of all the existing vulnerabilities on various Systems.
Cryptonby ashutosh1206
Library consisting of explanation and implementation of all the existing attacks on various Encryption Systems, Digital Signatures, Key Exchange, Authentication methods along with example challenges from CTFs
Cryptonby ashutosh1206
Python 1284 Version:v2.0 License: Permissive (MIT)
xortool:
- It is a tool used for analyzing and breaking simple XOR-based encryption.
- XOR is a bitwise operation that helps in encryption.
- It is a tool used to analyze multi-byte xor cipher.
tf-encrypted:
- tf-encrypted is a Python library that extends TensorFlow.
- TansorFlow extends to enable privacy-preserving machine learning using encrypted data.
- It aims to make privacy-preserving machine learning available, without requiring expertise in cryptography.
tf-encryptedby tf-encrypted
A Framework for Encrypted Machine Learning in TensorFlow
tf-encryptedby tf-encrypted
Python 1088 Version:Current License: Permissive (Apache-2.0)
GlobaLeaks:
- GlobaLeaks is a Python library used in Security, Encryption applications.
- It is an open-source whistleblowing framework designed for secure and anonymous communication.
- It provides tools for organizations to set up their own secure whistleblowing platforms.
GlobaLeaksby globaleaks
GlobaLeaks is free, open source software enabling anyone to easily set up and maintain a secure whistleblowing platform.
GlobaLeaksby globaleaks
Python 1030 Version:Current License: Others (Non-SPDX)
server:
- servers enable secure connections, like HTTPS. HTTPs are vital for protecting sensitive information during data transmission over networks.
- It ensures the confidentiality and integrity of data by handling encryption keys.
- It provides a central point for managing cryptographic operations.
serverby etesync
The Etebase server (so you can run your own)
serverby etesync
Python 1295 Version:Current License: Strong Copyleft (AGPL-3.0)
ssl_logger:
- ssl_logger is a Python library used in Security, TLS applications.
- It helps in identifying potential vulnerabilities, debugging handshake problems, and ensuring secure communication.
- It Decrypts and logs a process's SSL traffic.
ssl_loggerby google
Decrypts and logs a process's SSL traffic.
ssl_loggerby google
Python 1061 Version:Current License: Permissive (Apache-2.0)
simp_le:
- simp_le is a Python library that helps with encryption.
- It Encrypts Client. It has no bugs and has no vulnerabilities.
- simp_le can download it from GitHub.
featherduster:
- FeatherDuster is a Python library designed for educational purposes.
- It is to help users understand various aspects of cryptography.
- It helps in penetration testing scenarios. It assesses the security of cryptographic components in apps and systems.
featherdusterby nccgroup
An automated, modular cryptanalysis tool; i.e., a Weapon of Math Destruction
featherdusterby nccgroup
Python 1020 Version:v0.2 License: Permissive (BSD-3-Clause)
hawkpost:
- featherduster is a Python library used in Security, Cryptography applications.
- It is an online service that allows users to create encrypted messages with a sharable link.
- Cryptanalib is the moving part behind FeatherDuster, and helps with FeatherDuster.
hawkpostby whitesmith
Generate links that users can use to submit messages encrypted with your public key.
hawkpostby whitesmith
Python 912 Version:v1.3.0 License: Permissive (MIT)
tfc:
- tfc is a Python library used in Networking, Router applications.
- It helps developers install privacy-preserving machine-learning techniques.
- It is a Tinfoil Chat - Onion-routed, endpoint secure messaging system.
tfcby maqp
Tinfoil Chat - Onion-routed, endpoint secure messaging system
tfcby maqp
Python 1018 Version:Current License: Strong Copyleft (GPL-3.0)
pyopenssl:
- pyOpenSSL is a Python wrapper around the OpenSSL library.
- It provides support for secure sockets (SSL/TLS) and cryptographic functions.
- It allows Python apps to establish secure connections over the internet. It uses the SSL/TLS protocol.
pyopensslby pyca
A Python wrapper around the OpenSSL library
pyopensslby pyca
Python 820 Version:Current License: Permissive (Apache-2.0)
nucypher:
- NuCypher is provides a decentralized key management system.
- It allows for proxy re-encryption, enabling data sharing without exposing sensitive keys.
- This is valuable for apps requiring secure and decentralized access control in blockchain.
nucypherby nucypher
A decentralized threshold cryptography network focused on proxy reencryption.
nucypherby nucypher
Python 681 Version:v6.0.0-rc License: Strong Copyleft (AGPL-3.0)
RAASNet:
- RAASNet is a Python Encryption library.
- It helps with Testing and Security Testing applications.
- It is an Open-Source Ransomware as a Service for Linux, MacOS and Windows.
RAASNetby leonv024
Open-Source Ransomware As A Service for Linux, MacOS and Windows
RAASNetby leonv024
Python 604 Version:Current License: Strong Copyleft (GPL-3.0)
dnsrobocert:
- dnsrobocert is a Python library used in Security, TLS, Docker applications.
- It obtains SSL/TLS certificates through an automated process.
- It integrates with DNS challenges for verification.
dnsrobocertby adferrand
Orchestrate Certbot and Lexicon together to provide Let's Encrypt TLS certificates validated by DNS challenges
dnsrobocertby adferrand
Python 517 Version:v3.22.1 License: Permissive (MIT)
Xeexe-TopAntivirusEvasion:
- Xeexe-TopAntivirusEvasion is a Python library used in Security, Firewall applications.
- It is an Undetectable & Xor encrypting with custom KEY.
- It bypasses Top Antivirus like BitDefender, Malwarebytes, Avast, ESET-NOD32, AVG, & Add ICON and MANIFEST to excitable.
Xeexe-TopAntivirusEvasionby persianhydra
Undetectable & Xor encrypting with custom KEY (FUD Metasploit Rat) bypass Top Antivirus like BitDefender,Malwarebytes,Avast,ESET-NOD32,AVG,... & Automatically Add ICON and MANIFEST to excitable
Xeexe-TopAntivirusEvasionby persianhydra
Python 463 Version:Current License: Strong Copyleft (GPL-3.0)
Decentralized-Internet:
- A decentralized internet can enhance security in Python encryption libraries. It reduces the reliance on central authorities.
- This enhances the robustness of encryption implementations.
- It can contribute to user privacy by minimizing the collection of sensitive data.
Decentralized-Internetby Lonero-Team
A SDK/library for decentralized web and distributing computing projects
Decentralized-Internetby Lonero-Team
Python 487 Version:v1.0_mac License: Permissive (MIT)
PacketWhisper:
- PacketWhisper is a Python library used in Testing, Security Testing applications.
- PacketWhisper helps to address specific needs or vulnerabilities in network communication.
- It could be valuable for scenarios where secure packet transmission is crucial.
PacketWhisperby TryCatchHCF
PacketWhisper: Stealthily exfiltrate data and defeat attribution using DNS queries and text-based steganography. Avoid the problems associated with typical DNS exfiltration methods. Transfer data between systems without the communicating devices directly connecting to each other or to a common endpoint. No need to control a DNS Name Server.
PacketWhisperby TryCatchHCF
Python 578 Version:Current License: Permissive (MIT)
python-paillier:
- Python-Paillier is a library that implements the Paillier cryptosystem in Python.
- In machine learning, Python-Paillier applies to build privacy-preserving models.
- Python-Paillier, being an open-source library, encourages collaboration and contributions from the community.
python-paillierby data61
A library for Partially Homomorphic Encryption in Python
python-paillierby data61
Python 433 Version:1.5.1 License: Strong Copyleft (GPL-3.0)
covertutils:
- covertutils is a Python encryption library
- It helps with Testing and Security Testing applications.
- It is a framework for Backdoor development.
covertutilsby operatorequals
A framework for Backdoor development!
covertutilsby operatorequals
Python 422 Version:Current License: No License
decrypt:
- It is crucial for retrieving original data from encrypted content.
- It ensures data confidentiality. It allows authorized users to access and understand the information.
- It is essential in scenarios were sensitive data needs transmission or storage.
decryptby jtwaleson
Pipe programs through decrypt to make your boss think you are l33t
decryptby jtwaleson
Python 420 Version:Current License: Permissive (MIT)
nufhe:
- nufhe is a Python library used in Security, Encryption applications.
- It is a NuCypher homomorphic encryption (NuFHE) library implemented in Python.
- You can install using 'pip install nufhe' or download it from GitHub, PyPI.
nufheby nucypher
NuCypher fully homomorphic encryption (NuFHE) library implemented in Python
nufheby nucypher
Python 349 Version:v0.0.3 License: Strong Copyleft (GPL-3.0)
rsa-wiener-attack:
- rsa-wiener-attack is a Python library used in Security, Cryptography applications.
- A Python version of the Wiener attack targeting the RSA public-key encryption system.
- It targets cases where the private exponent is small. It allows an attacker to factorize the modulus.
rsa-wiener-attackby pablocelayes
A Python implementation of the Wiener attack on RSA public-key encryption scheme.
rsa-wiener-attackby pablocelayes
Python 342 Version:Current License: No License
an2linuxserver:
- an2linuxserver is a Python encryption library.
- It helps in Security, Encryption applications.
- It is a Sync Android notification encrypted to a Linux desktop.
an2linuxserverby rootkiwi
Sync Android notifications encrypted to a Linux desktop
an2linuxserverby rootkiwi
Python 392 Version:Current License: Others (Non-SPDX)
python-rsa:
- It provides functionality for working with RSA encryption, a used public-key cryptosystem.
- python-rsa helps ensure the confidentiality and integrity of data during transmission.
- It provides tools for managing RSA keys, including key generation, serialization, and storage.
python-rsaby sybrenstuvel
Python-RSA is a pure-Python RSA implementation.
python-rsaby sybrenstuvel
Python 428 Version:Current License: Others (Non-SPDX)
NXcrypt:
- NXcrypt is a Python library used in Artificial Intelligence, Machine Learning applications.
- It is a polymorphic 'python backdoors' crypter written in python by Hadi Mene (h4d3s).
- NXcrypt can inject malicious Python files into a normal file using a multi-threading system.
gpgsync:
- GPG in Python, it's crucial for key management, encryption, and digital signatures.
- GPG provides a way to secure communication and data integrity.
- It can enhance the security of your apps. It helps in dealing with sensitive information.
gpgsyncby firstlookmedia
:lock: GPG Sync is designed to let users always have up-to-date public keys for other members of their organization
gpgsyncby firstlookmedia
Python 303 Version:v0.3.6 License: Strong Copyleft (GPL-3.0)
ShellcodeWrapper:
- ShellcodeWrapper is a Python encryption library, used in Security and Hacking applications.
- Wrappers help organize code by encapsulating related functionalities.
- Wrappers often serve as a convenient interface or encapsulation for underlying functionality.
ShellcodeWrapperby Arno0x
Shellcode wrapper with encryption for multiple target languages
ShellcodeWrapperby Arno0x
Python 398 Version:Current License: No License
nfreezer:
- nfreezer is a Python library used in Security, Encryption applications.
- nFreezer (for encrypted freezer) is an encrypted-at-rest backup tool.
- It helps in the cases with untrusted destination servers.
nfreezerby josephernest
nFreezer is an encrypted-at-rest backup tool.
nfreezerby josephernest
Python 263 Version:0.0.1 License: Others (Non-SPDX)
oscrypto:
- oscrypto is a Python library that provides a high-level interface to cryptographic operations.
- It is built on top of the cryptography library. It aims to simplify the use of cryptographic functions in Python.
- Its ability to offer a consistent API for various cryptographic tasks.
oscryptoby wbond
Compiler-free Python crypto library backed by the OS, supporting CPython and PyPy
oscryptoby wbond
Python 262 Version:Current License: Permissive (MIT)
encrypted-dns:
- Encrypted DNS (Domain Name System) in Python encryption libraries.
- It is crucial for enhancing the security and privacy of internet communication.
- It integrated with encrypted DNS. It ensures the process of resolving domain names to IP addresses is secure.
encrypted-dnsby xiaoyang-liu-cs
DNS-over-HTTPS and DNS-over-TLS server and forwarder. (RFC 8484, RFC 7858, RFC 7871)
encrypted-dnsby xiaoyang-liu-cs
Python 256 Version:1.2.0 License: Permissive (Apache-2.0)
simple-crypt:
- It provides a simple interface for symmetric encryption and decryption.
- It can serve as an educational tool. This tool helps individuals who are learning about encryption.
- It allows developers to install basic encryption. It enables them to focus on other aspects of their projects.
simple-cryptby andrewcooke
Simple, secure encryption and decryption for Python 2.7 and 3
simple-cryptby andrewcooke
Python 263 Version:Current License: No License
privy:
- privy is a Python encryption library.
- It helps in Security, Encryption applications.
- It is an easy, fast lib to password-protect your data.
privyby ofek
An easy, fast lib to correctly password-protect your data
privyby ofek
Python 230 Version:Current License: Others (Non-SPDX)
FAQ
1.What is encryption?
It is the process of converting plaintext data into a secure and unreadable form. It is also known as ciphertext, to protect sensitive information.
2.Why should I use encryption in Python?
Encryption helps secure data during transmission or storage, preventing unauthorized access. It's crucial for protecting sensitive information like passwords, personal data, or confidential files.
3.Which encryption libraries to use in Python?
Popular encryption libraries in Python include cryptography, PyCryptodome, and cryptography. This library provides high-level cryptographic primitives.
4.How do I install a Python encryption library?
You can install most libraries using a package manager like pip. For example, to install the cryptography library, run pip install cryptography.
5.What types of encryption algorithms are supported?
Python encryption libraries often support various algorithms. It includes AES (Advanced Encryption Standard), RSA (Rivest-Shamir-Adleman), and others. Check the documentation for the specific library to see which algorithms are supported.