mirror of
https://github.com/shadps4-emu/ext-cryptopp.git
synced 2024-11-23 01:49:41 +00:00
Update documentation
This commit is contained in:
parent
546b1e7827
commit
5cb57e1431
17
salsa.h
17
salsa.h
@ -21,18 +21,20 @@ NAMESPACE_BEGIN(CryptoPP)
|
|||||||
/// \param data the data to transform
|
/// \param data the data to transform
|
||||||
/// \param rounds the number of rounds
|
/// \param rounds the number of rounds
|
||||||
/// \details Several algorithms, like CryptoBox and Scrypt, require access to
|
/// \details Several algorithms, like CryptoBox and Scrypt, require access to
|
||||||
/// the core Salsa20 transform. The current Crypto++ implementation does not
|
/// the core Salsa20 transform. The current Crypto++ implementation does not
|
||||||
/// lend itself to disgorging the Salsa20 cipher from the Salsa20 core transform.
|
/// lend itself to disgorging the Salsa20 cipher from the Salsa20 core transform.
|
||||||
/// Instead Salsa20_Core is provided with customary accelerations.
|
/// Instead Salsa20_Core is provided with customary accelerations.
|
||||||
void Salsa20_Core(word32* data, unsigned int rounds);
|
void Salsa20_Core(word32* data, unsigned int rounds);
|
||||||
|
|
||||||
/// \brief Salsa20 stream cipher information
|
/// \brief Salsa20 stream cipher information
|
||||||
|
/// \since Crypto++ 5.4
|
||||||
struct Salsa20_Info : public VariableKeyLength<32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8>
|
struct Salsa20_Info : public VariableKeyLength<32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8>
|
||||||
{
|
{
|
||||||
static std::string StaticAlgorithmName() {return "Salsa20";}
|
static std::string StaticAlgorithmName() {return "Salsa20";}
|
||||||
};
|
};
|
||||||
|
|
||||||
/// \brief Salsa20 stream cipher operation
|
/// \brief Salsa20 stream cipher operation
|
||||||
|
/// \since Crypto++ 5.4
|
||||||
class CRYPTOPP_NO_VTABLE Salsa20_Policy : public AdditiveCipherConcretePolicy<word32, 16>
|
class CRYPTOPP_NO_VTABLE Salsa20_Policy : public AdditiveCipherConcretePolicy<word32, 16>
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
@ -57,7 +59,11 @@ protected:
|
|||||||
|
|
||||||
/// \brief Salsa20 stream cipher
|
/// \brief Salsa20 stream cipher
|
||||||
/// \details Salsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20.
|
/// \details Salsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20.
|
||||||
/// \sa <a href="http://www.cryptolounge.org/wiki/XSalsa20">XSalsa20</a>
|
/// \sa <A HREF="https://cr.yp.to/snuffle/salsafamily-20071225.pdf">The Salsa20
|
||||||
|
/// family of stream ciphers (20071225)</A>,
|
||||||
|
/// <A HREF="https://cr.yp.to/snuffle.html">Snuffle 2005: the Salsa20 encryption
|
||||||
|
/// function</A> and <A HREF="https://www.cryptopp.com/wiki/Salsa20">Salsa20</A>
|
||||||
|
/// \since Crypto++ 5.4
|
||||||
struct Salsa20 : public Salsa20_Info, public SymmetricCipherDocumentation
|
struct Salsa20 : public Salsa20_Info, public SymmetricCipherDocumentation
|
||||||
{
|
{
|
||||||
typedef SymmetricCipherFinal<ConcretePolicyHolder<Salsa20_Policy, AdditiveCipherTemplate<> >, Salsa20_Info> Encryption;
|
typedef SymmetricCipherFinal<ConcretePolicyHolder<Salsa20_Policy, AdditiveCipherTemplate<> >, Salsa20_Info> Encryption;
|
||||||
@ -65,12 +71,14 @@ struct Salsa20 : public Salsa20_Info, public SymmetricCipherDocumentation
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// \brief XSalsa20 stream cipher information
|
/// \brief XSalsa20 stream cipher information
|
||||||
|
/// \since Crypto++ 5.4
|
||||||
struct XSalsa20_Info : public FixedKeyLength<32, SimpleKeyingInterface::UNIQUE_IV, 24>
|
struct XSalsa20_Info : public FixedKeyLength<32, SimpleKeyingInterface::UNIQUE_IV, 24>
|
||||||
{
|
{
|
||||||
static std::string StaticAlgorithmName() {return "XSalsa20";}
|
static std::string StaticAlgorithmName() {return "XSalsa20";}
|
||||||
};
|
};
|
||||||
|
|
||||||
/// \brief XSalsa20 stream cipher operation
|
/// \brief XSalsa20 stream cipher operation
|
||||||
|
/// \since Crypto++ 5.4
|
||||||
class CRYPTOPP_NO_VTABLE XSalsa20_Policy : public Salsa20_Policy
|
class CRYPTOPP_NO_VTABLE XSalsa20_Policy : public Salsa20_Policy
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -84,6 +92,7 @@ protected:
|
|||||||
/// \brief XSalsa20 stream cipher
|
/// \brief XSalsa20 stream cipher
|
||||||
/// \details XSalsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20.
|
/// \details XSalsa20 provides a variable number of rounds: 8, 12 or 20. The default number of rounds is 20.
|
||||||
/// \sa <a href="http://www.cryptolounge.org/wiki/XSalsa20">XSalsa20</a>
|
/// \sa <a href="http://www.cryptolounge.org/wiki/XSalsa20">XSalsa20</a>
|
||||||
|
/// \since Crypto++ 5.4
|
||||||
struct XSalsa20 : public XSalsa20_Info, public SymmetricCipherDocumentation
|
struct XSalsa20 : public XSalsa20_Info, public SymmetricCipherDocumentation
|
||||||
{
|
{
|
||||||
typedef SymmetricCipherFinal<ConcretePolicyHolder<XSalsa20_Policy, AdditiveCipherTemplate<> >, XSalsa20_Info> Encryption;
|
typedef SymmetricCipherFinal<ConcretePolicyHolder<XSalsa20_Policy, AdditiveCipherTemplate<> >, XSalsa20_Info> Encryption;
|
||||||
|
Loading…
Reference in New Issue
Block a user