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.6.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.6-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: muerte32crypt-1.0.6.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.6.tar.gz
Algorithm Hash digest
SHA256 40e88e5b2f84a64e8311490c38f064105aed9a9096e18049ff77bc1219da1b96
MD5 c9f155bf37e2d3da642ca777dd7ae647
BLAKE2b-256 c54c307f27541bb37ad04fa1bc9b990cc07ed6f1273dadbf7c1dcc3e53cf4717

See more details on using hashes here.

File details

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

File metadata

  • Download URL: muerte32crypt-1.0.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 59824f55346a7082ee9b74f7a32bae025d4f38f9335a249364979f50bb456afb
MD5 e77b78619877cf7e6ac4321dd4768341
BLAKE2b-256 0122d593e815d1d1a57b55b165c1a048586524060e58b884b1fa46d5b35ec3e0

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