Skip to main content

A user authentication and access management system based entirely on cryptographic primitives.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

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 based entirely on cryptographic primitives. It is available as a python extension module.

What we mean by that is:

  • 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

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

krptn-0.1.0-pp39-pypy39_pp73-win_amd64.whl (3.0 MB view details)

Uploaded PyPyWindows x86-64

krptn-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

krptn-0.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

krptn-0.1.0-pp38-pypy38_pp73-win_amd64.whl (3.0 MB view details)

Uploaded PyPyWindows x86-64

krptn-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

krptn-0.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded PyPymacOS 10.9+ x86-64

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

Uploaded CPython 3.11Windows x86-64

krptn-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

krptn-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

krptn-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

krptn-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

krptn-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

krptn-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9Windows x86-64

krptn-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

krptn-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

krptn-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

krptn-0.1.0-cp38-cp38-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.8Windows x86-64

krptn-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

krptn-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

krptn-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file krptn-0.1.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 af5b550befb1aa1cc89cb2c51ef6e48463ea225b5c715f06e334248fa23a1a4d
MD5 90d1ff2a14170bf418aef491eaf4b971
BLAKE2b-256 d3d85b1cb7477da209ff425a8f4c0dd660108212f34582d02ca28089115168e2

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fdfc50253ff68e6169209da2f1b70ce1c5286efc848ccc136ac6d5976316a51d
MD5 df3f1ce57ee5671b7e1d19eaa6c3921f
BLAKE2b-256 ce9bca33dc63134018c305b676136bdd347f2bb58a5600e33951c76de156fe11

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7c9500eb13f1efafd1830f747ee5acd2fcae7d3e8198f640040e1982ca15affc
MD5 c55adeca2ee0e79c7e4a6ff465614e7e
BLAKE2b-256 47d01786bc1701b758657f9b2ec106e20fde6c43b6a0f733944ce637df0bc8fe

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 85ab1d711625b11ebb1db9715abec25245435d2c865fe80433365e807e21df1f
MD5 45a61a63f64510f72f4da93712b9213d
BLAKE2b-256 a6e8a6427cbbcd8fcfe06213a2b8c409bbfcb9bf4ce1d4069ca493499bef79a5

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76d12e4cc7436c91ff56f7be84b52cde11ecc6469198df6be26a2c1e2bdc0806
MD5 fc8aa0eef285fb7ef7c4e246577245da
BLAKE2b-256 16fee8be901524b10ed9ce58380ea58afa5ac07e9c450ca7522b5af8c41089f0

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 20c23e42784f9fd87339e504100e837f6e096c8a7ae64499dd70afa2fc7b9d67
MD5 b291fee6f7ef677497e60e570018b224
BLAKE2b-256 48ea16d82d7cfae53e978f7b779b9541b7ea28ba16f6b0a7898079ab54b71813

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: krptn-0.1.0-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.10.6

File hashes

Hashes for krptn-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b751c5f0699d2ad5c10ac81df5e8c5ff4196d3c0e685e688c7254defc4ad2bf0
MD5 7f069e1e5b108c7b2ed3a9738252d551
BLAKE2b-256 aea7b8c31d7e69510db40c135def67280df759f38ff35f1475b9083ba83d6ed4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8cd98549c95f29feb77a89ff8dfd97bec42ea04756e7b75a02eea92ba1ad9c19
MD5 aaea717209018695b16e3c3abaa3ebfd
BLAKE2b-256 27b64aa1e7de3edfed8fa53a2ea23543f31a38576c08948f05546f27a5166670

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31a882e85f2e26f6391d5b58e832e77c158975f842079ac62cedee807da73100
MD5 eb0201719f4794028170fc19935f55ff
BLAKE2b-256 680a13873c5d7969783293b95fd35ebe8ca04b18097f243b6a8e4dc9d262f21d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c9c3f1f21e615ab3f19c5b293d804c583f1ff9ff6752279287fe4223d0ddbd05
MD5 7d6043314cf6eb7ad34e29232900b370
BLAKE2b-256 ce5e37ee5b16475e1064264af930563cbb6ec498ddae9de01ab5c2f6535296f5

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: krptn-0.1.0-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.10.6

File hashes

Hashes for krptn-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 025818c861c2bdef4d0f595153679441ddda9aeaed9dde3188b9d8083891987e
MD5 3b0ff52b2d3b2b04ab88ca7c5bfec6a0
BLAKE2b-256 4151c808381c723279caa0bc172ce2ccddc5daafb822c3a80fcdb5310c9cac4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3ea4259f228bac63906c1059574af6b1a6c47036844993f91ee77fb02392ace6
MD5 409410410c6743ece63b1e69d4585fe2
BLAKE2b-256 8228ff9a3165f8bfd78f3cc733427b3b178b6b5684df22dccdf6f62f0606eb6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c0ed183dff14458ceaa2d756dbbb15adbb10a1e2f44ca1da649da0eaa70274b
MD5 6adf5e511c46b7a182d58d3c93810b71
BLAKE2b-256 20544e82caa5d1785ec3089726e49d7924de52dfd87a019596294255c22a131e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e191054b84a74c2851fc0cf83d21eec0258101c9a583fe21fcee3a63e4a4dfdc
MD5 899e0faeedd0345a4f58f30b950f7c6e
BLAKE2b-256 4dde5da2672f3242085f000adf95c360ae44408400936a26c62eb57d64bdbc2e

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: krptn-0.1.0-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.10.6

File hashes

Hashes for krptn-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d74a0ca871fbff937175fa0fa6ccb97c7ee9a60a5ba1a178519aeaddfec150d6
MD5 a4247f29d2e1f0ca4437b4009779ec6a
BLAKE2b-256 b8ce50dda94fb54fcc0314f66d4651c326e441202a4c565c52a36db826fb4850

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3d6ecc02c045a204092744d8f4d2fa8fd9f1231607003aefcf02d255643302a3
MD5 867584dad06352b0191357721d6a96dd
BLAKE2b-256 a76f5fdcf6c5b8d17be647b4e62d3fb11bbf65142886b87902f696d2cd518705

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a1af139ea95d9d0d65d2a259d2b5538d4918bfc082ad1bce3da37fdbe7788c46
MD5 d3747683f517cb3ba9856acf25ceb6c8
BLAKE2b-256 2b985aa9328194b85a213f519a86bff59ece547d20d30c93c1e5fc2eaeecf4b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for krptn-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7742481df85b84fb3cad681c8c4f17927f82d8eb725ed670ca7f41524aa60e2c
MD5 56b5489c58df43548c79111d4207329d
BLAKE2b-256 e0cbf6bac538d4063a2fc1e4dc7ca9164aa6c0aa0993dc433aaa7eb2f1b0eec2

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: krptn-0.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for krptn-0.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 760676eecde8a5eb847e32bf4b7a357fd8b5651a749f50b4503c034e84782ef6
MD5 f8465724a38e20b9d18df6c6ab584536
BLAKE2b-256 286ed767d4f719dd50649a43568dc8448561d9bc6d57c4a91e3321c0d6575155

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a93b06768c3a0edce18bb27267512297ba5174f9cf20059df00635e45ddf3a4b
MD5 041961b21ff3ef10301d4d4f030f5bcc
BLAKE2b-256 3d8b2714acb40fdf93a41d649eda8d1658bd5a1716a5d48ff7854cb4206bf347

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 537011c182e576cd728789d2c1ff731d3e2e976220406a908c2c93bff4044be3
MD5 4a4d42270a124cbba1f9b0ebc0225ccd
BLAKE2b-256 6f21273937f2f36bd157827a786fcca25e01298e5202c62385e5aecbb11d9d05

See more details on using hashes here.

File details

Details for the file krptn-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for krptn-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2f0485d29517bb9d017c68ea1f9e4ee6a459804ddb31f0fea5cdd1530f3bb417
MD5 6c1ca61bf585bcf29515b0a1553f9ac5
BLAKE2b-256 873793d80291427355e9b2386e7fcb9a52dbe0fa55f3419a592d7ecdf2832f93

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