summaryrefslogtreecommitdiff
path: root/src/CryptClass/AbstractSKA.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/CryptClass/AbstractSKA.hpp')
-rw-r--r--src/CryptClass/AbstractSKA.hpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/CryptClass/AbstractSKA.hpp b/src/CryptClass/AbstractSKA.hpp
new file mode 100644
index 0000000..7622ab4
--- /dev/null
+++ b/src/CryptClass/AbstractSKA.hpp
@@ -0,0 +1,57 @@
+/**
+ * @file AbstractSKA.hpp
+ * @brief Class for Symmetric-Key Algorithm (SKA)
+ * @author manzerbredes
+ * @date 8 Mars 2015
+ *
+ * Specify which method the algorithm must be implement.
+ *
+ */
+
+#ifndef __AbstractSKA__
+#define __AbstractSKA__
+
+
+//----- std -----
+#include <string>
+
+
+
+/**
+ * @class AbstractSKA AbstractSKA.hpp "/CryptClass/AbstractSKA.hpp"
+ * @brief Class for Symmetric-Key Algorithm (SKA)
+ * @author manzerbredes
+ *
+ * This class should not be instantiate directly.
+ *
+ */
+class AbstractSKA {
+
+ public:
+ /**
+ * @brief Encrypt data.
+ *
+ * @param key : key used to encrypt data
+ * @param data : contain data to encrypt.
+ *
+ * This method must be overwritten.
+ * **Warning** data will be modified.
+ *
+ */
+ virtual std::string encrypt(std::string key, std::string data) = 0;
+
+
+ /**
+ * @brief Decrypt data.
+ *
+ * @param key : key used to decrypt data
+ * @param data : contain data to decrypt.
+ *
+ * This method must be overwritten.
+ * **Warning** data will be modified.
+ *
+ */
+ virtual std::string decrypt(std::string key, std::string data) = 0;
+};
+
+#endif