Zero Knowledge security for Python
Project description
Krptn
Please see our documentation.
Quick Install:
pip install krptn
Note: we don't have pre-built extensions for all platforms. Please see the installation section in our documentation for more info.
What is this?
Quick notice: this project will be run for the Microsoft Imagine Cup. However, please use the project as you would otherwise. This warning is only for contributors who may not want their code to be used for such purposes.
A user authentication and access management system (IAM) with Zero Knowledge security. It is available as a python extension module.
How we achieve this?
- All Data is encrypted (any data can be request by the developer to be secured)
- Only the appropriate users' credentials can unlock the cryptosystem (this protects you from server-side attacks)
This gives you Zero Knowledge security (one of the most secure available) without ever needing to even notice it! It protects you from server side attacks.
Features
- Secure Storage of Data
- User Authentication
- FIPS Validated Cryptography (via OpenSSL 3)*
- Secure memory wiping
- FIDO Passwordless*
- Integration with popular web frameworks
* FIDO (passwordless) does not use FIPS validated resolvers
Example usage of the Crypto Class
from krypton import basic
# Create an instance of Crypto - a class for encrypting and storing sensitive data.
myCrypto = basic.Crypto()
pwd = "Perhaps provided by the user"
# It supports C.R.U.D. operations:
id = myCrypto.secureCreate("Example data", pwd) #id is an integer
print("The data is:")
print(myCrypto.secureRead(id, pwd)) # prints Example data
User Auth
See User Auth.
To use FIDO with User Auth, please see Krptn's FIDO Documentation.
Integration with web frameworks
Crypto Class
Key Management System
This module uses a custom Key Management System for AES-256 Keys. See KMS for more information.
Note: we have considered using HSM as key management systems. However, we have decided that we will not implement HSMs because it would not be possible to withhold that cryptographic systems are only unlocked with correct credentials: this is because a HSM would happily provide the key to Krypton irrespective of whether the user of the web app has provided credentials.
Of course, all data is securely encrypted even if it is not via a HSM!
If you want, you can encrypt the SQL database using HSM managed keys for additional security.
Use custom databases
Here is an example for how to set the database to be used:
import krypton
krypton.configs.SQLDefaultCryptoDBpath = "sqlite+pysqlite:///Path/example.db"
krypton.configs.SQLDefaultKeyDBpath = "sqlite+pysqlite:///Path/key.db"
To see what these settings strings should contain please see Databases.
Settings
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file krptn-0.1.8-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba5072ec36825752a2604ae5222c06faa475ed96a20e371d75f7f2e7fa1ae9d7 |
|
MD5 | 48c4ed05155d33bd53699ab65e51bf46 |
|
BLAKE2b-256 | f74d262718c5e5c181e128cef0559e9c02c1553f7733a4acae0accd1faa30fb5 |
File details
Details for the file krptn-0.1.8-cp311-cp311-win32.whl
.
File metadata
- Download URL: krptn-0.1.8-cp311-cp311-win32.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1fc512938fac0ddffd2ddbdccd4814215afb08b32de6c99fb951e2fc0a3dafe |
|
MD5 | 992df03f0824d6b210e3bca7c97f5750 |
|
BLAKE2b-256 | 24d5493fcc08653b1be9e9b9baae77e3358af13129b063fa6a58b078e02b0856 |
File details
Details for the file krptn-0.1.8-cp311-cp311-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp311-cp311-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 6.4 MB
- Tags: CPython 3.11, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9a0b93be2eb7e8d9be7ec80b9dae21ea577b7c1a4ebf18f21434ded631eccf7 |
|
MD5 | 08f8c13c2522029a7a9a72a1c07b91f1 |
|
BLAKE2b-256 | fc0ea2305a8c257054f076d93bcda7ba5b3bcabe8c32c74744e787a33f0a88d8 |
File details
Details for the file krptn-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f991f6884ac8a850401e2083fc3211d0c4fec7938e215d535549c078ca90fb2f |
|
MD5 | 93ae2b67e92cca90b8a7e3af418d5949 |
|
BLAKE2b-256 | 624579ac2f08dced18c55cf42051b024547550ca94ae34c387c3f8a29c1e49f0 |
File details
Details for the file krptn-0.1.8-cp311-cp311-macosx_11_0_arm64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.7 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c4b6cc9be27776055f41b710ef557a32a28e0e2f986cac86ff540da52d36e70 |
|
MD5 | e13c18008b1aca299d8ecf1cc8d8bbac |
|
BLAKE2b-256 | 95223950499c348ec2f7658bb6eaccec129e0b6efa9da5b75ba5ddd4e7792862 |
File details
Details for the file krptn-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | af83a7de4889f13c71a1f568dd33c18e323d4fd17c5076b8bf3e5c6f615dfbd4 |
|
MD5 | 1a78705449116e739f5beaf0e8110e23 |
|
BLAKE2b-256 | a0286a37bb6471cd5ae2b4897bdd3ceaddc245ead22ddab3049afe4fa4fc452b |
File details
Details for the file krptn-0.1.8-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34df4e1f56e378275b3b00fd06575eea0f4333fbaa35f3f0891856c8775919f5 |
|
MD5 | ad3367e7bbbf44cf6598153d738c75f7 |
|
BLAKE2b-256 | 6763c11c61f641cd8a72139818e29b4a7db3b52d1f46875daab99ca7e4a6fd6e |
File details
Details for the file krptn-0.1.8-cp310-cp310-win32.whl
.
File metadata
- Download URL: krptn-0.1.8-cp310-cp310-win32.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba817a47611d07597ba582f29265d2e1fc1d9d1d454826b5238066ab09dfa9b6 |
|
MD5 | be0d90428692daab22249e77b493df23 |
|
BLAKE2b-256 | 71839352a48505162124602145ddabfd6918ddb272a7be9cf8f13dafc0814be3 |
File details
Details for the file krptn-0.1.8-cp310-cp310-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp310-cp310-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 6.4 MB
- Tags: CPython 3.10, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8ecad796f1d3c9c79013828c443266e7aec77ff57816ca500ac2e1058c96d63 |
|
MD5 | 30df641e355231e9e3875d59cd8fa7da |
|
BLAKE2b-256 | c297d05d7c3572c2007aed2a31464b6fa32e08ba37e8c0ab5636466844a80038 |
File details
Details for the file krptn-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5b4979badf4122fc5a1d81bd185a3894f8fc0e1f506806d7942048bc4ce568e |
|
MD5 | f2c677ff1de78b1844226dd79a6fd6b1 |
|
BLAKE2b-256 | 92d95c167d7f7c48d3d8362cc2d028a7572f078c6f396c517da6f17e4cff045b |
File details
Details for the file krptn-0.1.8-cp310-cp310-macosx_11_0_arm64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.7 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23a13cb7d20bd1b27c8970118c061a22d62e154e884dd82268362ba7c7f574a5 |
|
MD5 | 63e878ab83fcb3db6e4f5130d36dde6b |
|
BLAKE2b-256 | 4505cd1a1c38758e2bbbe13f81f98d29bc730f3ac4c76e3912d581d15c4884c2 |
File details
Details for the file krptn-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 475f2531f1bc952b2a0a2cb384c7495654c6fd085f7b881a93bab60731ce20ba |
|
MD5 | 1acd906408cb4c7e1a2074d1ce0e61f8 |
|
BLAKE2b-256 | 2849a5b700166f9697f741c9c362cb1de47610229115190bff3a70b03d46260d |
File details
Details for the file krptn-0.1.8-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6810d4f998cd36457988fddaaa57aa7321cf481c16e65f1ba9742d5e79599696 |
|
MD5 | 91b70c27d170819bc48157e34a8bad68 |
|
BLAKE2b-256 | 129309e51ea67a44ae552ef74dfe19911076aa4cab959879d91a593bddf7be71 |
File details
Details for the file krptn-0.1.8-cp39-cp39-win32.whl
.
File metadata
- Download URL: krptn-0.1.8-cp39-cp39-win32.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.9, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b674932487ba8b14832ef399818a39bcbac209e79c52efbb7194a85e0aa65266 |
|
MD5 | 17f86e16628a148c4683c3e63c940697 |
|
BLAKE2b-256 | 98f619502f131e4e07abae43cc2067a391a127c96c54c08d9a1ea89a29d1f471 |
File details
Details for the file krptn-0.1.8-cp39-cp39-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp39-cp39-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 6.4 MB
- Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4944f655aff35fa3a4432cf01fd24e45384eb4a82bbf3b2d357598eeaae1ca1f |
|
MD5 | 89f108e3669495057dc6135d7659a742 |
|
BLAKE2b-256 | d9a8b4a62f363f958595a6bdaa9c662179407d2066a2c0a44a59e4d912b12072 |
File details
Details for the file krptn-0.1.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 5.8 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab68a51a84fc72b5eb6ab7fccea721b277ef28a947684be210a2cdd5688bfc2e |
|
MD5 | 92a42ca5951fd408f2323868d9789c74 |
|
BLAKE2b-256 | 93695d517714a21dd1863bf53314fb4499980301b933b4919b4932698cb825ef |
File details
Details for the file krptn-0.1.8-cp39-cp39-macosx_11_0_arm64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.7 MB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c2dbba3a5d6f7ceaa7a78aedf73a906852980d5e36fb669bd89324b6a06e9f4 |
|
MD5 | f4b010d4bd14c7e5d4fb34e536e61087 |
|
BLAKE2b-256 | e9b99ea022358e643c12a2df866b27ef85548a498a31fa641548648f858769d7 |
File details
Details for the file krptn-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: krptn-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2befe51080f539340f5c727c646e6951dd339dd140006fcd57c030f478a73675 |
|
MD5 | 24eab9de0269a5f9d7525fc739a10fed |
|
BLAKE2b-256 | acc6af837ff3654f25b6086527af48c6e3b35fc22dae7e226d8c9d00eb1590f0 |