Enumerations

enum X963EncodedPointFormat
Name Value
kX963EncodedPointFormat_PointAtInfinity 0x00
kX963EncodedPointFormat_Compressed_EvenY 0x02
kX963EncodedPointFormat_Compressed_OddY 0x03
kX963EncodedPointFormat_Uncompressed 0x04
kX963EncodedPointFormat_Hybrid_EvenY 0x06
kX963EncodedPointFormat_Hybrid_OddY 0x07

Defined at line 127 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Support/crypto/EllipticCurve.h

Records

Functions

  • bool ConstantTimeCompare (const uint8_t * buf1, const uint8_t * buf2, uint16_t len)
  • void ClearSecretData (uint8_t * buf, uint32_t len)
  • WEAVE_ERROR EncodeBIGNUMValueLE (const BIGNUM & val, uint16_t size, uint8_t *& p)
  • WEAVE_ERROR DecodeBIGNUMValueLE (BIGNUM & val, uint16_t size, const uint8_t *& p)
  • WEAVE_ERROR GenerateAndEncodeWeaveHMACSignature (OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t * data, uint16_t dataLen, const uint8_t * key, uint16_t keyLen)

    =============================================================

    Primary HMAC utility functions used by Weave security code.

    =============================================================

  • WEAVE_ERROR VerifyHMACSignature (OID sigAlgoOID, const uint8_t * data, uint16_t dataLen, const EncodedHMACSignature & sig, const uint8_t * key, uint16_t keyLen)
  • int GetCurveSize (const OID curveOID)

    Get Elliptic Curve size (in bytes).

    Parameters

    curveOID [in] Specified Elliptic Curve OID.
  • WEAVE_ERROR GenerateECDSASignature (OID curveOID, const uint8_t * msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, EncodedECDSASignature & encodedSig)
  • WEAVE_ERROR VerifyECDSASignature (OID curveOID, const uint8_t * msgHash, uint8_t msgHashLen, const EncodedECDSASignature & encodedSig, const EncodedECPublicKey & encodedPubKey)
  • WEAVE_ERROR GenerateECDSASignature (OID curveOID, const uint8_t * msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, uint8_t * fixedLenSig)
  • WEAVE_ERROR VerifyECDSASignature (OID curveOID, const uint8_t * msgHash, uint8_t msgHashLen, const uint8_t * fixedLenSig, const EncodedECPublicKey & encodedPubKey)
  • WEAVE_ERROR GenerateECDHKey (OID curveOID, EncodedECPublicKey & encodedPubKey, EncodedECPrivateKey & encodedPrivKey)
  • WEAVE_ERROR ECDHComputeSharedSecret (OID curveOID, const EncodedECPublicKey & encodedPubKey, const EncodedECPrivateKey & encodedPrivKey, uint8_t * sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen)
  • WEAVE_ERROR GetCurveG (OID curveOID, EncodedECPublicKey & encodedPubKey)
  • int GetCurveSize (const OID curveOID, const EC_GROUP * ecGroup)
  • WEAVE_ERROR GetECGroupForCurve (OID curveOID, EC_GROUP *& ecGroup)
  • WEAVE_ERROR ECDHComputeSharedSecret (OID curveOID, const EC_GROUP * ecGroup, const EC_POINT * pubKeyPoint, const BIGNUM * privKeyBN, uint8_t * sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen)
  • WEAVE_ERROR EncodeX962ECPoint (OID curveOID, EC_GROUP * ecGroup, const EC_POINT * point, uint8_t * buf, uint16_t bufSize, uint16_t & encodedPointLen)
  • WEAVE_ERROR DecodeX962ECPoint (const uint8_t * encodedPoint, uint16_t encodedPointLen, EC_GROUP * group, EC_POINT *& point)
  • WEAVE_ERROR DecodeX962ECPoint (const uint8_t * encodedPoint, uint16_t encodedPointLen, BIGNUM *& x, BIGNUM *& y)
  • WEAVE_ERROR DecodeECKey (OID curveOID, const EncodedECPrivateKey * encodedPrivKey, const EncodedECPublicKey * encodedPubKey, EC_KEY *& ecKey)
  • WEAVE_ERROR EncodeECDSASignature (const ECDSA_SIG * sig, EncodedECDSASignature & encodedSig)
  • WEAVE_ERROR DecodeECDSASignature (const EncodedECDSASignature & encodedSig, ECDSA_SIG *& sig)
  • WEAVE_ERROR ECDSASigToFixedLenSig (OID curveOID, const ECDSA_SIG * ecSig, uint8_t * fixedLenSig)

    EC Utility Functions with Fixed-Length ECDSA Signature Parameter

  • WEAVE_ERROR FixedLenSigToECDSASig (OID curveOID, const uint8_t * fixedLenSig, ECDSA_SIG *& ecSig)
  • void uECC_point_add (uECC_word_t * resultconst uECC_word_t * leftconst uECC_word_t * rightuECC_Curve curve)

    Points addition: result = left + right