Mbed TLS rsa_context 的大小(以字节为单位)是多少?
What is size (in bytes) of Mbed TLS rsa_context?
我在 STM32F103 设备上使用 MBED-TLS。 STM 32F103 设备的 SRAM 内存很小(20 KB)。
使用的ram
如何做到这一点?
是吗:
sizeof(mbedtls_rsa_context) + 13 * sizeof(mbedtls_mpi ) + mbedtls_mpi_size (D) + ..... + mbedtls_mpi_size (Vf)
谢谢,
此致。
请注意,结构 mbedtls_rsa_context
包含这 13 个 mbedtls_mpi
结构,因此如果您执行 sizeof(mbedtls_rsa_context)
,它已经包含 13 * sizeof(mbedtls_mpi )
部分。因此,无需添加该部分。
至于每个 mbedtls_mpi
消耗的 RAM,如您在 mbedtls_mpi_grow
中所见,分配的大小是肢体数 (x->n) 乘以肢体中的字符数 (CiL)。
如果你在每个 mpi 上使用 mbedtls_mpi_size
,它只会给你大整数使用的字节大小,没有前导零,如果有的话,这也会消耗 RAM。
请注意,这意味着访问结构的内部成员,不推荐这样做,但是没有任何 public API 来获取该知识。
如果您受限于 SRAM,是否考虑过使用 ECDSA 密钥,因为相同安全强度的密钥消耗的 RAM 更少?
此致
我在 STM32F103 设备上使用 MBED-TLS。 STM 32F103 设备的 SRAM 内存很小(20 KB)。
使用的ram如何做到这一点? 是吗:
sizeof(mbedtls_rsa_context) + 13 * sizeof(mbedtls_mpi ) + mbedtls_mpi_size (D) + ..... + mbedtls_mpi_size (Vf)
谢谢,
此致。
请注意,结构 mbedtls_rsa_context
包含这 13 个 mbedtls_mpi
结构,因此如果您执行 sizeof(mbedtls_rsa_context)
,它已经包含 13 * sizeof(mbedtls_mpi )
部分。因此,无需添加该部分。
至于每个 mbedtls_mpi
消耗的 RAM,如您在 mbedtls_mpi_grow
中所见,分配的大小是肢体数 (x->n) 乘以肢体中的字符数 (CiL)。
如果你在每个 mpi 上使用 mbedtls_mpi_size
,它只会给你大整数使用的字节大小,没有前导零,如果有的话,这也会消耗 RAM。
请注意,这意味着访问结构的内部成员,不推荐这样做,但是没有任何 public API 来获取该知识。
如果您受限于 SRAM,是否考虑过使用 ECDSA 密钥,因为相同安全强度的密钥消耗的 RAM 更少?
此致