Skip to main content

An abstraction layer for the cryptography used by Devolutions

Project description

devolutions-crypto

PyPI version Python versions

Cryptographic library used in Devolutions products. It is made to be fast, easy to use and misuse-resistant.

This is the official Python wrapper for the devolutions-crypto Rust library, providing high-performance cryptographic operations with a simple, Pythonic API.

Installation

pip install devolutions-crypto

Features

  • Symmetric Encryption: Fast AES-256-GCM encryption for shared-key scenarios
  • Asymmetric Encryption: X25519-based public-key encryption
  • Password Hashing: Secure password hashing with PBKDF2
  • Digital Signatures: Ed25519 signatures for data authentication
  • Key Derivation: PBKDF2 and Argon2 key derivation functions
  • Type Safety: Full type hints and IDE support via stub files

Quick Start

import devolutions_crypto
import os

# Generate a random encryption key
key = os.urandom(32)

# Encrypt some data
plaintext = b"Hello, World!"
ciphertext = devolutions_crypto.encrypt(plaintext, key)

# Decrypt it back
decrypted = devolutions_crypto.decrypt(ciphertext, key)
assert decrypted == plaintext

Usage Examples

Table of Contents

Symmetric Encryption

Use symmetric encryption when both parties share the same secret key.

import devolutions_crypto
import os

# Generate a 32-byte encryption key
key = os.urandom(32)

# Encrypt data
plaintext = b"This is secret data"
ciphertext = devolutions_crypto.encrypt(plaintext, key)

# Decrypt data
decrypted = devolutions_crypto.decrypt(ciphertext, key)
assert decrypted == plaintext

With Additional Authenticated Data (AAD)

AAD allows you to bind additional context to the ciphertext without encrypting it:

import devolutions_crypto
import os

key = os.urandom(32)
plaintext = b"Secret message"
aad = b"user_id:12345"  # Context data (not encrypted, but authenticated)

# Encrypt with AAD
ciphertext = devolutions_crypto.encrypt(plaintext, key, aad=aad)

# Decrypt with AAD (must match encryption AAD)
decrypted = devolutions_crypto.decrypt(ciphertext, key, aad=aad)
assert decrypted == plaintext

# Decryption fails with wrong or missing AAD
try:
    devolutions_crypto.decrypt(ciphertext, key, aad=b"wrong_context")
except devolutions_crypto.DevolutionsCryptoException:
    print("Authentication failed - AAD mismatch")

Asymmetric Encryption

Use asymmetric encryption when you want to encrypt data for a recipient using their public key.

import devolutions_crypto

# Generate a keypair
keypair = devolutions_crypto.generate_keypair()

# Encrypt data with the public key
plaintext = b"Secret message for Bob"
ciphertext = devolutions_crypto.encrypt_asymmetric(plaintext, keypair.public_key)

# Decrypt with the private key
decrypted = devolutions_crypto.decrypt_asymmetric(ciphertext, keypair.private_key)
assert decrypted == plaintext

Key Exchange Example

Alice and Bob can establish a shared secret without transmitting it:

import devolutions_crypto

# Alice generates her keypair
alice_keypair = devolutions_crypto.generate_keypair()

# Bob generates his keypair
bob_keypair = devolutions_crypto.generate_keypair()

# They exchange public keys (public keys can be transmitted over insecure channels)

# Alice encrypts a message for Bob using his public key
message = b"Hello Bob!"
ciphertext = devolutions_crypto.encrypt_asymmetric(message, bob_keypair.public_key)

# Bob decrypts the message using his private key
decrypted = devolutions_crypto.decrypt_asymmetric(ciphertext, bob_keypair.private_key)
assert decrypted == message

Password Hashing

Securely hash and verify passwords using PBKDF2:

import devolutions_crypto

# Hash a password (this is slow by design - use high iterations)
password = b"my_secure_password123!"
password_hash = devolutions_crypto.hash_password(
    password,
    iterations=100000,  # Higher is more secure but slower
    version=0
)

# Verify the password
is_valid = devolutions_crypto.verify_password(password, password_hash)
assert is_valid is True

# Wrong password fails verification
is_valid = devolutions_crypto.verify_password(b"wrong_password", password_hash)
assert is_valid is False

Digital Signatures

Sign data to prove authenticity and verify signatures:

Generating a Signing Keypair

import devolutions_crypto

# Generate a signing keypair
signing_keypair = devolutions_crypto.generate_signing_keypair()

# Extract the public key
public_key = devolutions_crypto.get_signing_public_key(signing_keypair)

Signing Data

import devolutions_crypto

# Sign some data
data = b"This is an important message"
signature = devolutions_crypto.sign(data, signing_keypair)

Verifying Signatures

import devolutions_crypto

# Verify the signature with the public key
is_valid = devolutions_crypto.verify_signature(data, public_key, signature)
assert is_valid is True

# Verification fails for modified data
modified_data = b"This is a tampered message"
is_valid = devolutions_crypto.verify_signature(modified_data, public_key, signature)
assert is_valid is False

Key Derivation

Derive cryptographic keys from passwords or other key material.

PBKDF2

import devolutions_crypto
import os

# Derive a key from a password
password = b"user_password"
salt = os.urandom(16)  # Use a unique random salt per user

derived_key = devolutions_crypto.derive_key_pbkdf2(
    password,
    salt=salt,
    iterations=100000,
    length=32
)

# Use the derived key for encryption
plaintext = b"User data"
ciphertext = devolutions_crypto.encrypt(plaintext, derived_key)

Argon2

import devolutions_crypto

# Derive a key using Argon2 (requires Argon2Parameters)
password = b"user_password"
# parameters should be serialized Argon2Parameters
derived_key = devolutions_crypto.derive_key_argon2(password, parameters)

Supported Python Versions

  • Python 3.10+
  • Python 3.11
  • Python 3.12
  • Python 3.13
  • Python 3.14

Supported Platforms

Pre-built wheels are available for:

  • Linux: x86_64, i686, aarch64
  • macOS: x86_64 (Intel), aarch64 (Apple Silicon)
  • Windows: x86, x64, ARM64

Security Notes

  1. Key Management: Always use cryptographically secure random number generators (like os.urandom()) for key generation
  2. Salt Uniqueness: Use unique salts for each password/user when deriving keys
  3. Iterations: Use high iteration counts (100,000+) for password hashing and key derivation
  4. Key Size: Use 32-byte (256-bit) keys for symmetric encryption
  5. AAD: Additional Authenticated Data must match exactly between encryption and decryption

Exception Handling

All functions may raise DevolutionsCryptoException on errors:

import devolutions_crypto

try:
    # Invalid key size
    result = devolutions_crypto.encrypt(b"data", b"short_key")
except devolutions_crypto.DevolutionsCryptoException as e:
    print(f"Encryption error: {e}")

Underlying Algorithms

As of the current version:

  • Symmetric encryption: AES-256-GCM
  • Asymmetric encryption: X25519 (ECDH) + AES-256-GCM (ECIES)
  • Password hashing: PBKDF2-HMAC-SHA256
  • Digital signatures: Ed25519
  • Key derivation: PBKDF2-HMAC-SHA256, Argon2

Performance

This library is built on Rust and compiled to native code, providing excellent performance:

  • Symmetric encryption/decryption: Millions of operations per second
  • Asymmetric operations: Thousands of operations per second
  • Password hashing: Intentionally slow (configurable via iterations)

Contributing

This project is open source. Visit the GitHub repository to report issues or contribute.

License

This project is licensed under MIT OR Apache-2.0.

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.

devolutions_crypto-2026.1.13-cp314-cp314-win_arm64.whl (299.6 kB view details)

Uploaded CPython 3.14Windows ARM64

devolutions_crypto-2026.1.13-cp314-cp314-win_amd64.whl (348.6 kB view details)

Uploaded CPython 3.14Windows x86-64

devolutions_crypto-2026.1.13-cp314-cp314-win32.whl (332.3 kB view details)

Uploaded CPython 3.14Windows x86

devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_x86_64.whl (455.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_i686.whl (498.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ i686

devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_aarch64.whl (421.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

devolutions_crypto-2026.1.13-cp314-cp314-macosx_11_0_arm64.whl (377.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

devolutions_crypto-2026.1.13-cp314-cp314-macosx_10_12_x86_64.whl (425.2 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

devolutions_crypto-2026.1.13-cp313-cp313-win_arm64.whl (299.4 kB view details)

Uploaded CPython 3.13Windows ARM64

devolutions_crypto-2026.1.13-cp313-cp313-win_amd64.whl (348.6 kB view details)

Uploaded CPython 3.13Windows x86-64

devolutions_crypto-2026.1.13-cp313-cp313-win32.whl (331.9 kB view details)

Uploaded CPython 3.13Windows x86

devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_x86_64.whl (455.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_i686.whl (498.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ i686

devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_aarch64.whl (421.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

devolutions_crypto-2026.1.13-cp313-cp313-macosx_11_0_arm64.whl (377.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

devolutions_crypto-2026.1.13-cp313-cp313-macosx_10_12_x86_64.whl (425.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

devolutions_crypto-2026.1.13-cp312-cp312-win_arm64.whl (299.5 kB view details)

Uploaded CPython 3.12Windows ARM64

devolutions_crypto-2026.1.13-cp312-cp312-win_amd64.whl (348.3 kB view details)

Uploaded CPython 3.12Windows x86-64

devolutions_crypto-2026.1.13-cp312-cp312-win32.whl (331.8 kB view details)

Uploaded CPython 3.12Windows x86

devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_x86_64.whl (455.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_i686.whl (499.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ i686

devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_aarch64.whl (421.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

devolutions_crypto-2026.1.13-cp312-cp312-macosx_11_0_arm64.whl (377.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

devolutions_crypto-2026.1.13-cp312-cp312-macosx_10_12_x86_64.whl (424.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

devolutions_crypto-2026.1.13-cp311-cp311-win_arm64.whl (301.4 kB view details)

Uploaded CPython 3.11Windows ARM64

devolutions_crypto-2026.1.13-cp311-cp311-win_amd64.whl (350.4 kB view details)

Uploaded CPython 3.11Windows x86-64

devolutions_crypto-2026.1.13-cp311-cp311-win32.whl (333.1 kB view details)

Uploaded CPython 3.11Windows x86

devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_x86_64.whl (458.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_i686.whl (502.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ i686

devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_aarch64.whl (423.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

devolutions_crypto-2026.1.13-cp311-cp311-macosx_11_0_arm64.whl (379.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

devolutions_crypto-2026.1.13-cp311-cp311-macosx_10_12_x86_64.whl (427.4 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

devolutions_crypto-2026.1.13-cp310-cp310-win_arm64.whl (301.2 kB view details)

Uploaded CPython 3.10Windows ARM64

devolutions_crypto-2026.1.13-cp310-cp310-win_amd64.whl (350.2 kB view details)

Uploaded CPython 3.10Windows x86-64

devolutions_crypto-2026.1.13-cp310-cp310-win32.whl (333.4 kB view details)

Uploaded CPython 3.10Windows x86

devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_x86_64.whl (458.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_i686.whl (502.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ i686

devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_aarch64.whl (423.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

devolutions_crypto-2026.1.13-cp310-cp310-macosx_11_0_arm64.whl (379.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

devolutions_crypto-2026.1.13-cp310-cp310-macosx_10_12_x86_64.whl (427.6 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file devolutions_crypto-2026.1.13-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 d3a1a4ef6947828e94b1a5c3a83432c1ee8be928352ebeda184f8074c97d9db2
MD5 77a16fc71268f3e0bd07ca9a61f63fad
BLAKE2b-256 ed18de9cb8aa7da187b295e4ab27411546275fd35fd66185b4012e9f282524b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp314-cp314-win_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 418bba4acb600f2d6c36ceff45324b25e8dd1f62f7c173870e7e11d8e4e84b12
MD5 1c7f62edb8db3b1e42840e5afe9f3092
BLAKE2b-256 4e46621d1ed99208ef0cc7b15a54c5a0299ef0258e0a6c1b524354d534d35fe0

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp314-cp314-win_amd64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp314-cp314-win32.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 99fa0c971e99b35e0b00c64ad18f34dfbd92b6ecfa42308e5278768f774c9837
MD5 a45bd2aa80956c772420cb0d01f37bb8
BLAKE2b-256 485539489dca0b474d71f56b7a6673d3980f6206c144cd96dfd1e9ecc8e12f6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp314-cp314-win32.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2f1616bfa42284810c1c04d2964b9cd899e46a8f001415b9025ef7adc8aebd36
MD5 411b007b4ca96d80048936eefadf7d58
BLAKE2b-256 7fa77635a9f136a8fb66424488b248e4b2943c934ec66ab00025aa98c62ce4d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 948ecb10d253006a507abdf6dada300a61604f1a1056a8c54c1a28c1ae4170f8
MD5 df784e8e681e380290921316647dffd1
BLAKE2b-256 4fbc6da67c054ef0ab440708622010b8ddcd2b873a66c938c40a06adb250ef30

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_i686.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a9b31fea73195306f8244a179331f3668dbf24a6763585fda788c7091aed4aed
MD5 f80fa8e2743784d1ecf864048656baee
BLAKE2b-256 32ec138304d1633f45454a5437683e96cbd65ed9e67eab878ee733fbde422b4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp314-cp314-manylinux_2_34_aarch64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1466c41451fd8785b6cafe14916353d70366eee9256130fceec14e82aef31924
MD5 5ea02415c179757db3dae4b142ace25d
BLAKE2b-256 979ca89568f1410f539892b9448528e59b7138830e74bf5e54acc8bd6cc3086e

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f82346771d3f8584c10bf95fc53962069c30d6d620022c937c902f4ee5a52a32
MD5 1b4b01f1815b5caaf905dbd995b72452
BLAKE2b-256 eac00d5c920619738593a93e74db3797dfb3c4d62466589a9fb166178a16493b

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 14daac34284e2297b473b263dad525661a961a4c04f408e6742d787480cc5699
MD5 ac136d645f457fbe4c4a9b117d40cd55
BLAKE2b-256 5d512ea765f3d44dde9dd62f9fd17cd677bdf90858149cefbb212ab22dde1a15

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp313-cp313-win_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8b39da7cb9d62134c327fb280b38c4e58bb1e6a40f7647e0f193c44f26f3eab3
MD5 2aa1a22ce6a07960b64c7bfaf74b99ca
BLAKE2b-256 a13705efe94b3f78da10af57e7855d09d39e70372d11f8e135daf5df54f7fb1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp313-cp313-win_amd64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 f63e59da032cf5dcd334abd057a49f775ef0b1e3a9fbe35f19c115f962e0ef1e
MD5 ae59ddf0c3a3274b2450b2526fb7f2be
BLAKE2b-256 0e70138306a90a67eff3771f28ac5e85f2f4ea60fe9304ebe1535595fa72c628

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp313-cp313-win32.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 53ddefccd3146adf452ba2d25cc6d6f95e054c9a617fa701c248d0f0cdc983af
MD5 4b798ea9132e4d0ebec1c15a1cd4ccce
BLAKE2b-256 1d326b7fe6064e6d5415d2a4b4cdac486c7ef6e2b6671bfe404a0ffcbe276655

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 3af08504f85644db32506ef03613cd70d6d2714484892d56610273dd319596d0
MD5 4d8c7714da4725bf17b38fa556eb3aca
BLAKE2b-256 d070cb4b99027a20b0176274da51e5355e6dc5e9bf42dbcf579fcd4767dbc096

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_i686.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 0f1ba9af0282ea9808e1450c2c82c94f8cc693d1dbd7d9afe00eb28192dda977
MD5 d18f9e41b36108c128cddd25d76b70e7
BLAKE2b-256 5805dabc461d7246ce3257ad88686fc7c19ee278338ce73789459b5f8a592cdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp313-cp313-manylinux_2_34_aarch64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 141746736c4d9bf8393913eda8e8411c20a48edaa98855e7580bf9ce522e59b7
MD5 24755c3b7822b535bcee7a3867b4a52a
BLAKE2b-256 3ff76e00538849852c8b9070ce83cedc0cf170f7392bf6758b3a36c4979d855e

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 66b5875c17d71089ea6a570b1df30012961873c8e56fa2daa3050a2909727183
MD5 3eb3b4c815c907f4528e40cd5dac6aaa
BLAKE2b-256 eeaa2a29bfa451d79e6a04e49b806aa02db0be8cbfd81297f0140dd1ea02a102

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 360e441b77e87d13bc7cc0f8b79b6036e7a152d99b6ed975677bd787422b9051
MD5 ce6138b5f0418cb334b8f72adc6c8011
BLAKE2b-256 11ebe648053114a4456c2d24aa0a725f4a08cc4140c7c21c2f6c34293154c85b

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp312-cp312-win_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8947ecb37c6e095b8f9b35a38d59417adea1f5350fb0d80f9d9db1826966dbb7
MD5 4f16cea6ccd8e5eda798d1d7a81f973c
BLAKE2b-256 3ed5e18e2554288b6ca2d642fb38d7a3e44aa421d1360fa235c10be46bfd43a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp312-cp312-win_amd64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 eb6d5d3c522b843878fccb5c9d85e37fd970c94734b19cf431ed5de5d8d5a037
MD5 0baeef289497fb010ee0159a824f49d3
BLAKE2b-256 30377f4335415763d98bcbea9eea7271cc0b255a63fbb3a9093cc5997b9fd879

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp312-cp312-win32.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e89b0743a39619b947cc7e2407c98021ac21dbc0b6395bfa7445c3c499960921
MD5 04c34e2bfce9763939c11197d945c2d9
BLAKE2b-256 712ed9489583dcee982485115fad642d8619bb3ecbfadb22d8c4e81ded1e7578

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 af46430b405a8629880f145618ad1dfe3f7fe166c9070f869afff1bd68b23a2f
MD5 44e2be7a01c53dc09807a539c0559fc4
BLAKE2b-256 979188cbb9a682c2c1598e9c8e83884bf0e5ca8e62f15fd5e48d912e5bda2bf0

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_i686.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 0a8b76ced522ea62d178f152538720fde64da66fb0f48037a1742dde17bdbbd2
MD5 ee06a62a662c72059fb1c121dc766ac2
BLAKE2b-256 dd38a675cdf9aaf9997970c4f2b154688110288ea3d0e35fe9571b4293a76941

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5006eb76581ccb7f55183935bbb345f3a54ca6bc97054d1ca1cce6acbd9660f
MD5 ebbf2dfbc4d1534948b6f18586cffc91
BLAKE2b-256 b7807e97659ce95769e2ba4833dad2d37ff38d7589d660e835c35c8f5385a799

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e130d37ca3a8b664d29044cf6270486b8d3e1ffed8d692c2a5fa327ab2cd9be5
MD5 7701c39efe12db6ca6a97e9da5088f78
BLAKE2b-256 7b6d4223e4714dfca9f0ddbeb0ea7fec10f8a648907f079fd4beb9a09e46eb74

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 bc4e57738578906148c2d10a489564259041fec6588722378e27e44c610f4fe5
MD5 2ad31669b980965584dc8794aeaf60e2
BLAKE2b-256 0a68663b6ccd71f7129eddb26466f80349485e6e5361eb0a2c01681bfe06d470

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp311-cp311-win_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4009ceddb8d57f70df99a797dd6b8e04d983eaa0529fa3408786f341151b3b92
MD5 5cc285810e265e0b44465d245831d6e0
BLAKE2b-256 3629ee1686f7e27c80461c71da5ca7fec674a6a029422e3b4b6ed10469b9a2df

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp311-cp311-win_amd64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f4d489e32907bc06820ecd0aaf9db534453159eedf02f0e7b458d3cb81fa88b1
MD5 4271ea0030e77c47c29766346cea487a
BLAKE2b-256 5468af2e09b51270896cb62e2dd415c74ecff904fa15a841193dc695a5d2e25c

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp311-cp311-win32.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c4f73ca39c5a59f3d13deb2022cb1b2b36497e7f8a1a0236a56dec9b28164868
MD5 4f44c35cf5f6742ed7d9772f5eaac64e
BLAKE2b-256 4db41a554a66c72c7f5352dc351e9961ca4698cddd985119d60af172dfcc8785

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 21e150a88c959bd5af458801448bd7fb17373f3c8cfe80326953062385803dde
MD5 bd7f77e604b2de0d4f125d897414f361
BLAKE2b-256 0af43ffe497f4739b03787ce14bdfcbe766805f49cd8c2902939691a9d0a0438

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_i686.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 aff313bb8e3564769c03b31a390c5f96b0760cd36b8f28c8456bb2a021539063
MD5 0de91d58da2d2e13f859ed3cdcb1f450
BLAKE2b-256 ad207e1b04ebd63f9ecbb667c91104f0e32dc304e3acefe82e64fd04a7ebb2ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a151e1123501762a9acf879eff5003561164f648d10f7b949afa6dbab84e224e
MD5 0c5e62e19f19863ad91177bcd78af9ae
BLAKE2b-256 91715476e2d52500f437e7c083376c6be00e903cc168ef37515d0564734774ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 60ba767563ae75be5f87b6a23347df7ee67a922050209959425b787f62c07ef9
MD5 00a1988445ebcad91acef1bb3d0f3765
BLAKE2b-256 1606eec7dd6f1348a8b0f384c06210616de8082ff503bc85d6118fa2f3911799

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp310-cp310-win_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 9dfb56c009fd02d15bcffaabea5dccd0a0437ee6cc91a2be5066a8c591d52e7b
MD5 cfbfde52e9b5fd97587040e1dbc326c4
BLAKE2b-256 c53771b392d5a1ff84ed42c182a752b1ae6a56f9d21ab02328f5abaff9f4f7d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp310-cp310-win_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3237a6cf8c83aa049ce82eca391c56bfa2364b7b505ee4424c4f377dbb6473b1
MD5 57f516964914dff31a189588e2c470e3
BLAKE2b-256 3e2e2b23f7bb6b9fb809b7501c5496cdf17fb6189921cc624129b9440d02ebc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp310-cp310-win_amd64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 96454b61ef8f6e38d8bd129a7cacd848628a17ab651a66fecf40c5d400ab2b06
MD5 dc6ae06a8182ba7701cf7538ee96cc25
BLAKE2b-256 85e9ba90d0e8584e98a97d227418d6aa4ff610a14714f1236fb904e5fe05b2fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp310-cp310-win32.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 43e834398e90a77762548c3cdde450bfc45b07f08d774c6f3a1262e67e90f04c
MD5 5cbea0e2729eab5bfb5c8c9c295669c7
BLAKE2b-256 cb655997de40809d7e1261d7ae075e36a524b7fac9c20aa72a0743836aa2746f

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 ee3b27feab93d7614f3b9a49178a240389da9f0f341bf04176ea57983ff04a76
MD5 e7245c7c614deb8cd336383158357073
BLAKE2b-256 c42a7222f4ea4360c3232c9714626e3cc662c8f34ef00152a5d90736f1be2bec

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_i686.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 0c69c572c18a5e3d4b6955c356de611247aa426e16b956b5f216b1a868a5e536
MD5 792f18fee9b9e006224babe15c25db4c
BLAKE2b-256 bbc28d1e06c4a831fa383ef52df57e357652975a4e48c610411f5fdc87774609

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp310-cp310-manylinux_2_34_aarch64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7cd826f81a903b6009d661a4e04f4a667cdf124548653a29f9f4f4c4be9cd85
MD5 e8a7b6523ee0a63b6653c51ee75c0043
BLAKE2b-256 8299567d3a044926c10fc1be0b2a5721271bd9f8dae380d9792a7f2215fcc886

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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

File details

Details for the file devolutions_crypto-2026.1.13-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for devolutions_crypto-2026.1.13-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4f7f2f9f153b48601f2b5a31d61cfdbcdf8a9c500b57cd32ffad5fcf154534f5
MD5 fe5bf0092a58e551e0085d920c67ac68
BLAKE2b-256 18f1485c374e7ee90d8f59b7b9406619544bd210cd804ba9a17b81d6f7e9a3c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for devolutions_crypto-2026.1.13-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release-others.yml on Devolutions/devolutions-crypto

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 Pingdom Monitoring Sentry Error logging StatusPage Status page