summaryrefslogtreecommitdiff
path: root/src/crypto/interface.cpp
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2014-09-30 19:47:25 +0000
committerOthmar Gsenger <otti@anytun.org>2014-09-30 19:47:25 +0000
commit2ca5c8503f46b3c17336faa6b547a30d695aec73 (patch)
tree36fbfe858d16879fa3d5254c45a3ffafe1e02c88 /src/crypto/interface.cpp
parentadded openssl crypto class (diff)
refactored crypto interface. linking fails, needs fixing
Diffstat (limited to 'src/crypto/interface.cpp')
-rw-r--r--src/crypto/interface.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/crypto/interface.cpp b/src/crypto/interface.cpp
index a38ad48..fab3565 100644
--- a/src/crypto/interface.cpp
+++ b/src/crypto/interface.cpp
@@ -47,6 +47,22 @@
namespace crypto {
+void Interface::encrypt(PlainPacket& in, EncryptedPacket& out, const Buffer& masterkey, const Buffer& mastersalt, role_t role, seq_nr_t seq_nr, sender_id_t sender_id, mux_t mux)
+{
+ uint32_t len = cipher(in, in.getLength(), out.getPayload(), out.getPayloadLength(), masterkey, mastersalt, role, seq_nr, sender_id, mux);
+ out.setSenderId(sender_id);
+ out.setSeqNr(seq_nr);
+ out.setMux(mux);
+ out.setPayloadLength(len);
+}
+
+void Interface::decrypt(EncryptedPacket& in, PlainPacket& out, const Buffer& masterkey, const Buffer& mastersalt, role_t role)
+{
+ uint32_t len = decipher(in.getPayload() , in.getPayloadLength(), out, out.getLength(), masterkey, mastersalt, role, in.getSeqNr(), in.getSenderId(), in.getMux());
+ out.setLength(len);
+}
+
+
satp_prf_label_t Interface::convertLabel(kd_dir_t dir, role_t role, satp_prf_label_t label)
{
switch(label) {