Крипто

Этот модуль включает криптографические функции.

Резюме

Typedefs

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.

Структуры

otCryptoSha256Hash

Эта структура представляет собой хеш SHA-256.

Typedefs

otCryptoSha256Hash

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
Указатель на одноразовый номер.
[in] aNonceLength
Длина одноразового номера в байтах.
[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 (в байтах).