代码之家  ›  专栏  ›  技术社区  ›  LeMoussel

MBED TLS RSA环境的大小(以字节为单位)?

  •  0
  • LeMoussel  · 技术社区  · 6 年前

    我在STM32F103设备上使用MBED-TLS。STM 32F103设备的SRAM内存很少(20千字节)。

    我想计算 mbedtls_rsa_context

    如何做到这一点? 它是:

    sizeof(mbedtls_rsa_context)+13*sizeof(mbedtls_mpi)+mbedtls_mpi_size(d)++MBEDTLS MPI U尺寸(VF)

    谢谢,

    当做。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ron Eldor    6 年前

    注意结构 mbedtls_rsa_context 包含这些13 mbedtls_mpi 结构,所以如果你这样做 sizeof(mbedtls_rsa_context) ,它已经包括 13 * sizeof(mbedtls_mpi ) 部分。所以,不需要再加上那个部分。 至于每只公羊 姆贝特尔斯MPI 消费,正如你在 mbedtls_mpi_grow ,分配的大小是四肢的数量(x->n)乘以四肢中的字符(cil)。 如果你使用 mbedtls_mpi_size 在每一个MPI上,它只提供大整数使用的字节大小,如果有的话,没有前导零,也会消耗RAM。 注意,这意味着访问结构的内部成员,这是不推荐的,但是没有任何公共API来获取这些知识。

    如果您受限于SRAM,您是否考虑使用ECDSA密钥,因为相同的安全强度密钥消耗较少的RAM?
    当做