mirror of
https://github.com/shadps4-emu/ext-cryptopp.git
synced 2025-02-07 13:38:28 +00:00
Update documentation
This commit is contained in:
parent
d86fcf64a7
commit
6befce1851
37
xed25519.h
37
xed25519.h
@ -1,8 +1,8 @@
|
||||
// xed25519.h - written and placed in public domain by Jeffrey Walton
|
||||
// Crypto++ specific implementation wrapped around Andrew
|
||||
// Moon's public domain curve25519-donna and ed25519-donna,
|
||||
// https://github.com/floodyberry/curve25519-donna and
|
||||
// https://github.com/floodyberry/ed25519-donna.
|
||||
// http://github.com/floodyberry/curve25519-donna and
|
||||
// http://github.com/floodyberry/ed25519-donna.
|
||||
|
||||
// Typically the key agreement classes encapsulate their data more
|
||||
// than x25519 does below. They are a little more accessible
|
||||
@ -23,15 +23,15 @@
|
||||
/// clamed with 248. That is my_arr[0] &= 248 to mask the lower 3 bits.
|
||||
/// \details PKCS8 and X509 keys encoded using ASN.1 follow little endian
|
||||
/// arrays. The format is specified in <A HREF=
|
||||
/// "https:///tools.ietf.org/html/draft-ietf-curdle-pkix">draft-ietf-curdle-pkix</A>.
|
||||
/// "http:///tools.ietf.org/html/draft-ietf-curdle-pkix">draft-ietf-curdle-pkix</A>.
|
||||
/// \details If you have a little endian array and you want to wrap it in
|
||||
/// an Integer using big endian then you can perform the following:
|
||||
/// <pre>Integer x(my_arr, SECRET_KEYLENGTH, UNSIGNED, LITTLE_ENDIAN_ORDER);</pre>
|
||||
/// \sa Andrew Moon's x22519 GitHub <A
|
||||
/// HREF="https://github.com/floodyberry/curve25519-donna">curve25519-donna</A>,
|
||||
/// HREF="http://github.com/floodyberry/curve25519-donna">curve25519-donna</A>,
|
||||
/// ed22519 GitHub <A
|
||||
/// HREF="https://github.com/floodyberry/ed25519-donna">ed25519-donna</A>, and
|
||||
/// <A HREF="https:///tools.ietf.org/html/draft-ietf-curdle-pkix">draft-ietf-curdle-pkix</A>
|
||||
/// HREF="http://github.com/floodyberry/ed25519-donna">ed25519-donna</A>, and
|
||||
/// <A HREF="http:///tools.ietf.org/html/draft-ietf-curdle-pkix">draft-ietf-curdle-pkix</A>
|
||||
/// \since Crypto++ 8.0
|
||||
|
||||
#ifndef CRYPTOPP_XED25519_H
|
||||
@ -155,7 +155,7 @@ public:
|
||||
/// The default private key format is RFC 5208, which is the old format.
|
||||
/// The old format provides the best interop, and keys will work
|
||||
/// with OpenSSL.
|
||||
/// \sa <A HREF="https://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// \sa <A HREF="http://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// Key Packages</A>
|
||||
void Save(BufferedTransformation &bt) const {
|
||||
DEREncode(bt, 0);
|
||||
@ -174,7 +174,7 @@ public:
|
||||
/// the best interop, and keys will work with OpenSSL. The other
|
||||
/// option uses INTEGER 1. INTEGER 1 means RFC 5958 format,
|
||||
/// which is the new format.
|
||||
/// \sa <A HREF="https://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// \sa <A HREF="http://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// Key Packages</A>
|
||||
void Save(BufferedTransformation &bt, bool v1) const {
|
||||
DEREncode(bt, v1 ? 0 : 1);
|
||||
@ -182,7 +182,7 @@ public:
|
||||
|
||||
/// \brief BER decode ASN.1 object
|
||||
/// \param bt BufferedTransformation object
|
||||
/// \sa <A HREF="https://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// \sa <A HREF="http://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// Key Packages</A>
|
||||
void Load(BufferedTransformation &bt) {
|
||||
BERDecode(bt);
|
||||
@ -378,7 +378,7 @@ struct ed25519PrivateKey : public PKCS8PrivateKey
|
||||
/// The default private key format is RFC 5208, which is the old format.
|
||||
/// The old format provides the best interop, and keys will work
|
||||
/// with OpenSSL.
|
||||
/// \sa <A HREF="https://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// \sa <A HREF="http://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// Key Packages</A>
|
||||
void Save(BufferedTransformation &bt) const {
|
||||
DEREncode(bt, 0);
|
||||
@ -397,7 +397,7 @@ struct ed25519PrivateKey : public PKCS8PrivateKey
|
||||
/// the best interop, and keys will work with OpenSSL. The other
|
||||
/// option uses INTEGER 1. INTEGER 1 means RFC 5958 format,
|
||||
/// which is the new format.
|
||||
/// \sa <A HREF="https://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// \sa <A HREF="http://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// Key Packages</A>
|
||||
void Save(BufferedTransformation &bt, bool v1) const {
|
||||
DEREncode(bt, v1 ? 0 : 1);
|
||||
@ -405,7 +405,7 @@ struct ed25519PrivateKey : public PKCS8PrivateKey
|
||||
|
||||
/// \brief BER decode ASN.1 object
|
||||
/// \param bt BufferedTransformation object
|
||||
/// \sa <A HREF="https://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// \sa <A HREF="http://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// Key Packages</A>
|
||||
void Load(BufferedTransformation &bt) {
|
||||
BERDecode(bt);
|
||||
@ -583,8 +583,9 @@ struct ed25519Signer : public PK_Signer
|
||||
/// \param stream an std::istream derived class
|
||||
/// \param signature a block of bytes for the signature
|
||||
/// \return actual signature length
|
||||
/// \details SignStream() handles large streams. It was added for signing and verifying
|
||||
/// files that are too large for a memory allocation.
|
||||
/// \details SignStream() handles large streams. The Stream functions were added to
|
||||
/// ed25519 for signing and verifying files that are too large for a memory allocation.
|
||||
/// The functions are not present in other library signers and verifiers.
|
||||
/// \details ed25519 is a determinsitic signature scheme. <tt>IsProbabilistic()</tt>
|
||||
/// returns false and the random number generator can be <tt>NullRNG()</tt>.
|
||||
/// \pre <tt>COUNTOF(signature) == MaxSignatureLength()</tt>
|
||||
@ -640,7 +641,7 @@ struct ed25519PublicKey : public X509PublicKey
|
||||
|
||||
/// \brief BER decode ASN.1 object
|
||||
/// \param bt BufferedTransformation object
|
||||
/// \sa <A HREF="https://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// \sa <A HREF="http://tools.ietf.org/rfc/rfc5958.txt">RFC 5958, Asymmetric
|
||||
/// Key Packages</A>
|
||||
void Load(BufferedTransformation &bt) {
|
||||
BERDecode(bt);
|
||||
@ -768,8 +769,9 @@ struct ed25519Verifier : public PK_Verifier
|
||||
/// \param signature a pointer to the signature over the message
|
||||
/// \param signatureLen the size of the signature
|
||||
/// \return true if the signature is valid, false otherwise
|
||||
/// \details VerifyStream() handles large streams. It was added for signing and verifying
|
||||
/// files that are too large for a memory allocation.
|
||||
/// \details VerifyStream() handles large streams. The Stream functions were added to
|
||||
/// ed25519 for signing and verifying files that are too large for a memory allocation.
|
||||
/// The functions are not present in other library signers and verifiers.
|
||||
/// \since Crypto++ 8.1
|
||||
bool VerifyStream(std::istream& stream, const byte *signature, size_t signatureLen) const;
|
||||
|
||||
@ -783,6 +785,7 @@ protected:
|
||||
};
|
||||
|
||||
/// \brief Ed25519 signature scheme
|
||||
/// \sa <A HREF="http://cryptopp.com/wiki/Ed25519">Ed25519</A> on the Crypto++ wiki.
|
||||
/// \since Crypto++ 8.0
|
||||
struct ed25519
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user