4#include <logicalaccess/plugins/crypto/lla_crypto_api.hpp>
17 const std::string &hash =
"sha1");
44 bool secureMode()
const;
50 ByteVector encrypt_apdu(std::shared_ptr<openssl::SymmetricCipher> cipher,
54 ByteVector decrypt_rapdu(std::shared_ptr<openssl::SymmetricCipher> cipher,
74 std::shared_ptr<openssl::SymmetricCipher> createCipher()
const;
93 const std::string hash_algo =
"sha1");
Definition: iso24727crypto.hpp:14
bool step2_success_
Definition: iso24727crypto.hpp:111
std::string cipher_
Definition: iso24727crypto.hpp:100
ByteVector random_k_ifd_
Definition: iso24727crypto.hpp:109
ByteVector k_enc_
Definition: iso24727crypto.hpp:96
ByteVector S_mac_
Definition: iso24727crypto.hpp:114
ByteVector S_enc_
Definition: iso24727crypto.hpp:113
virtual void compute_session_keys(const ByteVector &k_icc, const ByteVector &random_icc)=0
virtual ByteVector compute_mac(std::shared_ptr< openssl::SymmetricCipher > cipher, const ByteVector &in, const ByteVector &k_mac, const ByteVector &iv={}, const ByteVector &scc={})=0
ByteVector S_send_counter_
Definition: iso24727crypto.hpp:115
std::string hash_
Definition: iso24727crypto.hpp:101
ByteVector random_ifd_
Definition: iso24727crypto.hpp:105
ByteVector k_mac_
Definition: iso24727crypto.hpp:97
std::vector< uint8_t > ByteVector
Definition: lla_fwd.hpp:80
Symmetric cipher base class.