Skip to main content

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

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

Configurations

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

krptn-0.1.8-cp311-cp311-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

krptn-0.1.8-cp311-cp311-win32.whl (2.5 MB view details)

Uploaded CPython 3.11 Windows x86

krptn-0.1.8-cp311-cp311-musllinux_1_1_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

krptn-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

krptn-0.1.8-cp311-cp311-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

krptn-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

krptn-0.1.8-cp310-cp310-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

krptn-0.1.8-cp310-cp310-win32.whl (2.5 MB view details)

Uploaded CPython 3.10 Windows x86

krptn-0.1.8-cp310-cp310-musllinux_1_1_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

krptn-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

krptn-0.1.8-cp310-cp310-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

krptn-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

krptn-0.1.8-cp39-cp39-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

krptn-0.1.8-cp39-cp39-win32.whl (2.5 MB view details)

Uploaded CPython 3.9 Windows x86

krptn-0.1.8-cp39-cp39-musllinux_1_1_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

krptn-0.1.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

krptn-0.1.8-cp39-cp39-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

krptn-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

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

Hashes for krptn-0.1.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ba5072ec36825752a2604ae5222c06faa475ed96a20e371d75f7f2e7fa1ae9d7
MD5 48c4ed05155d33bd53699ab65e51bf46
BLAKE2b-256 f74d262718c5e5c181e128cef0559e9c02c1553f7733a4acae0accd1faa30fb5

See more details on using hashes here.

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

Hashes for krptn-0.1.8-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d1fc512938fac0ddffd2ddbdccd4814215afb08b32de6c99fb951e2fc0a3dafe
MD5 992df03f0824d6b210e3bca7c97f5750
BLAKE2b-256 24d5493fcc08653b1be9e9b9baae77e3358af13129b063fa6a58b078e02b0856

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d9a0b93be2eb7e8d9be7ec80b9dae21ea577b7c1a4ebf18f21434ded631eccf7
MD5 08f8c13c2522029a7a9a72a1c07b91f1
BLAKE2b-256 fc0ea2305a8c257054f076d93bcda7ba5b3bcabe8c32c74744e787a33f0a88d8

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f991f6884ac8a850401e2083fc3211d0c4fec7938e215d535549c078ca90fb2f
MD5 93ae2b67e92cca90b8a7e3af418d5949
BLAKE2b-256 624579ac2f08dced18c55cf42051b024547550ca94ae34c387c3f8a29c1e49f0

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c4b6cc9be27776055f41b710ef557a32a28e0e2f986cac86ff540da52d36e70
MD5 e13c18008b1aca299d8ecf1cc8d8bbac
BLAKE2b-256 95223950499c348ec2f7658bb6eaccec129e0b6efa9da5b75ba5ddd4e7792862

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 af83a7de4889f13c71a1f568dd33c18e323d4fd17c5076b8bf3e5c6f615dfbd4
MD5 1a78705449116e739f5beaf0e8110e23
BLAKE2b-256 a0286a37bb6471cd5ae2b4897bdd3ceaddc245ead22ddab3049afe4fa4fc452b

See more details on using hashes here.

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

Hashes for krptn-0.1.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 34df4e1f56e378275b3b00fd06575eea0f4333fbaa35f3f0891856c8775919f5
MD5 ad3367e7bbbf44cf6598153d738c75f7
BLAKE2b-256 6763c11c61f641cd8a72139818e29b4a7db3b52d1f46875daab99ca7e4a6fd6e

See more details on using hashes here.

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

Hashes for krptn-0.1.8-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 ba817a47611d07597ba582f29265d2e1fc1d9d1d454826b5238066ab09dfa9b6
MD5 be0d90428692daab22249e77b493df23
BLAKE2b-256 71839352a48505162124602145ddabfd6918ddb272a7be9cf8f13dafc0814be3

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b8ecad796f1d3c9c79013828c443266e7aec77ff57816ca500ac2e1058c96d63
MD5 30df641e355231e9e3875d59cd8fa7da
BLAKE2b-256 c297d05d7c3572c2007aed2a31464b6fa32e08ba37e8c0ab5636466844a80038

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5b4979badf4122fc5a1d81bd185a3894f8fc0e1f506806d7942048bc4ce568e
MD5 f2c677ff1de78b1844226dd79a6fd6b1
BLAKE2b-256 92d95c167d7f7c48d3d8362cc2d028a7572f078c6f396c517da6f17e4cff045b

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23a13cb7d20bd1b27c8970118c061a22d62e154e884dd82268362ba7c7f574a5
MD5 63e878ab83fcb3db6e4f5130d36dde6b
BLAKE2b-256 4505cd1a1c38758e2bbbe13f81f98d29bc730f3ac4c76e3912d581d15c4884c2

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 475f2531f1bc952b2a0a2cb384c7495654c6fd085f7b881a93bab60731ce20ba
MD5 1acd906408cb4c7e1a2074d1ce0e61f8
BLAKE2b-256 2849a5b700166f9697f741c9c362cb1de47610229115190bff3a70b03d46260d

See more details on using hashes here.

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

Hashes for krptn-0.1.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6810d4f998cd36457988fddaaa57aa7321cf481c16e65f1ba9742d5e79599696
MD5 91b70c27d170819bc48157e34a8bad68
BLAKE2b-256 129309e51ea67a44ae552ef74dfe19911076aa4cab959879d91a593bddf7be71

See more details on using hashes here.

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

Hashes for krptn-0.1.8-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b674932487ba8b14832ef399818a39bcbac209e79c52efbb7194a85e0aa65266
MD5 17f86e16628a148c4683c3e63c940697
BLAKE2b-256 98f619502f131e4e07abae43cc2067a391a127c96c54c08d9a1ea89a29d1f471

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4944f655aff35fa3a4432cf01fd24e45384eb4a82bbf3b2d357598eeaae1ca1f
MD5 89f108e3669495057dc6135d7659a742
BLAKE2b-256 d9a8b4a62f363f958595a6bdaa9c662179407d2066a2c0a44a59e4d912b12072

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab68a51a84fc72b5eb6ab7fccea721b277ef28a947684be210a2cdd5688bfc2e
MD5 92a42ca5951fd408f2323868d9789c74
BLAKE2b-256 93695d517714a21dd1863bf53314fb4499980301b933b4919b4932698cb825ef

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c2dbba3a5d6f7ceaa7a78aedf73a906852980d5e36fb669bd89324b6a06e9f4
MD5 f4b010d4bd14c7e5d4fb34e536e61087
BLAKE2b-256 e9b99ea022358e643c12a2df866b27ef85548a498a31fa641548648f858769d7

See more details on using hashes here.

File details

Details for the file krptn-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2befe51080f539340f5c727c646e6951dd339dd140006fcd57c030f478a73675
MD5 24eab9de0269a5f9d7525fc739a10fed
BLAKE2b-256 acc6af837ff3654f25b6086527af48c6e3b35fc22dae7e226d8c9d00eb1590f0

See more details on using hashes here.

Supported by

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