Google is committed to advancing racial equity for Black communities. See how.

تشفير

تتضمن هذه الوحدة وظائف التشفير.

ملخص

النوع

otCryptoSha256Hash typedef
يمثل هذا الهيكل تجزئة SHA-256.

المتغيرات

OT_TOOL_PACKED_END

المهام

otCryptoAesCcm (const otCryptoKey *aKey, uint8_t aTagLength, const void *aNonce, uint8_t aNonceLength, const void *aHeader, uint32_t aHeaderLength, void *aPlainText, void *aCipherText, uint32_t aLength, bool aEncrypt, void *aTag)
void
تقوم هذه الطريقة بحساب AES CCM.
otCryptoEcdsaSign (uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
هذه الطريقة تخلق علامة ECDSA.
otCryptoHmacSha256 (const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
تؤدي هذه الوظيفة حساب HMAC.

الهياكل

otCryptoSha256 تجزئة

يمثل هذا الهيكل تجزئة SHA-256.

النوع

otCryptoSha256 تجزئة

struct otCryptoSha256Hash otCryptoSha256Hash

يمثل هذا الهيكل تجزئة SHA-256.

المتغيرات

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

المهام

otCryptoAesCcm

void otCryptoAesCcm(
  const otCryptoKey *aKey,
  uint8_t aTagLength,
  const void *aNonce,
  uint8_t aNonceLength,
  const void *aHeader,
  uint32_t aHeaderLength,
  void *aPlainText,
  void *aCipherText,
  uint32_t aLength,
  bool aEncrypt,
  void *aTag
)

تقوم هذه الطريقة بحساب AES CCM.

تفاصيل
العوامل
[in] aKey
مؤشر على المفتاح.
[in] aTagLength
طول العلامة بالبايت.
[in] aNonce
مؤشر إلى nonce.
[in] aNonceLength
طول nonce بالبايت.
[in] aHeader
مؤشر إلى الرأس.
[in] aHeaderLength
طول الرأس بالبايت.
[in,out] aPlainText
مؤشر إلى النص العادي.
[in,out] aCipherText
مؤشر إلى النص المشفر.
[in] aLength
طول النص العادي بالبايت.
[in] aEncrypt
true على تشفير و false على فك تشفير.
[out] aTag
مؤشر إلى العلامة.

otCryptoEcdsaSign

otError otCryptoEcdsaSign(
  uint8_t *aOutput,
  uint16_t *aOutputLength,
  const uint8_t *aInputHash,
  uint16_t aInputHashLength,
  const uint8_t *aPrivateKey,
  uint16_t aPrivateKeyLength
)

هذه الطريقة تخلق علامة ECDSA.

تفاصيل
العوامل
[out] aOutput
مخزن إخراج مؤقت حيث يجب تخزين علامة ECDSA.
[in,out] aOutputLength
طول aOutput العازلة.
[in] aInputHash
إدخال تجزئة.
[in] aInputHashLength
طول aInputHash العازلة.
[in] aPrivateKey
مفتاح خاص بتنسيق PEM.
[in] aPrivateKeyLength
طول aPrivateKey العازلة.
إرجاع القيم
OT_ERROR_NONE
تم إنشاء علامة ECDSA بنجاح.
OT_ERROR_NO_BUFS
المخزن المؤقت للإخراج صغير جدًا.
OT_ERROR_INVALID_ARGS
المفتاح الخاص ليس مفتاح EC الخاص صالحًا.
OT_ERROR_FAILED
خطأ أثناء التوقيع.

otCryptoHmacSha256

void otCryptoHmacSha256(
  const otCryptoKey *aKey,
  const uint8_t *aBuf,
  uint16_t aBufLength,
  otCryptoSha256Hash *aHash
)

تؤدي هذه الوظيفة حساب HMAC.

تفاصيل
العوامل
[in] aKey
مؤشر على المفتاح.
[in] aBuf
مؤشر إلى مخزن الإدخال المؤقت.
[in] aBufLength
طول aBuf في بايت.
[out] aHash
مؤشر إلى otCryptoSha256Hash هيكل لإخراج قيمة التجزئة.

وحدات الماكرو

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

طول تجزئة SHA256 (بالبايت).