summaryrefslogtreecommitdiff
path: root/serpent.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2020-01-01 21:08:21 -0500
committerJeffrey Walton <noloader@gmail.com>2020-01-01 21:08:21 -0500
commit20a4626b5d61688037ae26b65d34757a8abc0fca (patch)
tree01547d932623e6768cfd0e387fecd7a61003fe13 /serpent.h
parent1cf770628d9f019b9773ded774340b3cab5f7cda (diff)
downloadcryptopp-git-20a4626b5d61688037ae26b65d34757a8abc0fca.tar.gz
Update documentation
Diffstat (limited to 'serpent.h')
-rw-r--r--serpent.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/serpent.h b/serpent.h
index c8a5a974..bd3cedbe 100644
--- a/serpent.h
+++ b/serpent.h
@@ -2,6 +2,8 @@
/// \file serpent.h
/// \brief Classes for the Serpent block cipher
+/// \sa <a href="https://www.cl.cam.ac.uk/~rja14/serpent.html">A
+/// Candidate Block Cipher for the Advanced Encryption Standard</a>
#ifndef CRYPTOPP_SERPENT_H
#define CRYPTOPP_SERPENT_H
@@ -19,10 +21,15 @@ struct Serpent_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16
};
/// \brief Serpent block cipher
-/// \sa <a href="http://www.cryptopp.com/wiki/Serpent">Serpent</a>
+/// \sa <a href="http://www.cryptopp.com/wiki/Serpent">Serpent</a> on the
+/// Crypto++ wiki, <a href="https://www.cl.cam.ac.uk/~rja14/serpent.html">A
+/// Candidate Block Cipher for the Advanced Encryption Standard</a>
/// \since Crypto++ 3.1
class Serpent : public Serpent_Info, public BlockCipherDocumentation
{
+ /// \brief Serpen block cipher base implementation
+ /// \details Provides implementation common to encryption and decryption
+ /// \since Crypto++ 3.1
class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<Serpent_Info>
{
public:
@@ -32,12 +39,20 @@ class Serpent : public Serpent_Info, public BlockCipherDocumentation
FixedSizeSecBlock<word32, 33*4> m_key;
};
+ /// \brief Serpent encryption transformation
+ /// \details Enc provides the encryption transformation.
+ /// All key sizes are supported.
+ /// \since Crypto++ 3.1
class CRYPTOPP_NO_VTABLE Enc : public Base
{
public:
void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const;
};
+ /// \brief Serpent decryption transformation
+ /// \details Dec provides the decryption transformation.
+ /// All key sizes are supported.
+ /// \since Crypto++ 3.1
class CRYPTOPP_NO_VTABLE Dec : public Base
{
public: