This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] J721EXSOMXEVM:用于 J721E DRA829的加密硬件加速器驱动程序是否支持 AES-GCM

Guru**** 1780110 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1379754/j721exsomxevm-a-driver-of-crypto-hardware-accelerator-for-j721e-dra829-supports-aes-gcm-or-not

器件型号:J721EXSOMXEVM
主题中讨论的其他器件:DRA829

工具与软件:

您好!

我们有关于 J721E DRA829加密硬件加速器的一些问题。


1) 1)用于 Linux SDK 的 Crypto API 驱动程序
以下用于 Linux SDK 的加密 API 驱动程序是否支持 AES-GCM?
我们想要求此驱动程序是否可以正确地工作 AES-GCM。

https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/08_01_00_07/exports/docs/linux/Foundational_Components /内核/ Kernel_Drivers / Crypto.html

注意:我已通过以下步骤获取 cryptodev 源代码。
https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/08_06_01_02/exports/docs/linux/Overview_Building_ SDK_4.12.html#build-options.


2) 2) J721E SDK 中的驱动程序
以下 J721E SDK 中的驱动器是否支持 AES-GCM?

SDK 文件名:
ti-processor-sdk-rtos-j721e-evm-08_05_00_11.tar.gz

驱动程序目录名称:
TI-PROCESSOR-SDK-RTOS-j721e-evm-08_05_00_11/pdk_jacinto_08_05_00_36/packages/ti/drv/sa

我们想要求此驱动程序是否可以正确地工作 AES-GCM。

非常感谢。

此致、S. 斋藤

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    https://elixir.bootlin.com/linux/latest/source/drivers/crypto/sa2ul.c

    Linux 驱动程序不支持 AES-GCM。

    RTOS 也是如此。  

    此致、

    基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Keerthy San

    感谢您的快速响应。

    我们刚刚实现了用于硬件加速的 sa2ul 驱动程序。 此驱动程序在以下 URL 中拥有 API。
    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/09_00_00_35/exports/docs/api_guide_am64x/SECURITY_SA2UL_MODULE_PAGE.html#autotoc_md1912

    由于此驱动程序不支持 AES-GCM、因此我们尝试根据 SPRUIL3B.pdf 中的[3.2.3 GCM 加密]对其进行自定义。
    但它看起来 AES-GCM 加密和解密没有按预期工作。

    您能回答以下问题并告诉我吗?

    [问题]
    1)关于将数据传输到硬件:
    在 AES-GCM 机箱中、驱动程序必须传输至硬件的正确数据是什么?

    2)关于身份验证标签:
    我们的驱动程序无法从硬件接收 AES-GCM 生成的身份验证标签。
    我们需要什么来接收它?


    详细信息如下:

    [步骤]
    1)使用 AES-GCM 加密输入数据
    2)使用 AES-GCM 解密密文
    3)比较输入数据与解密数据

    [结果]
    输入数据和解密数据会导致不匹配。

    [ENC]结果[0]:53
    [ENC]结果[1]:0f
    [ENC]结果[2]:8a
    [ENC]结果[3]:fb
    [ENC]结果[4]:C7
    [ENC]结果[5]:45
    [ENC]结果[6]:36
    [ENC]结果[7]:b9
    [ENC]结果[8]:A9
    [ENC]结果[9]:63
    [ENC]结果[10]:b4
    [ENC]结果[11]:f1
    [ENC]结果[12]:C4
    [ENC]结果[13]:CB
    [ENC]结果[14]:73
    [ENC]结果[15]:8b

    [使用 DMA 传输的安全上下文数据]

    以下数据将从我们的驱动程序传输到硬件。

    -加密上下文的开始
    我们的司机:0x14610044.
    SPRUIL3B.pdf:0x0c610044
    注意:
    与众不同!! 当我们根据 SPRUIL3B.pdf 将0x0c610044设置为该字段时、我们的驱动程序无法从硬件接收密文。


    - GCM 的 MCE 说明
    [0]:88a9fe83
    [1]:997e582e
    [2]:8a907141
    [3]:839d63aa.
    [4]:0b7e9a78
    [5]:3aa38b1e
    =>与[SPRUIL3B.pdf]中[3.2.3 GCM 加密部分]中的"Addr N+64B"相同

    -加密密钥
    [0]:00000000
    [1]:00000000
    [2]:00000000
    [3]:00000000
    [4]:00000000
    [5]:00000000
    [6]:00000000
    [7]:00000000
    =>与上面部分中的"Addr N+96B:"相同

    - AUX1.
    [0]:dc95c078
    [1]:a24089
    [2]:ad48a214
    [3]:92842087
    [4]:00000000
    [5]:00000080
    [6]:00000000
    [7]:00000080
    =>与上一节中的"Addr N+128B:"相同


    [TX 描述符数据]
    以下数据将从我们的驱动程序传输到硬件。
    能否确认以下数据是否正确?

    [PS 信息]
    PS1:02e90000
    PS2:14300010
    PS3:00596272

    [软件信息]
    字0:45000000
    字1:c048f240
    字2:10000000

    选项[0]:00000000
    选项[1]:00000000
    选项[2]:00000000
    选项[3]:00000080
    选项[4]:00000000
    选项[5]:00000000
    选项[6]:00000000
    选项[7]:00000000
    选项[8]:00000000
    选项[9]:00000000
    选项[10]:00000000
    选项[11]:00000001

    非常感谢。
    此致、S. 斋藤

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Saito San:

    我咨询了我们的团队、很遗憾、我们的专家没有带宽支持添加新加密模式、因此 TI 方面的支持将非常有限。  

    在我们的 Linux 驱动程序中、我看到了以下支持的算法:

    枚举 sa_algo_id
    SA_ALG_CBC_AES = 0
    SA_ALG_EBC_AES
    SA_ALG_CBC_DES3
    SA_ALG_ECB_DES3
    SA_ALG_SHA1
    SA_ALG_SHA256
    SA_ALG_SHA512
    SA_ALG_AUTHENC_SHA1_AES
    SA_ALG_AUTHENC_SHA256_AES
    };
    是否可以出于您的目的使用这些其他加密方法中的任何一种?
    此致、
    Takuma