Crypto++  5.6.3
Free C++ class library of cryptographic schemes
Enumerations | Functions
dsa.h File Reference

Classes for the DSA signature algorithm. More...

Go to the source code of this file.


enum  DSASignatureFormat { DSA_P1363, DSA_DER, DSA_OPENPGP }
 DSA Signature Format. More...


size_t DSAConvertSignatureFormat (byte *buffer, size_t bufferSize, DSASignatureFormat toFormat, const byte *signature, size_t signatureLen, DSASignatureFormat fromFormat)
 Converts between signature encoding formats. More...

Detailed Description

Classes for the DSA signature algorithm.

Definition in file dsa.h.

Enumeration Type Documentation

DSA Signature Format.

The DSA signature format used by Crypto++ is as defined by IEEE P1363. Java nad .Net use the DER format, and OpenPGP uses the OpenPGP format.


Crypto++ native signature encoding format.


signature encoding format used by Java and .Net


OpenPGP signature encoding format.

Definition at line 18 of file dsa.h.

Function Documentation

size_t DSAConvertSignatureFormat ( byte *  buffer,
size_t  bufferSize,
DSASignatureFormat  toFormat,
const byte *  signature,
size_t  signatureLen,
DSASignatureFormat  fromFormat 

Converts between signature encoding formats.

bufferbyte buffer for the converted signature encoding
bufferSizethe length of the converted signature encoding buffer
toFormatthe source signature format
signaturebyte buffer for the existing signature encoding
signatureLenthe length of the existing signature encoding buffer
fromFormatthe source signature format

This function converts between these formats, and returns length of signature in the target format. If toFormat == DSA_P1363, then bufferSize must equal publicKey.SignatureLength()

Definition at line 15 of file dsa.cpp.

References Integer::BERDecode(), Integer::Decode(), Integer::DEREncode(), DSA_DER, DSA_OPENPGP, DSA_P1363, Integer::Encode(), Integer::OpenPGPDecode(), and Integer::OpenPGPEncode().