क्रिप्टो - प्लैटफ़ॉर्म
इस मॉड्यूल में क्रिप्टो के लिए प्लैटफ़ॉर्म ऐब्स्ट्रैक्शन शामिल है.
खास जानकारी
गिनती |
|
---|---|
anonymous enum{
|
enum इस्तेमाल से जुड़े मुख्य फ़्लैग के बारे में बताता है. |
otCryptoKeyAlgorithm{
|
enum इसकी मदद से, प्रमुख एल्गोरिदम तय किए जाते हैं. |
otCryptoKeyStorage{
|
enum मुख्य स्टोरेज टाइप के बारे में बताता है. |
otCryptoKeyType{
|
enum कुंजी टाइप के बारे में बताता है. |
टाइपडीफ़ |
|
---|---|
otCryptoContext
|
typedefstruct otCryptoContext
|
otCryptoKey
|
typedefstruct otCryptoKey
|
otCryptoKeyRef
|
typedefuint32_t
इस डेटा टाइप से, मुख्य रेफ़रंस के बारे में पता चलता है. |
otPlatCryptoEcdsaKeyPair
|
typedefstruct otPlatCryptoEcdsaKeyPair
|
otPlatCryptoEcdsaPublicKey
|
typedefstruct otPlatCryptoEcdsaPublicKey
|
otPlatCryptoEcdsaSignature
|
typedefstruct otPlatCryptoEcdsaSignature
|
otPlatCryptoSha256Hash
|
typedefstruct otPlatCryptoSha256Hash
SHA-256 हैश को दिखाता है. |
वैरिएबल |
|
---|---|
OT_TOOL_PACKED_END
|
फ़ंक्शन |
|
---|---|
otPlatCryptoAesEncrypt(otCryptoContext *aContext, const uint8_t *aInput, uint8_t *aOutput)
|
दिए गए डेटा को एन्क्रिप्ट (सुरक्षित) करें.
|
otPlatCryptoAesFree(otCryptoContext *aContext)
|
AES कॉन्टेक्स्ट से बचें.
|
otPlatCryptoAesInit(otCryptoContext *aContext)
|
AES ऑपरेशन शुरू करें.
|
otPlatCryptoAesSetKey(otCryptoContext *aContext, const otCryptoKey *aKey)
|
AES ऑपरेशन के लिए कुंजी सेट करें.
|
otPlatCryptoDestroyKey(otCryptoKeyRef aKeyRef)
|
PSA ITS में सेव की गई कुंजी को नष्ट करना.
|
otPlatCryptoEcdsaExportPublicKey(otCryptoKeyRef aKeyRef, otPlatCryptoEcdsaPublicKey *aPublicKey)
|
पास की गई मुख्य पहचान फ़ाइल से, उससे जुड़ी सार्वजनिक कुंजी पाएं.
|
otPlatCryptoEcdsaGenerateAndImportKey(otCryptoKeyRef aKeyRef)
|
पहचान फ़ाइल पास होने पर, ईसीडीएसए की नई कुंजी का जोड़ा जनरेट और इंपोर्ट करें.
|
otPlatCryptoEcdsaGenerateKey(otPlatCryptoEcdsaKeyPair *aKeyPair)
|
आउटपुट बफ़र को नए ECDSA बटन की मदद से जनरेट करें और उसे पॉप्यूलेट करें.
|
otPlatCryptoEcdsaGetPublicKey(const otPlatCryptoEcdsaKeyPair *aKeyPair, otPlatCryptoEcdsaPublicKey *aPublicKey)
|
इनपुट के कॉन्टेक्स्ट से, अपनी सार्वजनिक कुंजी डाउनलोड करें.
|
otPlatCryptoEcdsaSign(const otPlatCryptoEcdsaKeyPair *aKeyPair, const otPlatCryptoSha256Hash *aHash, otPlatCryptoEcdsaSignature *aSignature)
|
हैश किए गए मैसेज के लिए, ईसीडीएसए हस्ताक्षर कैलकुलेट करने के लिए इनपुट कॉन्टेक्स्ट से निजी कुंजी का इस्तेमाल करें.
|
otPlatCryptoEcdsaSignUsingKeyRef(otCryptoKeyRef aKeyRef, const otPlatCryptoSha256Hash *aHash, otPlatCryptoEcdsaSignature *aSignature)
|
पास की गई कुंजी रेफ़रंस का इस्तेमाल करके, हैश किए गए मैसेज के लिए ईसीडीएसए हस्ताक्षर कैलकुलेट करें.
|
otPlatCryptoEcdsaVerify(const otPlatCryptoEcdsaPublicKey *aPublicKey, const otPlatCryptoSha256Hash *aHash, const otPlatCryptoEcdsaSignature *aSignature)
|
हैश किए गए मैसेज के ईसीडीएसए हस्ताक्षर की पुष्टि करने के लिए, इनपुट के कॉन्टेक्स्ट में दी गई कुंजी का इस्तेमाल करें.
|
otPlatCryptoEcdsaVerifyUsingKeyRef(otCryptoKeyRef aKeyRef, const otPlatCryptoSha256Hash *aHash, const otPlatCryptoEcdsaSignature *aSignature)
|
हैश किए गए मैसेज के ईसीडीएसए हस्ताक्षर की पुष्टि करने के लिए, keyref का इस्तेमाल करें.
|
otPlatCryptoExportKey(otCryptoKeyRef aKeyRef, uint8_t *aBuffer, size_t aBufferLen, size_t *aKeyLen)
|
PSA ITS में सेव की गई किसी कुंजी को एक्सपोर्ट करें.
|
otPlatCryptoHasKey(otCryptoKeyRef aKeyRef)
|
bool
देखें कि पास किए गए कुंजी रेफ़रंस में, PSA ITS से जुड़ी कुंजी है या नहीं.
|
otPlatCryptoHkdfDeinit(otCryptoContext *aContext)
|
HKDF कॉन्टेक्स्ट को शुरू न करें.
|
otPlatCryptoHkdfExpand(otCryptoContext *aContext, const uint8_t *aInfo, uint16_t aInfoLength, uint8_t *aOutputKey, uint16_t aOutputKeyLength)
|
HKDF बड़ा करें चरण पूरा करें.
|
otPlatCryptoHkdfExtract(otCryptoContext *aContext, const uint8_t *aSalt, uint16_t aSaltLength, const otCryptoKey *aInputKey)
|
HKDF एक्सट्रैक्ट करने का चरण पूरा करें.
|
otPlatCryptoHkdfInit(otCryptoContext *aContext)
|
HKDF कॉन्टेक्स्ट शुरू करें.
|
otPlatCryptoHmacSha256Deinit(otCryptoContext *aContext)
|
HMAC कार्रवाई शुरू न करें.
|
otPlatCryptoHmacSha256Finish(otCryptoContext *aContext, uint8_t *aBuf, size_t aBufLength)
|
एचएमएसी कार्रवाई पूरी करें.
|
otPlatCryptoHmacSha256Init(otCryptoContext *aContext)
|
HMAC कार्रवाई शुरू करें.
|
otPlatCryptoHmacSha256Start(otCryptoContext *aContext, const otCryptoKey *aKey)
|
एचएमएसी कार्रवाई शुरू करें.
|
otPlatCryptoHmacSha256Update(otCryptoContext *aContext, const void *aBuf, uint16_t aBufLength)
|
नए इनपुट का इस्तेमाल करके, एचएमएसी कार्रवाई को अपडेट करें.
|
otPlatCryptoImportKey(otCryptoKeyRef *aKeyRef, otCryptoKeyType aKeyType, otCryptoKeyAlgorithm aKeyAlgorithm, int aKeyUsage, otCryptoKeyStorage aKeyPersistence, const uint8_t *aKey, size_t aKeyLen)
|
कुंजी को PSA ITS में इंपोर्ट करें.
|
otPlatCryptoInit(void)
|
void
क्रिप्टो मॉड्यूल शुरू करें.
|
otPlatCryptoPbkdf2GenerateKey(const uint8_t *aPassword, uint16_t aPasswordLen, const uint8_t *aSalt, uint16_t aSaltLen, uint32_t aIterationCounter, uint16_t aKeyLen, uint8_t *aKey)
|
सीएम (AES-CMAC-PRF-128) का इस्तेमाल करके PKCS#5 PBKDF2 करें.
|
otPlatCryptoRandomDeinit(void)
|
void
क्रिप्टोग्राफ़िक तरीके से सिक्योर स्यूडोरैंडम नंबर जनरेटर (CSPRNG) की शुरुआत से करें.
|
otPlatCryptoRandomGet(uint8_t *aBuffer, uint16_t aSize)
|
दिए गए बफ़र को क्रिप्टोग्राफ़िक तरीके से सुरक्षित रैंडम बाइट से भरता है.
|
otPlatCryptoRandomInit(void)
|
void
क्रिप्टोग्राफ़िक तरीके से सिक्योर स्यूडोरैंडम नंबर जनरेटर (CSPRNG) को शुरू करें.
|
otPlatCryptoSha256Deinit(otCryptoContext *aContext)
|
SHA-256 कार्रवाई को शुरू नहीं करें.
|
otPlatCryptoSha256Finish(otCryptoContext *aContext, uint8_t *aHash, uint16_t aHashSize)
|
SHA-256 कार्रवाई पूरी करें.
|
otPlatCryptoSha256Init(otCryptoContext *aContext)
|
SHA-256 कार्रवाई शुरू करें.
|
otPlatCryptoSha256Start(otCryptoContext *aContext)
|
SHA-256 कार्रवाई शुरू करें.
|
otPlatCryptoSha256Update(otCryptoContext *aContext, const void *aBuf, uint16_t aBufLength)
|
नए इनपुट के साथ SHA-256 कार्रवाई को अपडेट करें.
|
संरचना |
|
---|---|
otCryptoContext |
प्लैटफ़ॉर्म एपीआई के लिए संदर्भ ऑब्जेक्ट स्टोर करता है. |
otCryptoKey |
क्रिप्टो करंसी की कार्रवाइयों के लिए ज़रूरी मुख्य कॉन्टेंट के बारे में बताता है. |
otPlatCryptoEcdsaKeyPair |
ईसीडीएसए की कुंजी का जोड़ा (सार्वजनिक और निजी की) दिखाता है. |
otPlatCryptoEcdsaPublicKey |
ईसीडीएसए सार्वजनिक कुंजी के बारे में बताता है. |
otPlatCryptoEcdsaSignature |
यह ईसीडीएसए हस्ताक्षर के बारे में बताता है. |
otPlatCryptoSha256Hash |
SHA-256 हैश को दिखाता है. |
गिनती
अनाम Enum
anonymous enum
इस्तेमाल से जुड़े मुख्य फ़्लैग के बारे में बताता है.
प्रॉपर्टी | |
---|---|
OT_CRYPTO_KEY_USAGE_DECRYPT
|
कुंजी का इस्तेमाल: AES ECB. |
OT_CRYPTO_KEY_USAGE_ENCRYPT
|
कुंजी का इस्तेमाल: एन्क्रिप्ट (सुरक्षित) करना (वेंडर की जानकारी दी गई). |
OT_CRYPTO_KEY_USAGE_EXPORT
|
कुंजी का इस्तेमाल: कुंजी एक्सपोर्ट की जा सकती है. |
OT_CRYPTO_KEY_USAGE_NONE
|
कुंजी उपयोग: कुंजी उपयोग खाली है. |
OT_CRYPTO_KEY_USAGE_SIGN_HASH
|
कुंजी का इस्तेमाल: हैश साइन करें. |
OT_CRYPTO_KEY_USAGE_VERIFY_HASH
|
कुंजी का इस्तेमाल: हैश की पुष्टि करें. |
otCryptoKeyAlgorithm
otCryptoKeyAlgorithm
इसकी मदद से, प्रमुख एल्गोरिदम तय किए जाते हैं.
प्रॉपर्टी | |
---|---|
OT_CRYPTO_KEY_ALG_AES_ECB
|
मुख्य एल्गोरिदम: AES ECB. |
OT_CRYPTO_KEY_ALG_ECDSA
|
मुख्य एल्गोरिदम: ईसीडीएसए. |
OT_CRYPTO_KEY_ALG_HMAC_SHA_256
|
कुंजी एल्गोरिदम: HMAC SHA-256. |
OT_CRYPTO_KEY_ALG_VENDOR
|
कुंजी एल्गोरिदम: वेंडर तय किया गया. |
otCryptoKeyStorage
otCryptoKeyStorage
मुख्य स्टोरेज टाइप के बारे में बताता है.
प्रॉपर्टी | |
---|---|
OT_CRYPTO_KEY_STORAGE_PERSISTENT
|
कुंजी परसिस्टेंस: कुंजी स्थायी होती है. |
OT_CRYPTO_KEY_STORAGE_VOLATILE
|
कुंजी परसिस्टेंस: कुंजी में उतार-चढ़ाव होता है. |
otCryptoKeyType
otCryptoKeyType
कुंजी टाइप के बारे में बताता है.
प्रॉपर्टी | |
---|---|
OT_CRYPTO_KEY_TYPE_AES
|
कुंजी का टाइप: AES. |
OT_CRYPTO_KEY_TYPE_ECDSA
|
कुंजी का टाइप: ईसीडीएसए. |
OT_CRYPTO_KEY_TYPE_HMAC
|
कुंजी का टाइप: एचएमएसी. |
OT_CRYPTO_KEY_TYPE_RAW
|
कुंजी का टाइप: रॉ डेटा. |
टाइपडीफ़
otCryptoContext
struct otCryptoContext otCryptoContext
otCryptoKey
struct otCryptoKey otCryptoKey
otCryptoKeyRef
uint32_t otCryptoKeyRef
इस डेटा टाइप से, मुख्य रेफ़रंस के बारे में पता चलता है.
otPlatCryptoEcdsaKeyPair
struct otPlatCryptoEcdsaKeyPair otPlatCryptoEcdsaKeyPair
otPlatCryptoEcdsaPublicKey
struct otPlatCryptoEcdsaPublicKey otPlatCryptoEcdsaPublicKey
otPlatCryptoEcdsaSignature
struct otPlatCryptoEcdsaSignature otPlatCryptoEcdsaSignature
otPlatCryptoSha256Hash
struct otPlatCryptoSha256Hash otPlatCryptoSha256Hash
SHA-256 हैश को दिखाता है.
वैरिएबल
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otPlatCryptoSha256Hash OT_TOOL_PACKED_END
फ़ंक्शन
otPlatCryptoAesEncrypt
otError otPlatCryptoAesEncrypt( otCryptoContext *aContext, const uint8_t *aInput, uint8_t *aOutput )
दिए गए डेटा को एन्क्रिप्ट (सुरक्षित) करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoAesFree
otError otPlatCryptoAesFree( otCryptoContext *aContext )
AES कॉन्टेक्स्ट से बचें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoAesInit
otError otPlatCryptoAesInit( otCryptoContext *aContext )
AES ऑपरेशन शुरू करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoAesSetKey
otError otPlatCryptoAesSetKey( otCryptoContext *aContext, const otCryptoKey *aKey )
AES ऑपरेशन के लिए कुंजी सेट करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoDestroyKey
otError otPlatCryptoDestroyKey( otCryptoKeyRef aKeyRef )
PSA ITS में सेव की गई कुंजी को नष्ट करना.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
otPlatCryptoEcdsaExportPublicKey
otError otPlatCryptoEcdsaExportPublicKey( otCryptoKeyRef aKeyRef, otPlatCryptoEcdsaPublicKey *aPublicKey )
पास की गई मुख्य पहचान फ़ाइल से, उससे जुड़ी सार्वजनिक कुंजी पाएं.
सार्वजनिक कुंजी को अलग-अलग तरीके से सेव किया जाता है. यह इस बात पर निर्भर करता है कि क्रिप्टो बैकएंड लाइब्रेरी किस तरह इस्तेमाल की जा रही है (OPENry_CONFIG_CRYPTO_LIB).
इस एपीआई को यह पक्का करना होगा कि सार्वजनिक कुंजी, बिना कंप्रेस किए गए कर्व पॉइंट (RFC 6605 - सेकंड 4) के बाइट सीक्वेंस के तौर पर दिखे
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoEcdsaGenerateAndImportKey
otError otPlatCryptoEcdsaGenerateAndImportKey( otCryptoKeyRef aKeyRef )
पहचान फ़ाइल पास होने पर, ईसीडीएसए की नई कुंजी का जोड़ा जनरेट और इंपोर्ट करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoEcdsaGenerateKey
otError otPlatCryptoEcdsaGenerateKey( otPlatCryptoEcdsaKeyPair *aKeyPair )
आउटपुट बफ़र को नए ECDSA बटन की मदद से जनरेट करें और उसे पॉप्यूलेट करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoEcdsaGetPublicKey
otError otPlatCryptoEcdsaGetPublicKey( const otPlatCryptoEcdsaKeyPair *aKeyPair, otPlatCryptoEcdsaPublicKey *aPublicKey )
इनपुट के कॉन्टेक्स्ट से, अपनी सार्वजनिक कुंजी डाउनलोड करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoEcdsaSign
otError otPlatCryptoEcdsaSign( const otPlatCryptoEcdsaKeyPair *aKeyPair, const otPlatCryptoSha256Hash *aHash, otPlatCryptoEcdsaSignature *aSignature )
हैश किए गए मैसेज के लिए, ईसीडीएसए हस्ताक्षर कैलकुलेट करने के लिए इनपुट कॉन्टेक्स्ट से निजी कुंजी का इस्तेमाल करें.
इसके लिए, आरएफ़सी 6979 की मदद से, डिटर्मिनिस्टिक डिजिटल सिग्नेचर जनरेट करने की प्रोसेस का इस्तेमाल किया जाता है.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoEcdsaSignUsingKeyRef
otError otPlatCryptoEcdsaSignUsingKeyRef( otCryptoKeyRef aKeyRef, const otPlatCryptoSha256Hash *aHash, otPlatCryptoEcdsaSignature *aSignature )
पास की गई कुंजी रेफ़रंस का इस्तेमाल करके, हैश किए गए मैसेज के लिए ईसीडीएसए हस्ताक्षर कैलकुलेट करें.
इसके लिए, आरएफ़सी 6979 की मदद से, डिटर्मिनिस्टिक डिजिटल सिग्नेचर जनरेट करने की प्रोसेस का इस्तेमाल किया जाता है.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoEcdsaVerify
otError otPlatCryptoEcdsaVerify( const otPlatCryptoEcdsaPublicKey *aPublicKey, const otPlatCryptoSha256Hash *aHash, const otPlatCryptoEcdsaSignature *aSignature )
हैश किए गए मैसेज के ईसीडीएसए हस्ताक्षर की पुष्टि करने के लिए, इनपुट के कॉन्टेक्स्ट में दी गई कुंजी का इस्तेमाल करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoEcdsaVerifyUsingKeyRef
otError otPlatCryptoEcdsaVerifyUsingKeyRef( otCryptoKeyRef aKeyRef, const otPlatCryptoSha256Hash *aHash, const otPlatCryptoEcdsaSignature *aSignature )
हैश किए गए मैसेज के ईसीडीएसए हस्ताक्षर की पुष्टि करने के लिए, keyref का इस्तेमाल करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoExportKey
otError otPlatCryptoExportKey( otCryptoKeyRef aKeyRef, uint8_t *aBuffer, size_t aBufferLen, size_t *aKeyLen )
PSA ITS में सेव की गई किसी कुंजी को एक्सपोर्ट करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoHasKey
bool otPlatCryptoHasKey( otCryptoKeyRef aKeyRef )
देखें कि पास किए गए कुंजी रेफ़रंस में, PSA ITS से जुड़ी कुंजी है या नहीं.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
otPlatCryptoHkdfDeinit
otError otPlatCryptoHkdfDeinit( otCryptoContext *aContext )
HKDF कॉन्टेक्स्ट को शुरू न करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoHkdfExpand
otError otPlatCryptoHkdfExpand( otCryptoContext *aContext, const uint8_t *aInfo, uint16_t aInfoLength, uint8_t *aOutputKey, uint16_t aOutputKeyLength )
HKDF बड़ा करें चरण पूरा करें.
ब्यौरा | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
रिटर्न वैल्यू |
|
otPlatCryptoHkdfExtract
otError otPlatCryptoHkdfExtract( otCryptoContext *aContext, const uint8_t *aSalt, uint16_t aSaltLength, const otCryptoKey *aInputKey )
HKDF एक्सट्रैक्ट करने का चरण पूरा करें.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
otPlatCryptoHkdfInit
otError otPlatCryptoHkdfInit( otCryptoContext *aContext )
HKDF कॉन्टेक्स्ट शुरू करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoHmacSha256Deinit
otError otPlatCryptoHmacSha256Deinit( otCryptoContext *aContext )
HMAC कार्रवाई शुरू न करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoHmacSha256Finish
otError otPlatCryptoHmacSha256Finish( otCryptoContext *aContext, uint8_t *aBuf, size_t aBufLength )
एचएमएसी कार्रवाई पूरी करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoHmacSha256Init
otError otPlatCryptoHmacSha256Init( otCryptoContext *aContext )
HMAC कार्रवाई शुरू करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoHmacSha256Start
otError otPlatCryptoHmacSha256Start( otCryptoContext *aContext, const otCryptoKey *aKey )
एचएमएसी कार्रवाई शुरू करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoHmacSha256Update
otError otPlatCryptoHmacSha256Update( otCryptoContext *aContext, const void *aBuf, uint16_t aBufLength )
नए इनपुट का इस्तेमाल करके, एचएमएसी कार्रवाई को अपडेट करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoImportKey
otError otPlatCryptoImportKey( otCryptoKeyRef *aKeyRef, otCryptoKeyType aKeyType, otCryptoKeyAlgorithm aKeyAlgorithm, int aKeyUsage, otCryptoKeyStorage aKeyPersistence, const uint8_t *aKey, size_t aKeyLen )
कुंजी को PSA ITS में इंपोर्ट करें.
अगर aKeyPersistence के लिए OT_CRYPTO_KEY_STORAGE_VOLATILE पास किया जाता है, तोaKeyRef
आउटपुट है, तो शुरुआती वैल्यू मायने नहीं रखती. साथ ही, नई कुंजी का रेफ़रंस देने के लिए, प्लैटफ़ॉर्म एपीआई को इसे अपडेट करना ज़रूरी है.
ब्यौरा | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||||
रिटर्न वैल्यू |
|
इस एपीआई का इस्तेमाल OT कोर से सिर्फ़ तब किया जाता है, जब OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
चालू होता है.
otPlatCryptoInit
void otPlatCryptoInit( void )
क्रिप्टो मॉड्यूल शुरू करें.
otPlatCryptoPbkdf2GenerateKey
otError otPlatCryptoPbkdf2GenerateKey( const uint8_t *aPassword, uint16_t aPasswordLen, const uint8_t *aSalt, uint16_t aSaltLen, uint32_t aIterationCounter, uint16_t aKeyLen, uint8_t *aKey )
सीएम (AES-CMAC-PRF-128) का इस्तेमाल करके PKCS#5 PBKDF2 करें.
ब्यौरा | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||||
रिटर्न वैल्यू |
|
otPlatCryptoRandomDeinit
void otPlatCryptoRandomDeinit( void )
क्रिप्टोग्राफ़िक तरीके से सिक्योर स्यूडोरैंडम नंबर जनरेटर (CSPRNG) की शुरुआत से करें.
otPlatCryptoRandomGet
otError otPlatCryptoRandomGet( uint8_t *aBuffer, uint16_t aSize )
दिए गए बफ़र को क्रिप्टोग्राफ़िक तरीके से सुरक्षित रैंडम बाइट से भरता है.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
otPlatCryptoRandomInit
void otPlatCryptoRandomInit( void )
क्रिप्टोग्राफ़िक तरीके से सिक्योर स्यूडोरैंडम नंबर जनरेटर (CSPRNG) को शुरू करें.
otPlatCryptoSha256Deinit
otError otPlatCryptoSha256Deinit( otCryptoContext *aContext )
SHA-256 कार्रवाई को शुरू नहीं करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoSha256Finish
otError otPlatCryptoSha256Finish( otCryptoContext *aContext, uint8_t *aHash, uint16_t aHashSize )
SHA-256 कार्रवाई पूरी करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoSha256Init
otError otPlatCryptoSha256Init( otCryptoContext *aContext )
SHA-256 कार्रवाई शुरू करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoSha256Start
otError otPlatCryptoSha256Start( otCryptoContext *aContext )
SHA-256 कार्रवाई शुरू करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatCryptoSha256Update
otError otPlatCryptoSha256Update( otCryptoContext *aContext, const void *aBuf, uint16_t aBufLength )
नए इनपुट के साथ SHA-256 कार्रवाई को अपडेट करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
मैक्रो
OT_CRYPTO_ECDSA_MAX_DER_SIZE
OT_CRYPTO_ECDSA_MAX_DER_SIZE 125
EDCSA की-पेयर को DER फ़ॉर्मैट में दिखाने के लिए, ज़्यादा से ज़्यादा बफ़र साइज़ (बाइट में).
OT_CRYPTO_ECDSA_PUBLIC_KEY_SIZE
OT_CRYPTO_ECDSA_PUBLIC_KEY_SIZE 64
EDCSA सार्वजनिक कुंजी को दिखाने के लिए बफ़र साइज़ (बाइट में).
OT_CRYPTO_ECDSA_SIGNATURE_SIZE
OT_CRYPTO_ECDSA_SIGNATURE_SIZE 64
ईडीसीएसए सिग्नेचर को दिखाने के लिए बफ़र साइज़ (बाइट में).
OT_CRYPTO_PBDKF2_MAX_SALT_SIZE
OT_CRYPTO_PBDKF2_MAX_SALT_SIZE 30
ज़्यादा से ज़्यादा PBKDF2 SALT की लंबाई: सॉल्ट प्रीफ़िक्स (6) + एक्सटेंडेड पैनिड (8) + नेटवर्क का नाम (16)
OT_CRYPTO_SHA256_HASH_SIZE
OT_CRYPTO_SHA256_HASH_SIZE 32
SHA256 हैश की लंबाई (बाइट में).
रिसॉर्स
OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.