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 تحتوي على المفتاح العام الذي سيتم استخدامه للتحقُّق من التوقيع.
| التفاصيل | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| المعلمات |
|
||||||||||||
| قيم الإرجاع |
|
||||||||||||