Home | History | Annotate | Download | only in libtomcrypt

Lines Matching defs:DSA

3901 \mysection{EC DSA Signatures}
3903 There are also functions to sign and verify messages. They use the ANSI X9.62 EC-DSA algorithm to generate and verify signatures in the
3906 \subsection{EC-DSA Signature Generation}
3920 This function will EC--DSA sign the message digest stored in the array pointed to by \textit{in} of length \textit{inlen} octets. The signature
3924 \subsection{EC-DSA Signature Verification}
3935 This function will verify the EC-DSA signature in the array pointed to by \textit{sig} of length \textit{siglen} octets, against the message digest
3941 The signature code is an implementation of X9.62 EC--DSA, and the output is compliant for GF(p) curves.
3952 The Digital Signature Algorithm (or DSA) is a variant of the ElGamal Signature scheme which has been modified to
3954 With DSA, you need a group of order at least 160--bits. By comparison, the ElGamal signature would require at least 256 bytes of storage, whereas the DSA signature
3958 Since no useful public standard for DSA key storage was presented to me during the course of this development I made my own ASN.1 SEQUENCE which I document
3996 To make a DSA key you must call the following function
4020 \caption{DSA Key Sizes}
4023 When you are finished with a DSA key you can call the following function to free the memory used.
4024 \index{dsa\_free()}
4030 Each DSA key is composed of the following variables.
4041 A DSA key is considered valid if it passes all of the following tests.
4063 \index{dsa\_verify\_key()}
4068 This will test \textit{key} and store the result in \textit{stat}. If the result is $stat = 0$ the DSA key failed one of the tests
4069 and should not be used at all. If the result is $stat = 1$ the DSA key is valid (as far as valid mathematics are concerned).
4073 To generate a DSA signature call the following function:
4075 \index{dsa\_sign\_hash()}
4088 is stored and the function returns an error code. The DSA \textit{key} must be of the \textbf{PK\_PRIVATE} persuasion.
4093 \index{dsa\_verify\_hash()}
4105 \mysection{DSA Encrypt and Decrypt}
4106 As of version 1.07, the DSA keys can be used to encrypt and decrypt small payloads. It works similar to the ECC encryption where
4108 the ECC encryption format to the DSA algorithm.
4110 \subsection{DSA Encryption}
4111 This function will encrypt a small payload with a recipients public DSA key.
4113 \index{dsa\_encrypt\_key()}
4126 length of the ciphertext \textit{outlen} must be originally set to the length of the output buffer. The DSA \textit{key} can be
4129 \subsection{DSA Decryption}
4131 \index{dsa\_decrypt\_key()}
4140 The DSA \textit{key} must be a private key.
4142 \mysection{DSA Key Import and Export}
4144 \subsection{DSA Key Export}
4145 To export a DSA key so that it can be transported use the following function:
4146 \index{dsa\_export()}
4153 This will export the DSA \textit{key} to the buffer \textit{out} and set the length in \textit{outlen} (which must have been previously
4155 depending on whether you want to export a private or public copy of the DSA key.
4157 \subsection{DSA Key Import}
4158 To import an exported DSA key use the following function
4160 \index{dsa\_import()}
4167 This will import the DSA key from the buffer \textit{in} of length \textit{inlen} to the \textit{key}. If the process fails the function
4168 will automatically free all of the heap allocated in the process (you don't have to call dsa\_free()).
6409 The ECC system in LibTomCrypt is based off of the NIST recommended curves over $GF(p)$ and is used to implement EC-DSA and EC-DH. The ECC functions work with
6442 To accelerate EC--DSA verification the library provides a built--in function called ltc\_ecc\_mul2add(). This performs two point multiplications and an addition in