nl:: Weave:: Crypto
تتضمن مساحة الاسم هذه جميع الواجهات داخل Weave لدعم التشفير المشترك.
ملخّص
عمليات التعداد |
|
---|---|
X963EncodedPointFormat
|
تعداد |
تعريف الأنواع |
|
---|---|
AES128CTRDRBG
|
تعريف الكتابة |
AES128CTRMode
|
تعريف الكتابة |
AES256CTRMode
|
تعريف الكتابة |
EntropyFunct)(uint8_t *buf, size_t bufSize)
|
تعريف الكتابةint(*
توقيع دالة يستخدم لجمع بيانات عشوائية من مصدر قصور. |
HKDFSHA1
|
تعريف الكتابة |
HKDFSHA256
|
تعريف الكتابة |
HMACSHA1
|
تعريف الكتابة |
HMACSHA256
|
تعريف الكتابة |
الدوال |
|
---|---|
ClearSecretData(uint8_t *buf, uint32_t len)
|
NL_DLL_EXPORT void
يؤدي هذا الإجراء إلى محو أول
len بايت من مساحة الذاكرة buf . |
ConstantTimeCompare(const uint8_t *buf1, const uint8_t *buf2, uint16_t len)
|
bool
تتم المقارنة بين أول
len بايت من مساحة الذاكرة buf1 ومنطقة الذاكرة buf2 . |
DecodeBIGNUMValueLE(BIGNUM & val, uint16_t size, const uint8_t *& p)
|
|
DecodeECDSASignature(const EncodedECDSASignature & encodedSig, ECDSA_SIG *& sig)
|
|
DecodeECKey(OID curveOID, const EncodedECPrivateKey *encodedPrivKey, const EncodedECPublicKey *encodedPubKey, EC_KEY *& ecKey)
|
NL_DLL_EXPORT WEAVE_ERROR
|
DecodeX962ECPoint(const uint8_t *encodedPoint, uint16_t encodedPointLen, EC_GROUP *group, EC_POINT *& point)
|
NL_DLL_EXPORT WEAVE_ERROR
|
DecodeX962ECPoint(const uint8_t *encodedPoint, uint16_t encodedPointLen, BIGNUM *& x, BIGNUM *& y)
|
|
ECDHComputeSharedSecret(OID curveOID, const EC_GROUP *ecGroup, const EC_POINT *pubKeyPoint, const BIGNUM *privKeyBN, uint8_t *sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen)
|
NL_DLL_EXPORT WEAVE_ERROR
|
ECDHComputeSharedSecret(OID curveOID, const EncodedECPublicKey & encodedPubKey, const EncodedECPrivateKey & encodedPrivKey, uint8_t *sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen)
|
|
ECDSASigToFixedLenSig(OID curveOID, const ECDSA_SIG *ecSig, uint8_t *fixedLenSig)
|
|
ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
|
void
|
ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
|
int
|
EncodeBIGNUMValueLE(const BIGNUM & val, uint16_t size, uint8_t *& p)
|
|
EncodeECDSASignature(const ECDSA_SIG *sig, EncodedECDSASignature & encodedSig)
|
|
EncodeX962ECPoint(OID curveOID, EC_GROUP *ecGroup, const EC_POINT *point, uint8_t *buf, uint16_t bufSize, uint16_t & encodedPointLen)
|
NL_DLL_EXPORT WEAVE_ERROR
|
FixedLenSigToECDSASig(OID curveOID, const uint8_t *fixedLenSig, ECDSA_SIG *& ecSig)
|
|
GenerateAndEncodeWeaveHMACSignature(OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t *data, uint16_t dataLen, const uint8_t *key, uint16_t keyLen)
|
أنشئ توقيع Weave HMAC وترميزه.
|
GenerateAndEncodeWeaveRSASignature(OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t *hash, uint8_t hashLen, const uint8_t *keyDER, uint16_t keyDERLen)
|
إنشاء وترميز توقيع Weave RSA.
|
GenerateECDHKey(OID curveOID, EncodedECPublicKey & encodedPubKey, EncodedECPrivateKey & encodedPrivKey)
|
|
GenerateECDSASignature(OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, EncodedECDSASignature & encodedSig)
|
|
GenerateECDSASignature(OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, uint8_t *fixedLenSig)
|
|
GetCurveG(OID curveOID, EncodedECPublicKey & encodedPubKey)
|
|
GetCurveSize(const OID curveOID, const EC_GROUP *ecGroup)
|
int
|
GetCurveSize(const OID curveOID)
|
int
الحصول على حجم المنحنى الإهليلجي (بالبايت)
|
GetECGroupForCurve(OID curveOID, EC_GROUP *& ecGroup)
|
NL_DLL_EXPORT WEAVE_ERROR
|
ReverseBytes(uint8_t *buf, size_t len)
|
void
|
ShaNIDFromSigAlgoOID(OID sigAlgoOID)
|
int
|
VerifyECDSASignature(OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECDSASignature & encodedSig, const EncodedECPublicKey & encodedPubKey)
|
|
VerifyECDSASignature(OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *fixedLenSig, const EncodedECPublicKey & encodedPubKey)
|
|
VerifyHMACSignature(OID sigAlgoOID, const uint8_t *data, uint16_t dataLen, const EncodedHMACSignature & sig, const uint8_t *key, uint16_t keyLen)
|
التحقق من توقيع Weave HMAC.
|
VerifyRSASignature(OID sigAlgoOID, const uint8_t *hash, uint8_t hashLen, const EncodedRSASignature & sig, const uint8_t *certDER, uint16_t certDERLen)
|
التحقق من توقيع Weave RSA
|
عمليات التعداد
X963EncodedPointFormat
X963EncodedPointFormat
تعريف الأنواع
AES128CTRDRBG
CTR_DRBG< Platform::Security::AES128BlockCipherEnc > AES128CTRDRBG
AES128CTRMode
CTRMode< Platform::Security::AES128BlockCipherEnc > AES128CTRMode
AES256CTRMode
CTRMode< Platform::Security::AES256BlockCipherEnc > AES256CTRMode
EntropyFunct
int(* EntropyFunct)(uint8_t *buf, size_t bufSize)
توقيع دالة يستخدم لجمع بيانات عشوائية من مصدر قصور.
HKDFSHA1
HKDF< Platform::Security::SHA1 > HKDFSHA1
HKDFSHA256
HKDF< Platform::Security::SHA256 > HKDFSHA256
HMACSHA1
HMAC< Platform::Security::SHA1 > HMACSHA1
HMACSHA256
HMAC< Platform::Security::SHA256 > HMACSHA256
الدوال
ClearSecretData
NL_DLL_EXPORT void ClearSecretData( uint8_t *buf, uint32_t len )
يؤدي هذا الإجراء إلى محو أول len
بايت من مساحة الذاكرة buf
.
في عملية التنفيذ هذه، يتم ملء أول len
بايت من مساحة الذاكرة buf
بالأصفار.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
ConstantTimeCompare
bool ConstantTimeCompare( const uint8_t *buf1, const uint8_t *buf2, uint16_t len )
تتم المقارنة بين أول len
بايت من مساحة الذاكرة buf1
ومنطقة الذاكرة buf2
.
إنّ الوقت الذي تستغرقه هذه الدالة مستقل عن البيانات في منطقتَي الذاكرة buf1
وbuf2
.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
قيم الإرجاع |
|
DecodeBIGNUMValueLE
WEAVE_ERROR DecodeBIGNUMValueLE( BIGNUM & val, uint16_t size, const uint8_t *& p )
DecodeECDSASignature
WEAVE_ERROR DecodeECDSASignature( const EncodedECDSASignature & encodedSig, ECDSA_SIG *& sig )
DecodeECKey
NL_DLL_EXPORT WEAVE_ERROR DecodeECKey( OID curveOID, const EncodedECPrivateKey *encodedPrivKey, const EncodedECPublicKey *encodedPubKey, EC_KEY *& ecKey )
فك ترميزX962ECPoint
NL_DLL_EXPORT WEAVE_ERROR DecodeX962ECPoint( const uint8_t *encodedPoint, uint16_t encodedPointLen, EC_GROUP *group, EC_POINT *& point )
فك ترميزX962ECPoint
WEAVE_ERROR DecodeX962ECPoint( const uint8_t *encodedPoint, uint16_t encodedPointLen, BIGNUM *& x, BIGNUM *& y )
ECDHComputeSharedSecret
NL_DLL_EXPORT 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 )
ECDHComputeSharedSecret
WEAVE_ERROR ECDHComputeSharedSecret( OID curveOID, const EncodedECPublicKey & encodedPubKey, const EncodedECPrivateKey & encodedPrivKey, uint8_t *sharedSecretBuf, uint16_t sharedSecretBufSize, uint16_t & sharedSecretLen )
ECDSASigToFixedLenSig
WEAVE_ERROR ECDSASigToFixedLenSig( OID curveOID, const ECDSA_SIG *ecSig, uint8_t *fixedLenSig )
ECDSA_SIG_get0
void ECDSA_SIG_get0( const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps )
ECDSA_SIG_set0
int ECDSA_SIG_set0( ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s )
EncodeBIGNUMValueLE
WEAVE_ERROR EncodeBIGNUMValueLE( const BIGNUM & val, uint16_t size, uint8_t *& p )
EncodeECDSASignature
WEAVE_ERROR EncodeECDSASignature( const ECDSA_SIG *sig, EncodedECDSASignature & encodedSig )
ترميزX962ECPoint
NL_DLL_EXPORT WEAVE_ERROR EncodeX962ECPoint( OID curveOID, EC_GROUP *ecGroup, const EC_POINT *point, uint8_t *buf, uint16_t bufSize, uint16_t & encodedPointLen )
FixedLenSigToECDSASig
WEAVE_ERROR FixedLenSigToECDSASig( OID curveOID, const uint8_t *fixedLenSig, ECDSA_SIG *& ecSig )
GenerateAndEncodeWeaveHMACSignature
WEAVE_ERROR GenerateAndEncodeWeaveHMACSignature( OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t *data, uint16_t dataLen, const uint8_t *key, uint16_t keyLen )
أنشئ توقيع Weave HMAC وترميزه.
لحساب توقيع HMAC لبيانات معينة باستخدام مفتاح سري وكتابة التوقيع كبنية Weave HMACSignature لكاتب TLV المحدد باستخدام العلامة المحددة.
التفاصيل | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||||||
قيم الإرجاع |
|
GenerateAndEncodeWeaveRSASignature
WEAVE_ERROR GenerateAndEncodeWeaveRSASignature( OID sigAlgoOID, TLVWriter & writer, uint64_t tag, const uint8_t *hash, uint8_t hashLen, const uint8_t *keyDER, uint16_t keyDERLen )
إنشاء وترميز توقيع Weave RSA.
لحساب توقيع RSA باستخدام مفتاح خاص بترميز RSA معيّن وبترميز X509 وتجزئة رسالة، ثم يكتب التوقيع كبنية Weave RSASignature لكاتب TLV المحدَّد باستخدام العلامة المحدّدة.
التفاصيل | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||||||
قيم الإرجاع |
|
GenerateECDHKey
WEAVE_ERROR GenerateECDHKey( OID curveOID, EncodedECPublicKey & encodedPubKey, EncodedECPrivateKey & encodedPrivKey )
GenerateECDSASignature
WEAVE_ERROR GenerateECDSASignature( OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, EncodedECDSASignature & encodedSig )
GenerateECDSASignature
WEAVE_ERROR GenerateECDSASignature( OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECPrivateKey & encodedPrivKey, uint8_t *fixedLenSig )
GetCurveG
WEAVE_ERROR GetCurveG( OID curveOID, EncodedECPublicKey & encodedPubKey )
GetCurveSize
int GetCurveSize( const OID curveOID, const EC_GROUP *ecGroup )
GetCurveSize
int GetCurveSize( const OID curveOID )
الحصول على حجم المنحنى الإهليلجي (بالبايت)
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
قيم الإرجاع |
|
GetECGroupForCurve
NL_DLL_EXPORT WEAVE_ERROR GetECGroupForCurve( OID curveOID, EC_GROUP *& ecGroup )
ReverseBytes
void ReverseBytes( uint8_t *buf, size_t len )
ShaNIDFromSigAlgoOID
int ShaNIDFromSigAlgoOID( OID sigAlgoOID )
VerifyECDSASignature
WEAVE_ERROR VerifyECDSASignature( OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const EncodedECDSASignature & encodedSig, const EncodedECPublicKey & encodedPubKey )
VerifyECDSASignature
WEAVE_ERROR VerifyECDSASignature( OID curveOID, const uint8_t *msgHash, uint8_t msgHashLen, const uint8_t *fixedLenSig, const EncodedECPublicKey & encodedPubKey )
VerifyHMACSignature
WEAVE_ERROR VerifyHMACSignature( OID sigAlgoOID, const uint8_t *data, uint16_t dataLen, const EncodedHMACSignature & sig, const uint8_t *key, uint16_t keyLen )
التحقق من توقيع Weave HMAC.
تتحقّق من توقيع HMAC باستخدام بيانات محددة ومفتاح سري لاستخدامه للتحقق من التوقيع.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||||
قيم الإرجاع |
|
VerifyRSASignature
WEAVE_ERROR VerifyRSASignature( OID sigAlgoOID, const uint8_t *hash, uint8_t hashLen, const EncodedRSASignature & sig, const uint8_t *certDER, uint16_t certDERLen )
التحقق من توقيع Weave RSA
يتم التحقّق من توقيع RSA باستخدام تجزئة بيانات محدَّدة وشهادة RSA مرمّزة X509 تحتوي على المفتاح العام الذي سيتم استخدامه للتحقُّق من التوقيع.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||||
قيم الإرجاع |
|