diff --git a/bench2.cpp b/bench2.cpp index 9371cd01..38da6224 100644 --- a/bench2.cpp +++ b/bench2.cpp @@ -135,12 +135,12 @@ void Benchmark2(double t, double hertz) { BenchMarkByName("Panama-LE"); BenchMarkByName("Panama-BE"); - BenchMarkByName("Salsa20"); + BenchMarkByName("Salsa20", 0, "Salsa20"); BenchMarkByName("Salsa20", 0, "Salsa20/12", MakeParameters(Name::Rounds(), 12)); BenchMarkByName("Salsa20", 0, "Salsa20/8", MakeParameters(Name::Rounds(), 8)); - BenchMarkByName("ChaCha"); - BenchMarkByName("ChaCha", 0, "ChaCha/12", MakeParameters(Name::Rounds(), 12)); - BenchMarkByName("ChaCha", 0, "ChaCha/8", MakeParameters(Name::Rounds(), 8)); + BenchMarkByName("ChaCha", 0, "ChaCha20"); + BenchMarkByName("ChaCha", 0, "ChaCha12", MakeParameters(Name::Rounds(), 12)); + BenchMarkByName("ChaCha", 0, "ChaCha8", MakeParameters(Name::Rounds(), 8)); BenchMarkByName("Sosemanuk"); BenchMarkByName("Rabbit"); BenchMarkByName("RabbitWithIV"); diff --git a/chacha.cpp b/chacha.cpp index 9a5aedfc..723f37f2 100644 --- a/chacha.cpp +++ b/chacha.cpp @@ -32,6 +32,11 @@ void ChaCha_TestInstantiations() } #endif +std::string ChaCha_Policy::AlgorithmName() const +{ + return std::string("ChaCha")+IntToString(m_rounds); +} + std::string ChaCha_Policy::AlgorithmProvider() const { #if (CRYPTOPP_SSE2_INTRIN_AVAILABLE || CRYPTOPP_SSE2_ASM_AVAILABLE) diff --git a/chacha.h b/chacha.h index e7ec2cb2..50d33d09 100644 --- a/chacha.h +++ b/chacha.h @@ -22,6 +22,13 @@ NAMESPACE_BEGIN(CryptoPP) /// \since Crypto++ 5.6.4 struct ChaCha_Info : public VariableKeyLength<32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8> { + /// \brief The algorithm name + /// \returns the algorithm name + /// \details StaticAlgorithmName returns the algorithm's name as a static + /// member function. + /// \details Bernstein named the cipher variants ChaCha8, ChaCha12 and + /// ChaCha20. More generally, Bernstein called the family ChaCha{r}. + /// AlgorithmName() provides the exact name once rounds are set. static const char* StaticAlgorithmName() { return "ChaCha"; } @@ -40,6 +47,7 @@ protected: unsigned int GetAlignment() const; unsigned int GetOptimalBlockSize() const; + std::string AlgorithmName() const; std::string AlgorithmProvider() const; FixedSizeAlignedSecBlock m_state;