botan
botan copied to clipboard
Implement missing Python functions
Following functions are defined in the C interface but not used in the Python binding:
- [ ] botan_constant_time_compare
- [ ] botan_hex_encode
- [ ] botan_hex_decode
- [ ] botan_base64_encode
- [ ] botan_base64_decode
- [x] botan_hash_copy_state
- [x] botan_hash_block_size
- [ ] botan_cipher_output_length
- [ ] botan_pwdhash
- [ ] botan_pwdhash_timed
- [x] botan_block_cipher_init
- [x] botan_block_cipher_destroy
- [x] botan_block_cipher_clear
- [x] botan_block_cipher_set_key
- [x] botan_block_cipher_block_size
- [x] botan_block_cipher_encrypt_blocks
- [x] botan_block_cipher_decrypt_blocks
- [x] botan_block_cipher_name
- [x] botan_block_cipher_get_keyspec
- [ ] botan_mp_set_from_radix_str
- [x] botan_mp_to_bin
- [ ] botan_mp_from_bin
- [x] botan_mp_is_positive
- [x] botan_mp_is_zero
- [ ] botan_mp_mod_mul
- [x] botan_mp_rand_bits
- [x] botan_mp_rand_range
- [ ] botan_mp_gcd
- [ ] botan_privkey_ed25519_get_privkey
- [ ] botan_privkey_export_encrypted
- [ ] botan_privkey_export_encrypted_pbkdf_iter
- [x] botan_privkey_load_dh
- [x] botan_privkey_load_dsa
- [x] botan_privkey_load_ecdh
- [x] botan_privkey_load_ecdsa
- [ ] botan_privkey_load_ed25519
- [x] botan_privkey_load_elgamal
- [x] botan_privkey_load_rsa
- [ ] botan_privkey_load_rsa_pkcs1
- [x] botan_privkey_load_sm2
- [ ] botan_privkey_load_x25519
- [ ] botan_privkey_rsa_get_privkey
- [ ] botan_privkey_x25519_get_privkey
- [ ] botan_pubkey_ed25519_get_pubkey
- [x] botan_pubkey_load_dh
- [x] botan_pubkey_load_dsa
- [x] botan_pubkey_load_ecdh
- [x] botan_pubkey_load_ecdsa
- [ ] botan_pubkey_load_ed25519
- [x] botan_pubkey_load_elgamal
- [x] botan_pubkey_load_sm2
- [ ] botan_pubkey_load_x25519
- [ ] botan_pubkey_x25519_get_pubkey
- [x] botan_privkey_check_key
- [x] botan_privkey_export_encrypted_pbkdf_msec
- [x] botan_privkey_get_field
- [x] botan_pubkey_check_key
- [x] botan_pubkey_get_field
- [x] botan_pubkey_load_rsa
- [ ] botan_pubkey_sm2_compute_za
- [x] botan_pk_op_key_agreement_size
- [ ] botan_pkcs_hash_id
- [ ] botan_x509_cert_dup
- [ ] botan_x509_cert_not_before
- [ ] botan_x509_cert_not_after
- [ ] botan_x509_cert_get_issuer_dn
- [ ] botan_x509_cert_allowed_usage
- [ ] botan_x509_cert_hostname_match
- [ ] botan_x509_cert_verify
- [ ] botan_totp_init
- [ ] botan_totp_destroy
- [ ] botan_totp_generate
- [ ] botan_totp_check
Probably not needed (redundant with other APIs, or not useful in Python):
- botan_scrub_mem
- botan_mp_equal
- botan_mp_set_from_int
- botan_mp_is_odd
- botan_mp_is_even
- botan_mp_add_u32
- botan_mp_sub_u32
- botan_mp_swap
- botan_mp_to_uint32
- botan_privkey_create_rsa
- botan_privkey_create_ecdsa
- botan_privkey_create_ecdh
- botan_privkey_create_mceliece
- botan_privkey_create_dh
- botan_privkey_create_dsa
- botan_privkey_create_elgamal
- botan_privkey_rsa_get_p
- botan_privkey_rsa_get_q
- botan_privkey_rsa_get_d
- botan_privkey_rsa_get_n
- botan_privkey_rsa_get_e
- botan_pubkey_rsa_get_e
- botan_pubkey_rsa_get_n
- botan_privkey_dsa_get_x
- botan_pubkey_dsa_get_p
- botan_pubkey_dsa_get_q
- botan_pubkey_dsa_get_g
- botan_pubkey_dsa_get_y
- botan_pubkey_load_sm2_enc
- botan_privkey_load_sm2_enc