寻找RSA C裸机实施(适用于STM32)

时间:2019-06-24 06:20:14

标签: cryptography rsa stm32

我正在寻找RSA签名验证的裸机C实现。如果可能,我需要一个没有动态分配的实现。目标是STM32H753。

我知道STMicro有一个提供RSA的加密库,但是源代码不可用,而且无论如何它对于STM32H7都不可用。

我在github上进行了查看,但是很难评估项目的质量。

编辑:根据意法半导体的支持,有一个cryptolib补丁可以在STM32H7上使用它

2 个答案:

答案 0 :(得分:3)

STM32没有硬件RSA支持(仅DES和AES),但是任何普通的C软件实现都可以。如果您不确定某个库的质量,可以使用Information Security SE来询问特定的库。

有一个硬件随机数生成器,您可以使用它,例如而不是rand()库函数。在《参考手册》的熵源验证一章中注意建议的时钟设置。

答案 1 :(得分:1)

看看ARM Mbed TLS:https://tls.mbed.org/kb/how-to/encrypt-and-decrypt-with-rsa

源代码:https://github.com/ARMmbed/mbedtls

License file显示它是开源Apache 2.0。

之前,我已经在STM32 MCU(没有使用Mbed的情况下将其用于SHA-256散列)(毕竟它只是一个库),并且运行良好。 (做SHA-256哈希的4个示例:https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-tls-hashing/file/c68a6dc8d494/main.cpp/