diff options
author | Othmar Gsenger <otti@anytun.org> | 2008-01-31 11:39:39 +0000 |
---|---|---|
committer | Othmar Gsenger <otti@anytun.org> | 2008-01-31 11:39:39 +0000 |
commit | de5c4f910203dd976ad8c17eff90874f548d6bc3 (patch) | |
tree | b83914f21da87be83691f4c57f0be05cef554cab /cypher.h | |
parent | draft fixed version number (diff) |
packet and cypher fixes
Diffstat (limited to 'cypher.h')
-rw-r--r-- | cypher.h | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -33,6 +33,8 @@ #include "datatypes.h" #include "buffer.h" +#include "encryptedPacket.h" +#include "plainPacket.h" #include <gcrypt.h> @@ -45,7 +47,10 @@ public: void setKey(Buffer key) {}; void setSalt(Buffer salt) {}; - virtual void cypher(Buffer& in, Buffer& out, u_int32_t length, seq_nr_t seq_nr, sender_id_t sender_id) {}; + void encrypt(const PlainPacket & in,EncryptedPacket & out, seq_nr_t seq_nr, sender_id_t sender_id); + void decrypt(const EncryptedPacket & in,PlainPacket & out); +private: + virtual void cypher(u_int8_t * in, u_int8_t * out, u_int32_t length, seq_nr_t seq_nr, sender_id_t sender_id) {}; }; class NullCypher : public Cypher @@ -54,7 +59,7 @@ public: NullCypher() {}; ~NullCypher() {}; protected: - void cypher(Buffer& in, Buffer& out, u_int32_t length, seq_nr_t seq_nr, sender_id_t sender_id); + void cypher(u_int8_t * in, u_int8_t * out, u_int32_t length, seq_nr_t seq_nr, sender_id_t sender_id); }; class AesIcmCypher : public Cypher @@ -64,12 +69,12 @@ public: ~AesIcmCypher(); void setKey(Buffer key); void setSalt(Buffer salt); - void cypher(Buffer& in, Buffer& out, u_int32_t length, seq_nr_t seq_nr, sender_id_t sender_id); static const char* MIN_GCRYPT_VERSION; static const u_int32_t GCRYPT_SEC_MEM = 16384; // 16k secure memory protected: + void cypher(u_int8_t * in, u_int8_t * out, u_int32_t length, seq_nr_t seq_nr, sender_id_t sender_id); gcry_cipher_hd_t cipher_; Buffer salt_; }; |