Added a simple unit test to ensure E(D(M)) = M

This commit is contained in:
Leonetienne
2022-02-06 17:58:17 +01:00
parent 19f3d61335
commit 4064483cad
7 changed files with 268 additions and 2 deletions

View File

@@ -143,6 +143,7 @@
<ClCompile Include="Feistel.cpp" />
<ClCompile Include="Cipher.cpp" />
<ClCompile Include="GhettoCryptWrapper.cpp" />
<ClCompile Include="InitializationVector.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Block.h" />
@@ -152,6 +153,7 @@
<ClInclude Include="Cipher.h" />
<ClInclude Include="Flexblock.h" />
<ClInclude Include="Halfblock.h" />
<ClInclude Include="InitializationVector.h" />
<ClInclude Include="Keyset.h" />
<ClInclude Include="SecureBitset.h" />
<ClInclude Include="Util.h" />

View File

@@ -24,6 +24,9 @@
<ClCompile Include="GhettoCryptWrapper.cpp">
<Filter>Quelldateien</Filter>
</ClCompile>
<ClCompile Include="InitializationVector.cpp">
<Filter>Quelldateien</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Feistel.h">
@@ -59,5 +62,8 @@
<ClInclude Include="SecureBitset.h">
<Filter>Headerdateien</Filter>
</ClInclude>
<ClInclude Include="InitializationVector.h">
<Filter>Headerdateien</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -102,7 +102,12 @@ namespace GhettoCipher
ss << (char)std::bitset<8>(bitstring.substr(i, 8)).to_ulong();
}
return ss.str();
std::string text = ss.str();
// D<>mp excess nullbytes
text.resize(strlen(text.data()));
return text;
}
//! Will convert a flexible data block to a string
@@ -117,7 +122,12 @@ namespace GhettoCipher
ss << (char)std::bitset<8>(bitstring.substr(i, 8)).to_ulong();
}
return ss.str();
std::string text = ss.str();
// D<>mp excess nullbytes
text.resize(strlen(text.data()));
return text;
}
//! Turns a fixed-size data block into a hex-string