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.4.tar.gz (16.0 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.4-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: muerte32crypt-1.0.4.tar.gz
  • Upload date:
  • Size: 16.0 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.4.tar.gz
Algorithm Hash digest
SHA256 50e58df140b568bd22b277900aa7b673d9e302b16559c605896aaa7a6c75b5d9
MD5 cb25bb1d75d4fc41a416e350482390d4
BLAKE2b-256 25213273e7ffe0168ced359150c08007eb5e468c635d77be8269fa861bd45191

See more details on using hashes here.

File details

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

File metadata

  • Download URL: muerte32crypt-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 15.2 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 29f2a758af94a12eaeac5c62ba267790cba0e155ae6a1dfd30c47dbed50ed011
MD5 4c8cc242ca689d47ea2d7746dc1a018b
BLAKE2b-256 f6420387800347060930f56b00c2243467a2385461e7d2459e2623a94f8b1f10

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