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.3.tar.gz (15.7 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.3-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: muerte32crypt-1.0.3.tar.gz
  • Upload date:
  • Size: 15.7 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.3.tar.gz
Algorithm Hash digest
SHA256 13940518eb94a0d0bf1c135ead2cfab584415d3839e35ec580faf837edacef59
MD5 5696c516b95e125d88ffb03dc5e373d9
BLAKE2b-256 e5ba70f5f4459a071d9d50238065af3181fdbfe0a8164054cfd742422179a4a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: muerte32crypt-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 14.9 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 31c75fc0df74935ca06a3cc3a637af9960790010a69cc4a03dc37c006c9092e5
MD5 a7ae4db8b00e30582033bf62f83a3502
BLAKE2b-256 2b493d69f98dbe5204941b915b3d423b6472c8beb06cb98b3831fcf4e6bad0b2

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