Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Tiền mã hóa – Ngăn xếp chuỗi

Mô-đun này bao gồm các hàm mã hóa.

Tóm tắt

Loại

otCryptoSha256Hash typedef
Cấu trúc này đại diện cho hàm băm SHA-256.

Biến

OT_TOOL_PACKED_END

Hàm

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
Phương thức này thực hiện việc tính toán AES CCM.
otCryptoEcdsaSign(uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
Phương thức này tạo ra ký hiệu ECDSA.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Hàm này thực hiện việc tính toán HMAC.

Cấu trúc

otCryptoSha256Hash

Cấu trúc này đại diện cho hàm băm SHA-256.

Loại

otCryptoSha256Băm

struct otCryptoSha256Hash otCryptoSha256Hash

Cấu trúc này đại diện cho hàm băm SHA-256.

Biến

OT_DESCRIPTION_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

Hàm

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
)

Phương thức này thực hiện việc tính toán AES CCM.

Thông tin chi tiết
Thông số
[in] aKey
Con trỏ trỏ tới khóa.
[in] aTagLength
Độ dài của thẻ tính bằng byte.
[in] aNonce
Con trỏ tới số chỉ dùng một lần.
[in] aNonceLength
Độ dài của số chỉ bằng byte.
[in] aHeader
Con trỏ đến tiêu đề.
[in] aHeaderLength
Độ dài tiêu đề tính bằng byte.
[in,out] aPlainText
Con trỏ tới văn bản thuần túy.
[in,out] aCipherText
Con trỏ đến mật mã.
[in] aLength
Độ dài văn bản thuần túy tính bằng byte.
[in] aEncrypt
true khi mã hóa và false khi giải mã.
[out] aTag
Con trỏ đến thẻ.

otCryptoEcdsaSign

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

Phương thức này tạo ra ký hiệu ECDSA.

Thông tin chi tiết
Thông số
[out] aOutput
Vùng đệm đầu ra, nơi sẽ lưu trữ ký hiệu ECDSA.
[in,out] aOutputLength
Độ dài của vùng đệm aOutput.
[in] aInputHash
Hàm băm đã nhập.
[in] aInputHashLength
Độ dài của vùng đệm aInputHash.
[in] aPrivateKey
Khóa riêng tư ở định dạng PEM.
[in] aPrivateKeyLength
Độ dài của vùng đệm aPrivateKey.
Giá trị trả về
OT_ERROR_NONE
Đã tạo thành công ký hiệu ECDSA.
OT_ERROR_NO_BUFS
Bộ đệm đầu ra quá nhỏ.
OT_ERROR_INVALID_ARGS
Khoá riêng tư không hợp lệ là Khóa riêng tư EC.
OT_ERROR_FAILED
Lỗi khi ký.

otCryptoHmacSha256

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

Hàm này thực hiện việc tính toán HMAC.

Thông tin chi tiết
Thông số
[in] aKey
Con trỏ trỏ tới khóa.
[in] aBuf
Con trỏ tới bộ đệm đầu vào.
[in] aBufLength
Độ dài của aBuf tính bằng byte.
[out] aHash
Con trỏ đến cấu trúc otCryptoSha256Hash để xuất giá trị băm.

Macro

OT_CRYPTO_SHA256_Debug_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Độ dài của hàm băm SHA256 (tính bằng byte).

Nguồn lực

Các chủ đề trong API tham chiếu Openthread có nguồn gốc từ mã nguồn, có trên GitHub. Để biết thêm thông tin hoặc để đóng góp cho tài liệu của chúng tôi, hãy tham khảo phần Tài nguyên.