Vanetza
Loading...
Searching...
No Matches
vanetza::security::Backend Class Referenceabstract

#include <backend.hpp>

Inheritance diagram for vanetza::security::Backend:

Public Member Functions

virtual EcdsaSignature sign_data (const ecdsa256::PrivateKey &private_key, const ByteBuffer &data)=0
 calculate signature for given data and private key
virtual Signature sign_digest (const PrivateKey &, const ByteBuffer &digest)=0
 calculate signature for given digest and private key
virtual bool verify_data (const ecdsa256::PublicKey &public_key, const ByteBuffer &data, const EcdsaSignature &sig)=0
 try to verify data using public key and signature
virtual bool verify_digest (const PublicKey &public_key, const ByteBuffer &digest, const Signature &sig)=0
 try to verify digest using public key and signature
virtual boost::optional< Uncompresseddecompress_point (const EccPoint &ecc_point)=0
 decompress a possibly compressed elliptic curve point
virtual ByteBuffer calculate_hash (HashAlgorithm algo, const ByteBuffer &data)=0
 calculate hash value of data

Detailed Description

Interface to cryptographic features

Definition at line 24 of file backend.hpp.

Member Function Documentation

◆ calculate_hash()

virtual ByteBuffer vanetza::security::Backend::calculate_hash ( HashAlgorithm algo,
const ByteBuffer & data )
pure virtual

calculate hash value of data

Parameters
algohash algorithm
databuffer with data
Returns
buffer containing calculated hash value

Implemented in vanetza::security::BackendCryptoPP, vanetza::security::BackendNull, and vanetza::security::BackendOpenSsl.

◆ decompress_point()

virtual boost::optional< Uncompressed > vanetza::security::Backend::decompress_point ( const EccPoint & ecc_point)
pure virtual

decompress a possibly compressed elliptic curve point

Parameters
ecc_pointelliptic curve point
Returns
uncompressed point

Implemented in vanetza::security::BackendCryptoPP, vanetza::security::BackendNull, and vanetza::security::BackendOpenSsl.

◆ sign_data()

virtual EcdsaSignature vanetza::security::Backend::sign_data ( const ecdsa256::PrivateKey & private_key,
const ByteBuffer & data )
pure virtual

calculate signature for given data and private key

Parameters
private_keySecret private key
databuffer with plaintext data
Returns
calculated signature

Implemented in vanetza::security::BackendCryptoPP, vanetza::security::BackendNull, and vanetza::security::BackendOpenSsl.

◆ sign_digest()

virtual Signature vanetza::security::Backend::sign_digest ( const PrivateKey & ,
const ByteBuffer & digest )
pure virtual

calculate signature for given digest and private key

Parameters
private_keysecret private key
digesthash value of data
Returns
calculated signature

Implemented in vanetza::security::BackendCryptoPP, vanetza::security::BackendNull, and vanetza::security::BackendOpenSsl.

◆ verify_data()

virtual bool vanetza::security::Backend::verify_data ( const ecdsa256::PublicKey & public_key,
const ByteBuffer & data,
const EcdsaSignature & sig )
pure virtual

try to verify data using public key and signature

Parameters
public_keyPublic key
dataplaintext
sigsignature of data
Returns
true if the data could be verified

Implemented in vanetza::security::BackendCryptoPP, vanetza::security::BackendNull, and vanetza::security::BackendOpenSsl.

◆ verify_digest()

virtual bool vanetza::security::Backend::verify_digest ( const PublicKey & public_key,
const ByteBuffer & digest,
const Signature & sig )
pure virtual

try to verify digest using public key and signature

Parameters
public_keypublic key
digesthash value of data
sigsignature of data
Returns
true if data could be verified

Implemented in vanetza::security::BackendCryptoPP, vanetza::security::BackendNull, and vanetza::security::BackendOpenSsl.


The documentation for this class was generated from the following file: