Skip to main content

Windows-native DPAPI encryption with a clean Python interface.

Project description

muerte32crypt

Windows-native DPAPI encryption using ctypes. Encrypt and decrypt strings, bytes, or files with optional entropy and descriptions. Includes TPM utilities, certificate handling, RSA, EC & Ed keys, symmetric ciphers, Twofish, and key management.


Features

  • DPAPI encryption/decryption: encrypt, decrypt, encrypt_str, decrypt_str, encrypt_file, decrypt_file

  • TPM utilities: is_tpm_available, generate_tpm_key, seal_data_to_tpm, unseal_data_from_tpm

  • Hashing & HMAC: sha256, sha512, hmac_sha256, hmac_sha512

  • AES: Key wrap/unwrap: aes_key_wrap, aes_key_unwrap AES-GCM encrypt/decrypt: aes_gcm_encrypt, aes_gcm_decrypt, aes_gcm_encrypt_with_nonce, aes_gcm_decrypt_with_nonce AES-CBC encrypt/decrypt: aes_cbc_encrypt, aes_cbc_decrypt

  • RSA: Generate keys: generate_rsa_keypair Encrypt/decrypt: rsa_encrypt, rsa_decrypt Sign/verify: rsa_sign, rsa_verify Serialize/load keys: serialize_private_key, serialize_public_key, load_private_key, load_public_key Get fingerprint: get_public_key_fingerprint

  • Twofish symmetric cipher: twofish_encrypt_raw, twofish_decrypt_raw

  • Certificates: Load/save certs and CSRs: load_cert, save_cert, load_csr, save_csr Generate self-signed certs and CSRs: generate_self_signed_cert, generate_csr Get cert info: get_cert_fingerprint, get_cert_subject, get_cert_issuer, get_cert_sans Verify cert chain: verify_cert_chain

  • Elliptic and EdDSA curves: generate_ec_key, generate_ed_key, list_all_curves, get_curve_name

  • Key Management (class KeyManager):

    • Symmetric key generate/get/delete/rotate
    • RSA keypair generate/import/export/get/delete
    • Derive keys from passwords with PBKDF2
    • Salt generation

Usage example

from muerte32crypt.dpapi import encrypt_str, decrypt_str

encrypted = encrypt_str("my_secret_password", entropy="somesalt")
print(decrypt_str(encrypted, entropy="somesalt"))
from muerte32crypt.keymanagement import KeyManager

km = KeyManager()
km.generate_key("my_sym_key", 32)
key = km.get_key("my_sym_key")
print(key.hex())

priv, pub = km.generate_rsa_keypair("my_rsa_key")
pem = km.export_private_key_pem("my_rsa_key", passphrase=b"mypass")
print(pem.decode())
from muerte32crypt.certs import generate_self_signed_cert, get_cert_subject

cert, key = generate_self_signed_cert("example.com")
print(get_cert_subject(cert))

Installation

pip install muerte32crypt

Project details


Download files

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

Source Distribution

muerte32crypt-1.0.7.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

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

muerte32crypt-1.0.7-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file muerte32crypt-1.0.7.tar.gz.

File metadata

  • Download URL: muerte32crypt-1.0.7.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for muerte32crypt-1.0.7.tar.gz
Algorithm Hash digest
SHA256 f1351d03f4c2d8c7e9921a1c5301e84cb606ab36543ea43b02bf220965e7c1b0
MD5 524bd4c98db71bc37fa3ef96158a6e1e
BLAKE2b-256 2ca4a7c955c5a03986d1a25c102b72891365d7f0708a53cf3ceddc06dd2dc8d6

See more details on using hashes here.

File details

Details for the file muerte32crypt-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: muerte32crypt-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for muerte32crypt-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1ca0d1a509bccca24c5480ba85c299734ba886b29bee49c8e21f68b7b9154915
MD5 15d794852f15b265e051a90e3c91e2f4
BLAKE2b-256 ade334cc7ab28a144eecc65cc5468f2ff4cc3ae8d2e28e14b2a2208ba450b664

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