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.

[参考译文] PROCESSOR-SDK-AM62X:PROCESSOR-SDK-AM62X

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1317576/processor-sdk-am62x-processor-sdk-am62x

器件型号:PROCESSOR-SDK-AM62X

您好,

     我们在测试 AM62X 平台的硬件加速时发现了一个问题。

    使用 devcrypto 引擎:CPU 使用率为99%

   

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
time -v openssl speed -evp SHA512 -engine devcrypto
Invalid engine "devcrypto"
Doing SHA512 for 3s on 16 size blocks: 1410387 SHA512's in 2.98s
Doing SHA512 for 3s on 64 size blocks: 1409513 SHA512's in 2.98s
Doing SHA512 for 3s on 256 size blocks: 765527 SHA512's in 2.98s
Doing SHA512 for 3s on 1024 size blocks: 323599 SHA512's in 2.98s
Doing SHA512 for 3s on 8192 size blocks: 50709 SHA512's in 2.99s
Doing SHA512 for 3s on 16384 size blocks: 25769 SHA512's in 2.97s
version: 3.0.9
built on: Tue May 30 12:31:57 2023 UTC
options: bn(64,64)
compiler: aarch64-oe-linux-gcc --sysroot=recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map= -fdebug-prefix-map= -fdebug-prefix-map= -fdebug-prefix-map= -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0xbd
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
SHA512 7572.55k 30271.42k 65763.39k 111196.43k 138932.48k 142154.65k
Command being timed: "openssl speed -evp SHA512 -engine devcrypto"
User time (seconds): 17.90
System time (seconds): 0.01
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0m 18.03s
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 请勿使用 devcrypto 引擎:CPU 使用率为99%

 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@OK62xx:/# time -v openssl speed -evp SHA512
Doing SHA512 for 3s on 16 size blocks: 1410248 SHA512's in 2.98s
Doing SHA512 for 3s on 64 size blocks: 1407024 SHA512's in 2.99s
Doing SHA512 for 3s on 256 size blocks: 764826 SHA512's in 2.98s
Doing SHA512 for 3s on 1024 size blocks: 323385 SHA512's in 2.98s
Doing SHA512 for 3s on 8192 size blocks: 50719 SHA512's in 2.98s
Doing SHA512 for 3s on 16384 size blocks: 25800 SHA512's in 2.98s
version: 3.0.9
built on: Tue May 30 12:31:57 2023 UTC
options: bn(64,64)
compiler: aarch64-oe-linux-gcc --sysroot=recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map= -fdebug-prefix-map= -fdebug-prefix-map= -fdebug-prefix-map= -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0xbd
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
SHA512 7571.80k 30116.90k 65703.17k 111122.90k 139426.19k 141848.05k
Command being timed: "openssl speed -evp SHA512"
User time (seconds): 17.90
System time (seconds): 0.00
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0m 18.02s
Average shared text size (kbytes): 0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我们分析了 sa2ul.c 并发现源代码"Settings (设置)"有问题。

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
static struct sa_alg_tmpl sa_algs[] = {
...
[SA_ALG_CBC_AES] = {
.type = CRYPTO_ALG_TYPE_SKCIPHER,
.alg.skcipher = {
.base.cra_name = "cbc(aes)",
.base.cra_driver_name = "cbc-aes-sa2ul",
.base.cra_priority = 30000,
...
[SA_ALG_SHA256] = {
.type = CRYPTO_ALG_TYPE_AHASH,
.alg.ahash = {
.halg.base = {
.cra_name = "sha256",
.cra_driver_name = "sha256-sa2ul",
.cra_priority = 400, [SA_ALG_SHA256] = {
...
[SA_ALG_SHA512] = {
.type = CRYPTO_ALG_TYPE_AHASH,
.alg.ahash = {
.halg.base = {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

在将 CRA_priority = 400更改为 CRA_priority = 30000后、我重新编译了 sa2ul.c 以进行测试、现象如下

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
root@OK62xx:/# time -v openssl speed -evp SHA512 -engine devcrypto
Invalid engine "devcrypto"
20306A87FFFF0000:error:1300006D:engine routines:dynamic_load:init failed:../openssl-3.0.9/crypto/engine/eng_dyn.c:514:
20306A87FFFF0000:error:13000074:engine routines:ENGINE_by_id:no such engine:../openssl-3.0.9/crypto/engine/eng_list.c:430:id=devcrypto
20306A87FFFF0000:error:12800067:DSO support routines:dlfcn_load:could not load the shared library:../openssl-3.0.9/crypto/dso/dso_dlfcn.c:118:filename(libdevcrypto.so): libdevcrypto.so: cannot open shared object file: No such file or directory
20306A87FFFF0000:error:12800067:DSO support routines:DSO_load:could not load the shared library:../openssl-3.0.9/crypto/dso/dso_lib.c:152:
20306A87FFFF0000:error:13000084:engine routines:dynamic_load:dso not found:../openssl-3.0.9/crypto/engine/eng_dyn.c:442:
Doing SHA512 for 3s on 16 size blocks: 1414478 SHA512's in 2.99s
Doing SHA512 for 3s on 64 size blocks: 1409612 SHA512's in 2.98s
Doing SHA512 for 3s on 256 size blocks: 765600 SHA512's in 2.98s
Doing SHA512 for 3s on 1024 size blocks: 323552 SHA512's in 2.98s
Doing SHA512 for 3s on 8192 size blocks: 50691 SHA512's in 2.98s
Doing SHA512 for 3s on 16384 size blocks: 25750 SHA512's in 2.98s
version: 3.0.9
built on: Tue May 30 12:31:57 2023 UTC
options: bn(64,64)
compiler: aarch64-oe-linux-gcc --sysroot=recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map= -fdebug-prefix-map= -fdebug-prefix-map= -fdebug-prefix-map= -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0xbd
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
SHA512 7569.11k 30273.55k 65769.66k 111180.28k 139349.22k 141573.15k
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

测试结果显示,尽管我们在测试中设置了-engine devcrypto 参数,但我们的系统 SA3失败,仍然使用软件加密。 如何解决此问题?  

 "time -v openssl speed-evp AES-128-CBC-engine devcrypto"和"time -v openssl speed-evp AES-128-CBC-engine"。 "这两条指令几乎同时执行。 硬件加速可以减少指令运行时间吗?

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

    您好!
    您的测试中使用的是哪个 SDK 版本?
    此致!
    -洪

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

    您好,Hong,

          我们使用 SDK 9.0.3

    最佳

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

    您好!
    我们是否可以在您的设置上使用 SDK 9.1重新运行测试?
    此致!
    -洪

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

    hello,sdk9.1简体也是同样的问题。

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

    您好!
    感谢您使用 SDK 9.1运行测试
    让我在这边看看、然后给您回复。
    此致!
    -洪

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

    您好,您这边sdk 9.1的硬件加密验证的怎么样了?

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

    e2e.ti.com/.../am625-compiling-with-custom-keys-in-yocto-build
    e2e.ti.com/.../am625-secure-boot-and-compiling

    这两个 e2e 来自专门的安全 e2e 论坛、用于以安全为重点的主题讨论。 请向我发送加入安全 e2e 论坛的邀请。

     

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

    您好!
    我向大家发送了加入 e2e 安全论坛的邀请函。
    此致!
    -洪

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

    您好!

    SDK 9.1的硬件加密验证状态是什么?

    此致!

    马考

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

    您好!
    我们需要额外的时间来检查它。
    此致!
    -洪

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

    您好,

    需要多长时间? 我需要回到我的客户。

    最佳

    马考

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

    您好!
    我下周会再见。
    此致!
    -洪

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

    您好!

    SDK 9.1的硬件加密验证状态是什么?

    此致!

    马考

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

    你好,Machao

    Ethan 提醒我们这个问题尚未解决。 对此,我们感到遗憾的是,洪明甫不得不提前计划休假,并将在本月末回来。  
    但是、根据他与软件开发团队的讨论、下面是我们的当前状态/总结  

    OpenSSL SHA 有一些已知的缺点, SA2UL 驱动程序是写的,记住只有一组加密模块(IPsec), IPsec 具有有限大小的数据包,可以单脉冲处理。 对于 SHA (OpenSSL)、我们需要在当前 SDK9.x 中未包含的驱动程序中支持多突发支持。 目前计划在2024年10月的时间段内对 SDK10.1进行此更新。  您的 AES 观察是准确的、从较高的层次上讲、这些模块更能减轻 CPU 负载、然后用作"加速器"、因此在一定程度上可以预期当前实施的高 CPU 负载。  

    您的客户对该功能的需求有哪些时间表、他们是否可以暂时没有该功能和/或查看基于 CPU 的(非加密模块)替代产品?

    注意:此主题可能会因几个月前被锁定,如果是,您可以使用此帖子作为相关的 E2E 创建新的 E2E。