summaryrefslogtreecommitdiff
path: root/CryptClass
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2015-03-13 15:07:21 +0400
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2015-03-13 15:07:21 +0400
commit802410f7a3bdf2db3823f96e122bf1db45bf6a85 (patch)
treeb761182cd6a6cf47e75b168614b414fd1b5e089e /CryptClass
parent34b47f8e08eff519f6c8372f2e4ce5b24267614c (diff)
parentc113e7b5f46a3434f017de3f2c9f83a002b246f1 (diff)
Merge branch 'PARSER'
Diffstat (limited to 'CryptClass')
-rw-r--r--CryptClass/AESCrypt.cpp1
-rw-r--r--CryptClass/AbstractSKA.hpp13
-rw-r--r--CryptClass/HASHCrypt.cpp53
-rw-r--r--CryptClass/HASHCrypt.hpp26
4 files changed, 53 insertions, 40 deletions
diff --git a/CryptClass/AESCrypt.cpp b/CryptClass/AESCrypt.cpp
index 5a1e3eb..4f7309e 100644
--- a/CryptClass/AESCrypt.cpp
+++ b/CryptClass/AESCrypt.cpp
@@ -21,6 +21,7 @@ AESCrypt::AESCrypt(){
//Destructor
AESCrypt::~AESCrypt(){
+
}
diff --git a/CryptClass/AbstractSKA.hpp b/CryptClass/AbstractSKA.hpp
index ca7230b..7622ab4 100644
--- a/CryptClass/AbstractSKA.hpp
+++ b/CryptClass/AbstractSKA.hpp
@@ -7,29 +7,27 @@
* 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 instanciate directly.
+ * This class should not be instantiate directly.
*
*/
-
class AbstractSKA {
public:
- AbstractSKA(){
- }
- ~AbstractSKA(){
- }
-
/**
* @brief Encrypt data.
*
@@ -42,6 +40,7 @@ class AbstractSKA {
*/
virtual std::string encrypt(std::string key, std::string data) = 0;
+
/**
* @brief Decrypt data.
*
diff --git a/CryptClass/HASHCrypt.cpp b/CryptClass/HASHCrypt.cpp
index cd0dab6..eed9cb5 100644
--- a/CryptClass/HASHCrypt.cpp
+++ b/CryptClass/HASHCrypt.cpp
@@ -8,13 +8,12 @@
*
*/
+
//----- class -----
#include "HASHCrypt.hpp"
-
-
//Constructor
HASHCrypt::HASHCrypt(){
}
@@ -25,6 +24,7 @@ HASHCrypt::~HASHCrypt(){
+//Contruct MD5 over 128 bits and put it into digest
void HASHCrypt::getMD5_128(std::string chain, byte* digest, int size){
//Digest size controller
@@ -37,6 +37,8 @@ void HASHCrypt::getMD5_128(std::string chain, byte* digest, int size){
}
+
+//Contruct SHA-256 and put it into digest
void HASHCrypt::getSHA_256(std::string chain, byte* digest, int size){
//Digest size controller
@@ -50,27 +52,6 @@ void HASHCrypt::getSHA_256(std::string chain, byte* digest, int size){
}
-//Check the size of the digest
-void HASHCrypt::checkDigestSize(int sizeRequired, int size){
- try{
- if(size !=sizeRequired){
- throw this->getInvalidDigestSizeError(sizeRequired, size);
- }
-
- }
- catch(std::string erreur){
- std::cerr << erreur <<std::endl;
- std::exit(EXIT_FAILURE);
- }
-}
-
-//Make the error
-std::string HASHCrypt::getInvalidDigestSizeError(int sizeRequired, int size){
- std::ostringstream erreurStream;
- erreurStream << "Invalid digest size ! ("<< sizeRequired <<" bytes required and "<< size <<" given)";
- return erreurStream.str();
-}
-
//Compare 2 digest (same size)
bool HASHCrypt::compareDigest(byte* digest1, byte* digest2, int size){
@@ -96,6 +77,7 @@ bool HASHCrypt::compareDigest(byte* digest1, byte* digest2, int size){
}
+
//Convert digest to string
std::string HASHCrypt::digestToString(byte* digest, int size){
@@ -107,3 +89,28 @@ std::string HASHCrypt::digestToString(byte* digest, int size){
return output;
}
+
+
+
+//Check the size of the digest
+void HASHCrypt::checkDigestSize(int sizeRequired, int size){
+ try{
+ if(size !=sizeRequired){
+ throw this->getInvalidDigestSizeError(sizeRequired, size);
+ }
+
+ }
+ catch(std::string erreur){
+ std::cerr << erreur <<std::endl;
+ std::exit(EXIT_FAILURE);
+ }
+}
+
+
+
+//Make the error
+std::string HASHCrypt::getInvalidDigestSizeError(int sizeRequired, int size){
+ std::ostringstream erreurStream;
+ erreurStream << "Invalid digest size ! ("<< sizeRequired <<" bytes required and "<< size <<" given)";
+ return erreurStream.str();
+}
diff --git a/CryptClass/HASHCrypt.hpp b/CryptClass/HASHCrypt.hpp
index 2c17d3d..3eafb2f 100644
--- a/CryptClass/HASHCrypt.hpp
+++ b/CryptClass/HASHCrypt.hpp
@@ -45,27 +45,31 @@ class HASHCrypt{
*/
~HASHCrypt();
+
/**
* @brief Create an MD5 over 128 bits on a digest array of bytes.
*
* @param chain : Chain to hash
* @param digest : An array of bytes (8 bits)
- * @param size : Length of the array digest
+ * @param size : Length of digest
*
* **Warning** digest will be modified.
* Digest must be an array of byte with 16 entries
+ * Invalid size can cause "Segmentation Fault"
*/
void getMD5_128(std::string chain, byte* digest, int size);
+
/**
* @brief Create an SHA over 256 bits on a digest array of bytes.
*
* @param chain : Chain to hash
* @param digest : An array of bytes (8 bits)
- * @param size : Length of the array digest
+ * @param size : Length of digest
*
* **Warning** digest will be modified.
* Digest must be an array of byte with 32 entries
+ * Invalid size can cause "Segmentation Fault"
*/
void getSHA_256(std::string chain, byte* digest, int size); //Return SHA_256
@@ -73,14 +77,15 @@ class HASHCrypt{
/**
* @brief Convert digest to a string of HEX characters
*
- * @param digest : An array of bytes (8 bits)
- * @param size : Length of the array digest
+ * @param digest : an array of bytes (8 bits)
+ * @param size : length of digest
*
- * @return a string of hex digest equivalent
+ * @return return a string of hex digest equivalent
*
- * Digest must be an array of byte with 16 entries
+ * Digest must be an array of byte.
*/
- std::string digestToString(byte* digest, int size); //Return a string of a digest
+ std::string digestToString(byte* digest, int size); //Return a string
+
/**
* @brief Compare 2 digest
@@ -89,10 +94,11 @@ class HASHCrypt{
* @param digest2 : An array of bytes (8 bits)
* @param size : Length of the array digest1 or digest2
*
- * @return a boolean if digest1 equals to digest2
+ * @return return a boolean (true if digest1 equals to digest2 and false else)
*
* **Warning** if sizeof(digest1) != sizeof(digest 2) : segmentation fault !
* Compare the two digest.
+ *
*/
bool compareDigest(byte* digest1, byte* digest2, int size);
@@ -105,7 +111,7 @@ class HASHCrypt{
* @param sizeRequired : Digest size expected
* @param size : Given digest size
*
- * Throw an exception, and stop the programm if
+ * Throw an exception, and stop the program if
* sizeRequired != size
* Use getInvalidDigestSizeError method.
*/
@@ -113,7 +119,7 @@ class HASHCrypt{
/**
- * @brief Make and error message.
+ * @brief Make "invalid digest size" error message.
*
* @param sizeRequired : Digest size expected
* @param size : Given digest size