From 36795a688fd1d5bb9f497970938d9fcb08cfc330 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Mon, 7 Mar 2022 00:45:30 +0100 Subject: Implement support of Blake2s-256 hash algorithm and remove deprecated algorithms RIPEMD-160 and GOST89. --- src/Volume/Hash.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src/Volume/Hash.cpp') diff --git a/src/Volume/Hash.cpp b/src/Volume/Hash.cpp index 3925dde6..aad900c1 100644 --- a/src/Volume/Hash.cpp +++ b/src/Volume/Hash.cpp @@ -12,7 +12,7 @@ #include "Hash.h" -#include "Crypto/Rmd160.h" +#include "Crypto/blake2.h" #include "Crypto/Sha2.h" #include "Crypto/Whirlpool.h" #include "Crypto/Streebog.h" @@ -25,9 +25,9 @@ namespace VeraCrypt l.push_back (shared_ptr (new Sha512 ())); l.push_back (shared_ptr (new Whirlpool ())); + l.push_back (shared_ptr (new Blake2s ())); l.push_back (shared_ptr (new Sha256 ())); l.push_back (shared_ptr (new Streebog ())); - l.push_back (shared_ptr (new Ripemd160 ())); return l; } @@ -45,28 +45,27 @@ namespace VeraCrypt } // RIPEMD-160 - Ripemd160::Ripemd160 () + Blake2s::Blake2s () { - Deprecated = true; // Mark RIPEMD-160 as deprecated like on Windows. - Context.Allocate (sizeof (RMD160_CTX), 32); + Context.Allocate (sizeof (blake2s_state), 32); Init(); } - void Ripemd160::GetDigest (const BufferPtr &buffer) + void Blake2s::GetDigest (const BufferPtr &buffer) { if_debug (ValidateDigestParameters (buffer)); - RMD160Final (buffer, (RMD160_CTX *) Context.Ptr()); + blake2s_final ((blake2s_state *) Context.Ptr(), buffer); } - void Ripemd160::Init () + void Blake2s::Init () { - RMD160Init ((RMD160_CTX *) Context.Ptr()); + blake2s_init ((blake2s_state *) Context.Ptr()); } - void Ripemd160::ProcessData (const ConstBufferPtr &data) + void Blake2s::ProcessData (const ConstBufferPtr &data) { if_debug (ValidateDataParameters (data)); - RMD160Update ((RMD160_CTX *) Context.Ptr(), data.Get(), (int) data.Size()); + blake2s_update ((blake2s_state *) Context.Ptr(), data.Get(), data.Size()); } // SHA-256 -- cgit v1.2.3