summaryrefslogtreecommitdiff
path: root/src/crypto/interface.h
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2015-03-04 19:33:35 +0000
committerOthmar Gsenger <otti@anytun.org>2015-03-04 19:33:35 +0000
commit44c94befcb9871450f574dfe0e7c8ca098efdaa9 (patch)
tree958d97d6bb540b6e40f49a0563fd93e05bea8bbf /src/crypto/interface.h
parentnew crypt openssl crypt working (auth tag support to be done) (diff)
added auth tag support to refactored crypto implementation
Diffstat (limited to 'src/crypto/interface.h')
-rw-r--r--src/crypto/interface.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/crypto/interface.h b/src/crypto/interface.h
index 0ca52fb..49013ba 100644
--- a/src/crypto/interface.h
+++ b/src/crypto/interface.h
@@ -118,6 +118,8 @@ namespace crypto {
void decrypt(EncryptedPacket& in, PlainPacket& out, const Buffer& masterkey, const Buffer& mastersalt, role_t role);
void calcCryptCtr(const Buffer& masterkey, const Buffer& mastersalt, kd_dir_t dir, role_t role, satp_prf_label_t label, seq_nr_t seq_nr, sender_id_t sender_id, mux_t mux, cipher_aesctr_ctr_t * ctr);
void calcKeyCtr(const Buffer& mastersalt, kd_dir_t dir, role_t role, satp_prf_label_t label, seq_nr_t seq_nr, sender_id_t sender_id, mux_t mux, key_derivation_aesctr_ctr_t * ctr);
+ bool checkAndRemoveAuthTag(EncryptedPacket& packet, const Buffer& masterkey, const Buffer& mastersalt, role_t role);
+ void addAuthTag(EncryptedPacket& packet, const Buffer& masterkey, const Buffer& mastersalt, role_t role);
// pure virtual
@@ -125,6 +127,8 @@ namespace crypto {
virtual uint32_t cipher(uint8_t* in, uint32_t ilen, uint8_t* out, uint32_t olen, const Buffer& masterkey, const Buffer& mastersalt, role_t role, seq_nr_t seq_nr, sender_id_t sender_id, mux_t mux) = 0;
virtual uint32_t decipher(uint8_t* in, uint32_t ilen, uint8_t* out, uint32_t olen, const Buffer& masterkey, const Buffer& mastersalt, role_t role, seq_nr_t seq_nr, sender_id_t sender_id, mux_t mux) = 0;
virtual void deriveKey(kd_dir_t dir, satp_prf_label_t label, role_t role, seq_nr_t seq_nr, sender_id_t sender_id, mux_t mux, const Buffer& masterkey, const Buffer& mastersalt, Buffer& key) = 0;
+ virtual void calcAuthKey(Buffer & key, Buffer & digest, uint8_t * payload, size_t payload_length ) = 0;
+ virtual uint32_t getDigestLength() = 0;
// virtual
virtual ~Interface();