botan icon indicating copy to clipboard operation
botan copied to clipboard

Implement missing Python functions

Open randombit opened this issue 5 years ago • 0 comments

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

randombit avatar Apr 19 '19 11:04 randombit