个人技术分享

OpenHarmony鸿蒙软总线子系统中使用了多种的加密技术,本篇介绍调用mbedtls的数据加密。

调用mbedtls加密的源码位于:
foundation/communication/dsoftbus/adapter/common/mbedtls/softbus_adapter_crypto.c

这个源码单元,调用mbedTLS库实现了各种加密功能,包括AES-GCM加密/解密、Base64编码/解码、SHA-256哈希、随机数生成以及AES-CTR加密/解密。

主要组件和功能

  1. AES-GCM 加密/解密

    • MbedAesGcmEncrypt:使用AES-GCM加密数据。
    • MbedAesGcmDecrypt:使用AES-GCM解密数据。
    • SoftBusEncryptData:加密数据并处理IV(初始化向量)生成。
    • SoftBusDecryptData:解密数据并处理IV提取。
    • SoftBusEncryptDataWithSeq:使用包含序列号的IV加密数据。
    • SoftBusDecryptDataWithSeq:解密包含序列号的数据。
  2. AES-CTR 加密/解密

    • GetCtrAlgorithmByKeyLen:根据密钥长度确定AES-CTR算法。
    • SoftBusEncryptDataByCtr:使用AES-CTR加密数据。
    • <