From 20a4626b5d61688037ae26b65d34757a8abc0fca Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Wed, 1 Jan 2020 21:08:21 -0500 Subject: [PATCH] Update documentation --- cryptlib.h | 7 ++++--- serpent.h | 17 +++++++++++++++- simon.h | 58 +++++++++++++++++++++++++++--------------------------- speck.h | 28 +++++++++++++------------- 4 files changed, 63 insertions(+), 47 deletions(-) diff --git a/cryptlib.h b/cryptlib.h index 2f163401..2f27736b 100644 --- a/cryptlib.h +++ b/cryptlib.h @@ -2027,6 +2027,7 @@ public: virtual bool GetNextMessage(); /// \brief Skip a number of meessages + /// \param count number of messages to skip /// \return 0 if the requested number of messages was skipped, non-0 otherwise /// \details SkipMessages() skips count number of messages. If there is an AttachedTransformation() /// then SkipMessages() is called on the attached transformation. If there is no attached @@ -2047,10 +2048,10 @@ public: /// \brief Copy messages from this object to another BufferedTransformation /// \param target the destination BufferedTransformation - /// \param count the number of messages to transfer - /// \param channel the channel on which the transfer should occur + /// \param count the number of messages to copy + /// \param channel the channel on which the copy should occur /// \return the number of bytes that remain in the current transfer block (i.e., bytes not transferred) - /// \details CopyMessagesTo copies messages from this object and copies them to the destination. + /// \details CopyMessagesTo copies messages from this object to the destination. /// If all bytes are not transferred for a message, then processing stops and the number of remaining /// bytes is returned. CopyMessagesTo() does not proceed to the next message. /// \details A return value of 0 indicates all messages were successfully copied. 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 +/// Candidate Block Cipher for the Advanced Encryption Standard #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 Serpent +/// \sa Serpent on the +/// Crypto++ wiki, A +/// Candidate Block Cipher for the Advanced Encryption Standard /// \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 { public: @@ -32,12 +39,20 @@ class Serpent : public Serpent_Info, public BlockCipherDocumentation FixedSizeSecBlock 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: diff --git a/simon.h b/simon.h index 92a0cccf..fed03cd5 100644 --- a/simon.h +++ b/simon.h @@ -3,11 +3,11 @@ /// \file simon.h /// \brief Classes for the Simon block cipher /// \details Simon is a block cipher designed by Ray Beaulieu, Douglas Shors, Jason Smith, -/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers. +/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers. /// \sa The SIMON and SPECK Families of -/// Lightweight Block Ciphers, -/// The Simon and Speck GitHub and -/// SIMON on the Crypto++ wiki. +/// Lightweight Block Ciphers, +/// The Simon and Speck GitHub and +/// SIMON on the Crypto++ wiki. /// \since Crypto++ 6.0 #ifndef CRYPTOPP_SIMON_H @@ -54,7 +54,7 @@ struct SIMON_Info : public FixedBlockSize, VariableKeyLength /// \brief The algorithm name /// \returns the algorithm name /// \details StaticAlgorithmName returns the algorithm's name as a static - /// member function. + /// member function. static const std::string StaticAlgorithmName() { // Format is Cipher-Blocksize(Keylength) @@ -82,17 +82,17 @@ struct SIMON_Base /// \brief SIMON 64-bit block cipher /// \details Simon is a block cipher designed by Ray Beaulieu, Douglas Shors, Jason Smith, -/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers. +/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers. /// \details SIMON64 provides 64-bit block size. The valid key sizes are 96-bit and 128-bit. /// \sa SIMON64, SIMON128, The SIMON and SIMON -/// Families of Lightweight Block Ciphers, -/// The Simon and Speck GitHub, SIMON on the -/// Crypto++ wiki +/// Families of Lightweight Block Ciphers, +/// The Simon and Speck GitHub, SIMON on the +/// Crypto++ wiki /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE SIMON64 : public SIMON_Info<8, 12, 12, 16>, public BlockCipherDocumentation { public: - /// \brief SIMON block cipher transformation functions + /// \brief SIMON64 block cipher base implementation /// \details Provides implementation common to encryption and decryption /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Base : protected SIMON_Base, public BlockCipherImpl > @@ -101,7 +101,7 @@ public: /// \brief The algorithm name /// \returns the algorithm name /// \details AlgorithmName returns the algorithm's name as a - /// member function. + /// member function. std::string AlgorithmName() const { return StaticAlgorithmName() + (m_kwords == 0 ? "" : "(" + IntToString(m_kwords*sizeof(word32)*8) + ")"); @@ -118,9 +118,9 @@ public: void UncheckedSetKey(const byte *userKey, unsigned int keyLength, const NameValuePairs ¶ms); }; - /// \brief Encryption transformation - /// \details Enc provides implementation for encryption transformation. All key - /// sizes are supported. + /// \brief SIMON64 encryption transformation + /// \details Enc provides the encryption transformation. + /// All key sizes are supported. /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Enc : public Base { @@ -131,9 +131,9 @@ public: #endif }; - /// \brief Decryption transformation - /// \details Dec provides implementation for decryption transformation. All key - /// sizes are supported. + /// \brief SIMON64 decryption transformation + /// \details Dec provides the decryption transformation. + /// All key sizes are supported. /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Dec : public Base { @@ -150,17 +150,17 @@ public: /// \brief SIMON 128-bit block cipher /// \details Simon is a block cipher designed by Ray Beaulieu, Douglas Shors, Jason Smith, -/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers. +/// Stefan Treatman-Clark, Bryan Weeks and Louis Wingers. /// \details SIMON128 provides 128-bit block size. The valid key sizes are 128-bit, 192-bit and 256-bit. /// \sa SIMON64, SIMON128, The SIMON and SIMON -/// Families of Lightweight Block Ciphers, -/// The Simon and Speck GitHub, SIMON on the -/// Crypto++ wiki +/// Families of Lightweight Block Ciphers, +/// The Simon and Speck GitHub, SIMON on the +/// Crypto++ wiki /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE SIMON128 : public SIMON_Info<16, 16, 16, 32>, public BlockCipherDocumentation { public: - /// \brief SIMON block cipher transformation functions + /// \brief SIMON128 block cipher base implementation /// \details Provides implementation common to encryption and decryption /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Base : protected SIMON_Base, public BlockCipherImpl > @@ -169,7 +169,7 @@ public: /// \brief The algorithm name /// \returns the algorithm name /// \details AlgorithmName returns the algorithm's name as a - /// member function. + /// member function. std::string AlgorithmName() const { return StaticAlgorithmName() + (m_kwords == 0 ? "" : "(" + IntToString(m_kwords*sizeof(word64)*8) + ")"); @@ -186,9 +186,9 @@ public: void UncheckedSetKey(const byte *userKey, unsigned int keyLength, const NameValuePairs ¶ms); }; - /// \brief Encryption transformation - /// \details Enc provides implementation for encryption transformation. All key - /// sizes are supported. + /// \brief SIMON128 encryption transformation + /// \details Enc provides the encryption transformation. + /// All key sizes are supported. /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Enc : public Base { @@ -199,9 +199,9 @@ public: #endif }; - /// \brief Decryption transformation - /// \details Dec provides implementation for decryption transformation. All key - /// sizes are supported. + /// \brief SIMON128 decryption transformation + /// \details Dec provides the decryption transformation. + /// All key sizes are supported. /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Dec : public Base { diff --git a/speck.h b/speck.h index 5f6370cf..8701941c 100644 --- a/speck.h +++ b/speck.h @@ -92,7 +92,7 @@ struct SPECK_Base class CRYPTOPP_NO_VTABLE SPECK64 : public SPECK_Info<8, 12, 12, 16>, public BlockCipherDocumentation { public: - /// \brief SPECK block cipher transformation functions + /// \brief SPECK64 block cipher base implementation /// \details Provides implementation common to encryption and decryption /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Base : protected SPECK_Base, public BlockCipherImpl > @@ -118,9 +118,9 @@ public: void UncheckedSetKey(const byte *userKey, unsigned int keyLength, const NameValuePairs ¶ms); }; - /// \brief Encryption transformation - /// \details Enc provides implementation for encryption transformation. All key - /// sizes are supported. + /// \brief SPECK64 encryption transformation + /// \details Enc provides the encryption transformation. + /// All key sizes are supported. /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Enc : public Base { @@ -131,9 +131,9 @@ public: #endif }; - /// \brief Decryption transformation - /// \details Dec provides implementation for decryption transformation. All key - /// sizes are supported. + /// \brief SPECK64 decryption transformation + /// \details Dec provides the decryption transformation. + /// All key sizes are supported. /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Dec : public Base { @@ -160,7 +160,7 @@ public: class CRYPTOPP_NO_VTABLE SPECK128 : public SPECK_Info<16, 16, 16, 32>, public BlockCipherDocumentation { public: - /// \brief SPECK block cipher transformation functions + /// \brief SPECK128 block cipher base implementation /// \details Provides implementation common to encryption and decryption /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Base : protected SPECK_Base, public BlockCipherImpl > @@ -186,9 +186,9 @@ public: void UncheckedSetKey(const byte *userKey, unsigned int keyLength, const NameValuePairs ¶ms); }; - /// \brief Encryption transformation - /// \details Enc provides implementation for encryption transformation. All key - /// sizes are supported. + /// \brief SPECK128 encryption transformation + /// \details Enc provides the encryption transformation. + /// All key sizes are supported. /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Enc : public Base { @@ -199,9 +199,9 @@ public: #endif }; - /// \brief Decryption transformation - /// \details Dec provides implementation for decryption transformation. All key - /// sizes are supported. + /// \brief SPECK128 decryption transformation + /// \details Dec provides the decryption transformation. + /// All key sizes are supported. /// \since Crypto++ 6.0 class CRYPTOPP_NO_VTABLE Dec : public Base {