Skip to main content

unicrypto

Python bindings for the native UniCrypto cryptographic library. This release provides the Caesar cipher and BLAKE3, through an API designed to grow as further algorithms are added.

Install

From PyPI:

python3 -m pip install UniCrypto-lituus

The distribution is named UniCrypto-lituus; the Python package it provides is still imported as unicrypto.

To build from source:

nimble clib                                     # build libUniCrypto (Linux/macOS)
nimble clibMsvc                                 # Windows: MSVC build for CPython
cd py
python3 setup.py build_ext --inplace            # build the Cython extension

On Windows, run nimble clibMsvc (not nimble clib) before building the extension: CPython is MSVC-built and links against the matching ABI.

Quick start

import unicrypto

unicrypto.caesar_encrypt("Hello, World!", 13)   # 'Uryyb, Jbeyq!'
unicrypto.caesar_decrypt("Uryyb, Jbeyq!", 13)   # 'Hello, World!'

unicrypto.blake3_hash(b"abc").hex()
# '6437b3ac38465133ffb63b75273a8db548c558465d79db03fd359c6cd5bd9d85'
unicrypto.blake3_hash_xof(b"abc", 64)[:32] == unicrypto.blake3_hash(b"abc")   # True

What's included

Category Python API
Caesar cipher caesar_encrypt, caesar_decrypt -- str in, str out
BLAKE3 hash blake3_hash -- default 32-byte digest of bytes
BLAKE3 XOF blake3_hash_xof(data, output_len) -- extended output, any length
BLAKE3 keyed hash blake3_keyed_hash(data, key) -- MAC, 32-byte key
BLAKE3 key derivation blake3_derive_key(context, key_material)

Caesar takes str; a non-str text or non-int shift raises TypeError. BLAKE3's data/key_material arguments take bytes (arbitrary data, unlike Caesar's text; blake3_derive_key's context is str) and raise TypeError on the wrong argument type, ValueError if blake3_keyed_hash's key isn't exactly 32 bytes.

For an executable tour of the API, see the Python quickstart notebook.

Links

Development

Building from source (contributing, or a platform without a prebuilt wheel) needs a Nim toolchain.

nimble pyLib   # native lib for this platform
cd py
python3 setup.py build_ext --inplace   # build the Cython extension
python3 -m pytest -q                   # test

On Windows, use python instead of python3 (PowerShell and cmd.exe both resolve it; python3 is a POSIX-only convention):

nimble pyLib
cd py
python setup.py build_ext --inplace
python -m pytest -q

Run the build before the test in every case: pytest imports the unicrypto package straight out of this checkout, so it only finds the _core extension once build_ext --inplace has compiled it.

Download files

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

Source Distribution

unicrypto_lituus-0.1.0.tar.gz (99.5 kB view details)

Uploaded Source

Built Distributions

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

unicrypto_lituus-0.1.0-cp314-cp314-win_amd64.whl (61.7 kB view details)

Uploaded CPython 3.14Windows x86-64

unicrypto_lituus-0.1.0-cp314-cp314-manylinux_2_34_x86_64.whl (218.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

unicrypto_lituus-0.1.0-cp314-cp314-macosx_10_15_x86_64.macosx_26_0_arm64.whl (91.0 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64macOS 26.0+ ARM64

unicrypto_lituus-0.1.0-cp313-cp313-win_amd64.whl (60.1 kB view details)

Uploaded CPython 3.13Windows x86-64

unicrypto_lituus-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl (219.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

unicrypto_lituus-0.1.0-cp313-cp313-macosx_10_13_x86_64.macosx_26_0_arm64.whl (90.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64macOS 26.0+ ARM64

unicrypto_lituus-0.1.0-cp312-cp312-win_amd64.whl (60.2 kB view details)

Uploaded CPython 3.12Windows x86-64

unicrypto_lituus-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl (224.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

unicrypto_lituus-0.1.0-cp312-cp312-macosx_10_13_x86_64.macosx_26_0_arm64.whl (90.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64macOS 26.0+ ARM64

unicrypto_lituus-0.1.0-cp311-cp311-win_amd64.whl (59.7 kB view details)

Uploaded CPython 3.11Windows x86-64

unicrypto_lituus-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl (215.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

unicrypto_lituus-0.1.0-cp311-cp311-macosx_10_9_x86_64.macosx_26_0_arm64.whl (90.2 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64macOS 26.0+ ARM64

unicrypto_lituus-0.1.0-cp310-cp310-win_amd64.whl (59.6 kB view details)

Uploaded CPython 3.10Windows x86-64

unicrypto_lituus-0.1.0-cp310-cp310-manylinux_2_34_x86_64.whl (205.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

unicrypto_lituus-0.1.0-cp310-cp310-macosx_26_0_arm64.macosx_10_9_x86_64.whl (90.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64macOS 26.0+ ARM64

unicrypto_lituus-0.1.0-cp39-cp39-win_amd64.whl (59.7 kB view details)

Uploaded CPython 3.9Windows x86-64

unicrypto_lituus-0.1.0-cp39-cp39-manylinux_2_34_x86_64.whl (204.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

unicrypto_lituus-0.1.0-cp39-cp39-macosx_10_9_x86_64.macosx_26_0_arm64.whl (90.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64macOS 26.0+ ARM64

File details

Details for the file unicrypto_lituus-0.1.0.tar.gz.

File metadata

  • Download URL: unicrypto_lituus-0.1.0.tar.gz
  • Upload date:
  • Size: 99.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for unicrypto_lituus-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ec1f355bd924f0ccb258a794030ec47992cf3269d144710b59a7e0b73f5a2dc9
MD5 5c55a04b2ce0f6b9a81477af2a90778d
BLAKE2b-256 6eed1d3261a00339c9aa9022d1657e688f8c3367e2708f17d5fc66b2fbccc91e

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0.tar.gz:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b64bbfa47fff42f284cda29157ddcad28859efad099686f457f47ca0202e6de2
MD5 d57a268de806fc65112d4478ef9b9dec
BLAKE2b-256 1b19a7f76a59f9917c599b83f21920322f07fc770e71bb7e1e68b064c22d0e7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp314-cp314-win_amd64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d5e7d3a67ebfc553c56fc7bf8a04a8fa6616459896e2fbe08f2d6e88aee3acf9
MD5 b5960b1f1711c684ab95832bad603d45
BLAKE2b-256 0c97ca9744152b6b3f0fb6c97188047f8a61f1acff749ac849096d638a56e08b

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp314-cp314-manylinux_2_34_x86_64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp314-cp314-macosx_10_15_x86_64.macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp314-cp314-macosx_10_15_x86_64.macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 84d75685e6a2ff254ef19781f6fb85c9b278e730b240ab6b5807a1120287b9e4
MD5 13bfbf895c5e4ba064b8e4b299667302
BLAKE2b-256 c1ff447af2cdcd50782ae73d305906496de62293da44b1ee1d1369eeacf32f3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp314-cp314-macosx_10_15_x86_64.macosx_26_0_arm64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8e67f824fe364b7824549b91de01305b47062e9d701c266e06c1d21f7794f15a
MD5 2a65d3dd06b214b0bd3a83ff86b7bafe
BLAKE2b-256 f7e3f03d217377fcfdb51835fb032a7936a10bbb866173c0cda4cbe81c8ee0df

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 342bee552576e6c82557e791f6e5d83fbeff94d30ddc9ced97e73a034676381f
MD5 86d99af58a19dc8653d67d990ec526d0
BLAKE2b-256 e529b7b3fee62ae5aa930fe1d0118d4fbf928b84e88c7fc00e8a6e459e4d2445

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp313-cp313-macosx_10_13_x86_64.macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp313-cp313-macosx_10_13_x86_64.macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 3aafe532877c5d9900aa9822210a494b22c022aa67ec8f576dcea253ef60194b
MD5 c6072bfb51961a3f33a721204b671d1f
BLAKE2b-256 81a3b9d878bd7e19857a06beedc55b644067614889ca2025d33052ea297214b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp313-cp313-macosx_10_13_x86_64.macosx_26_0_arm64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 759348ab70581e66ae67badfb338726c872eb74dd240b4589c76f087d45850f4
MD5 ead6ddc41a528afcbf859ae6461e39de
BLAKE2b-256 a057db50d63ff459a9de3efc3f733cbca0784cc5e4c5fc6e252cd20f9fe4a9b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 bfe9430312e7a18a8cfcc35b0bc1563abf03cfcd2bdc973a31a9a4479ab3972d
MD5 e85e88aa307be85820cf845c195671ff
BLAKE2b-256 ce973f31e953dfb97ce3d971e4278cf9f8b394e3d1fb33b876e36cbfa4924419

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp312-cp312-macosx_10_13_x86_64.macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp312-cp312-macosx_10_13_x86_64.macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 c5c4010d464263712428a65283de1b649530db531e9f458c65700a9f6c45de7f
MD5 65ebecc8e26c3cd109e9a264904f5641
BLAKE2b-256 27bb1453343c77375bcdabc00063b3bedcd93cf16e6cfb9075cc8ff9db9d7799

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp312-cp312-macosx_10_13_x86_64.macosx_26_0_arm64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9625c1f68e4325b4004844eff85be48ed6ee43142568545dfdba0d3e37bb1e7a
MD5 645b2a238934eb33fd641ad22afb1870
BLAKE2b-256 d99df563036bf2acce53f638dd6b5d714a396fd2494a6790c4065fc6d033dac9

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a5ed1dbd0f1769f2ae2079b5df1f9d652966b2c502b64eb66f0a3685a1c0280c
MD5 be9d4e1e1c2b4bacc0c56ce3817a3840
BLAKE2b-256 7d2d7a3296bb7878b1fbe9e5026c7dade93c4d8bf78d8244d1398e3c8241b437

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp311-cp311-macosx_10_9_x86_64.macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp311-cp311-macosx_10_9_x86_64.macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 88d45fd8ad1baf26081bf0c054793befab6f1f4ce1069d16932ca5ce27770299
MD5 02b6494bf09afb3421e68aa0adef0fe3
BLAKE2b-256 6ac94143198d6638a9d47a1128c29e26dfaeeffd462bf501e37be26ba9181e51

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp311-cp311-macosx_10_9_x86_64.macosx_26_0_arm64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b9949ef7f48191a4531f57f8d455eccc4628883f4056ba4272eaaf124f4dec46
MD5 21c12e961db2ce126d46f32fd186758e
BLAKE2b-256 a8d18d7716a041f5d2c48521ca26ad6bb702f0641c935c887390753b76bb90ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b8787ccb238b6b9de1d071f1f539a212397819c8bf60766f0d4a2f81cb45c3fd
MD5 d728926cf52f31f07ccd2e90bd160041
BLAKE2b-256 370977f7de1db6fd492c60bf265257bc52731987faa0b517d0fce3a39bf7836f

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp310-cp310-macosx_26_0_arm64.macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp310-cp310-macosx_26_0_arm64.macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 002d79e5a8eda0f84755b805116187fec4442465de3573a5cc22d720885edf6c
MD5 ae24b911d22d58d2638ef79b41e74d9a
BLAKE2b-256 d611406755b166e6d4d59891ea8f86cab28b630629338aeef0f3f790a805a230

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp310-cp310-macosx_26_0_arm64.macosx_10_9_x86_64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7a51f7eadbf8eb99c41e61c849a1e560f73ed92d714a985464ae9f29c367ef08
MD5 70a78178dffc52cf11226584f2f5985b
BLAKE2b-256 37b37f79a374a57a169f48bf697f0c19030ed4813b228464be47bf19c93e4933

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp39-cp39-win_amd64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4e3b4536052bd55940c5492db398787eeca2bb027d323cd3e29e1505c8c0befe
MD5 6194cc2c788e3646b0925fa5a148e407
BLAKE2b-256 be2cd64ffe9dbd75e10fb7496094102af49ca744bd708e27828897b390afec22

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp39-cp39-manylinux_2_34_x86_64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file unicrypto_lituus-0.1.0-cp39-cp39-macosx_10_9_x86_64.macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for unicrypto_lituus-0.1.0-cp39-cp39-macosx_10_9_x86_64.macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 c929f925a6939b2b81f238e39535a5286903000f5e4e428b85d36e901cf1c268
MD5 91682000261c701d2fa946e63ffd91d9
BLAKE2b-256 7da416e4121e365ce2642463bad1b506b240a1ab1ba471c4a4572aa38aaf61ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for unicrypto_lituus-0.1.0-cp39-cp39-macosx_10_9_x86_64.macosx_26_0_arm64.whl:

Publisher: release.yml on lituus-lab/UniCrypto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page