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.

[参考译文] AM5728:使用 AF_ALG 加密引擎的 AES、DES、SHA 硬件加速器

Guru**** 2546460 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/977376/am5728-aes-des-sha-hardware-accelerators-using-af_alg-crypto-engine

器件型号:AM5728

您好!

根据最初的问题、我尝试验证 AM5728 EVM 中的硬件加速。 根据此链接、AM57XX SoC 不支持 Cryptodev 内核模块。

因此、我通过 AM5728 EVM 上的 AF_ALG 引擎运行 openssl 命令。 此引擎在/usr/lib/engines-1.1/afalg.so 上的 TI Linux PSDK 6.03中提供。我将获得以下输出-

root@am57xx-EVM:// openssl 速度-evp AES-128-CBC -引擎算法
引擎"afalg"集。
在16个大小块上执行 AES-128-CBC 3s:在0.24秒内执行 AES-128-CBC
在64个大小块上执行 AES-128-CBC 在0.18秒内执行 AES-128-CBC
在256个大小块上执行 AES-128-CBC 在256个大小
块上执行 AES-128-CBC 在0.128个大小块上执行 AES-128-CBC:在0.11s 内执行 AES-128-CBC 在128大小为3s: 30.03 AES-128-CBC 在0.05秒
内对8192个大小块执行 AES-128-CBC 三秒:10444 AES-128-CBC 在0.02秒
内对16384个大小块执行 AES-128-CBC 三秒:5827 AES-128-CBC 在0.04月
1.1b 2019年2月26日
构建于:Sun
PTR (02) tale32 (tb) dh dh dh (bc
) dh in 32:1、bc arm-linux-gnueabihf-gcc -March =armv7-a -mthumb -mfpu =neON -mfloat-abi= hard --sysroot=pegote-issystem/home/gtbldadm/tools/gasm-arm-2019.03/arm-linux-gnueabihf/include-dssngasm_debug/dasm-dasm-dasm-dasm-dasm_dssngasm_dssprefix-dssl-dssl-dsmp_dissue-dissue_dissue-deg-dcp_dcpue_dissue-dcpue_dcpue_dcpue-dcpue_dissue-dcpue-dcpue-dcpue-dcpue_dcpu_dissue-dcpue-dcpue-dcpue_dcpue-dcpue_dcpu_dcpue-dissue_dcpue-dcpue-dcpue-dcpue-dcpue-dcpue-dcpue_dcp

类型 16字节 64字节256字节1024字节8192字节16384字节
AES-128-CBC 10487.20k 54018.49k 115618.91k 645181.44k 4277862.40k 9546956.80k

root@am57xx-EVM:// time -v openssl speed -evp AES-128-CBC -引擎算法
引擎"afalg"设置。
在16个大小块上执行 AES-128-CBC 3秒:在0.22秒内执行 AES-128-CBC
在64个大小块上执行 AES-128-CBC 3秒:在0.13秒内执行 AES-128-CBC
在256个大小块上执行 AES-128-CBC 在0.08秒
内执行 AES-128-CBC 在256个大小块上执行 AES-128-CBC:在0.128个大小块上执行49034 AES-128-CBC:在128个大小块上执行 AES 1024 30981 AES-128-CBC in 0.05s
在8192个大小块上执行 AES-128-CBC for 3s 大小:10376 AES-128-CBC in 0.04 s
在16384大小块上执行 AES-128-CBC for 3s 大小块:5813 AES-128-CBC in 0.04 1
OpenSSL 1.1.1b 26 Febb 2019年2月
构建于:Sun
PTR (18) 02:32 dh dh dh (bc
) dh) r 32 dh dh (dh dh dh in r 2 (dh) arm-linux-gnueabihf-gcc -March =armv7-a -mthumb -mfpu =neON -mfloat-abi= hard --sysroot=pegote-issystem/home/gtbldadm/tools/gasm-arm-2019.03/arm-linux-gnueabihf/include-dssngasm_debug/dasm-dasm-dasm-dasm-dasm_dssngasm_dssprefix-dssl-dssl-dsmp_dissue-dissue_dissue-deg-dcp_dcpue_dissue-dcpue_dcpue_dcpue-dcpue_dissue-dcpue-dcpue-dcpue-dcpue_dcpu_dissue-dcpue-dcpue-dcpue_dcpue-dcpue_dcpu_dcpue-dissue_dcpue-dcpue-dcpue-dcpue-dcpue-dcpue-dcpue_dcp

类型 16字节 64字节256字节1024字节8192字节16384字节
AES-128-CBC 11651.78k 74683.57k 156908.80k 634490.88k 2125004.80k 9524019.20k
命令正在计时:"OpenSSL speed -EVP AES-128-CBC 引擎算法"
用户时间(秒):0.54
系统时间(秒):8.78%
CPU 此作业已
用:50%(墙壁时钟128–CBC 引擎算法)平均时间(秒):0.54 KB 系统时间(秒):8.78%(秒):0

KB (平均时间):共享时间(平均值:0KB)(平均值:1KB)(平均值:0KB) 0
平均堆栈大小(KB):0
平均总大小(KB):0
最大驻留集大小(KB):14624
平均驻留集大小(KB):0
主要(需要 I/O)页错误:0
次要(请求一个帧)页错误:187
个自愿上下文切换:96175
非自愿上下文切换:2622
交换:0
文件系统输入: 0
文件系统输出:0
套接字消息发送:0
套接字消息接收:0
信号发送:0
页大小(字节):4096
退出状态:0

我现在有以下有关硬件加速的问题-

  1. afalg 和 cryptodev 引擎之间有何区别? 如果 afalg 也受加密引擎支持、为什么 TI 文档中没有提到它?
  2. 此引擎支持的算法列表是什么? 如何验证该引擎是否实际使用了硬件加速器?
  3. 在 /etc/ssl/openssl.cnf 中启用此引擎并将其设置为默认值后,openssl 是否默认使用此引擎? 从而在默认情况下使用硬件加密加速器?

请回复。

此致、

Devashish

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

    [引用 user="Devashish Tiwari"> afalg 和 cryptodev 引擎之间有何区别? 如果 afalg 还支持作为加密引擎、为什么 TI 文档中未提及它?

    这一点从未在我们一侧进行过测试。 因此、文档中从未提到过。

    [引用用户="Devashish Tiwari"]

    • 此引擎支持的算法列表是什么? 如何验证该引擎是否实际使用硬件加速器?

    [/报价]

    http://trac.gateworks.com/wiki/linux/encryption

    这更多是通用加密问题。 您可以在 linux-crypto@vger.kernel.org 上询问所有与 afalg 相关的问题

    [引用 user="Devashish Tiwari">在 /etc/ssl/openssl.cnf 中启用此引擎并将其设置为默认值后,openssl 是否默认使用此引擎? 从而在默认情况下使用硬件加密加速器?

    只要您看到 OMAP-SHIM OMAP-AES 模块使用 lsmod 加载、您就可以确保硬件加密将用作
    这些算法的优先级高于软件加密。
    例如:

    .CRA_priority = 300、在静态结构中、crypto_ALG algs_ECB_CBC[]={在 driver/crypto/OMAP-AES.c 中

    您始终可以使用 tcrypt 来确保使用硬件加密: https://stackoverflow.com/questions/28080086/how-to-test-a-specific-algorithm-using-tcrypt-ko-module-in-linux-kernel

    此致、
    基尔西

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

    您好!

    感谢您的回答。

    [引用用户="Keerthy J"]

    这一点从未在我们一侧进行过测试。 因此、文档中从未提到过。

    [/报价]
    未来的 Linux PSDK 中是否会在 AM5728上支持 Cryptodev 引擎? 如果没有、是否可以在 AM5728上使用具有 openssl 的 Cryptodev 引擎和 TI Linux PSDK 5.03?

    [引用用户="Keerthy J"]

    只要您看到 OMAP-SHIM OMAP-AES 模块使用 lsmod 加载、您就可以确保硬件加密将用作
    这些算法的优先级高于软件加密。
    例如:

    .CRA_priority = 300、在静态结构中、crypto_ALG algs_ECB_CBC[]={在 driver/crypto/OMAP-AES.c 中

    [/报价]
    如何检查这些硬件加密加速器的性能? 是否有用于检查速度和吞吐量的命令行实用程序?
    此致、
    Devashish
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Devashish Tiwari"> 未来的 Linux PSDK 中、AM5728是否支持 Cryptodev 引擎? 如果没有、 是否可以 在 AM5728上使用具有 openssl 的 Cryptodev 引擎与 TI Linux PSDK 5.03?[/quot]

    现在没有计划。

    如何检查这些硬件加密加速器的性能? 是否有用于检查速度和吞吐量的命令行实用程序?
    正如我在上面提到的、有一个 tcrypt kenel 模块。 您只需使用它获取算法性能值即可

    请告诉我您是否可以使用 tcrypt。 如果是、请解决此问题。

    此致、
    基尔西

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

    您好!

    我在   tcrypt 测试头下运行了此链接上提到的命令、并获得了与链接上提到的相同的输出。

    默认情况下、我无法让应用(我开发的)使用硬件加密加速器。

    例如 、我正在开发一个从流服务器流式传输 EVM 上的视频的应用。 我想使用硬件加速器对该视频进行加密。 或者对于提供端到端视频呼叫功能的另一个应用、我希望发送加密视频。 如何使用硬件加速器来实现此类使用案例?

    此致、

    Devashish

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

    您好!

    请确认并回复。

    此致、

    Devashish

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

    您好!

    这是第二个提醒、我正在等待您对此帖子的回复。

    此致、

    Devashish

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

    您好!

    这是第三次提醒,我正在等待您的答复。

    此致、

    Devashish

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

    您好!

    有人会不会马上回复吗?

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

    Devashish、

    在您上一个帖子后、此主题似乎没有收到响应。 抱歉。

    如果此问题仍然存在并且对您很重要、您能否告知我们? 如果是、我们可以尝试工作并找到解决方案。

    此致

    Karthik

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

    您好、Karthik、

    问题仍然存在。  默认情况下、我仍然无法让应用(我开发的)使用硬件加密加速器。

    例如、我正在开发一个从流服务器流式传输 EVM 上的视频的应用。 我想使用硬件加速器对该视频进行加密。 或者对于提供端到端视频呼叫功能的另一个应用、我希望发送加密视频。 如何使用硬件加速器来实现此类用例?

    此致、

    Devashish