本帖最后由 慢羊羊1 于 2020-11-22 20:45 编辑
信息的加解密不仅需要软件来实现,也需要硬件的支持。STM32的加解密硬件模块有:
TRGN 真随机数产生器,True Random Generator。 之所以是True,因为这个模块产生的随机数是以真正随机的物理噪声源为种子产生的。 该模块直接挂在AHB总线上,有三个时钟源可选,供给该外设:HSI16,内部高速16M晶振;SYSCLK、系统时钟;PLLQ,锁相环分频输出。在不使用它时,可以关闭该模块以节省功耗。 AES 对称加解密加速器。 密钥长度,128位和256位都支持。 支持的工作模式也很多: 加密模式有:ECB,电子密码本;CBC,密码分组链接;CTR,计数器模式。 可以同时产生消息认证码的模式有,GCM、CCM、GMAC。 该模块已经过NIST(美国国标和技术研究院)的FIPS认证。 Crypto 对称加解密加速器。 和AES模块差不多,只是还额外支持DES和TDES。该模块也是经过了NIST的FIPS认证。 Hash 哈希模块 哈希函数是用来保证消息完整性的基础。 该模块支持的算法有MD5、SHA1,SHA2。 在消息的广义完整性方面,它支持HMAC模式。即双方的共享密钥参与的哈希操作。 PKA,public key accelerator。 公钥加速器,即非对称密钥技术硬件加速模块。 PKA支持RSA和ECC的加密、解密、签名、验签、以及基于ECC的密钥交换算法ECDH;RSA和ECC的秘钥长度,可支持高达 3136位,和640位。
STM32加解密库 X-Cube-Crypto 基于主流的加解密算法,ST还提供了一个免费的安全包,X-Cube-Crypto,支持主流的密码学操作:加密、哈希、消息认证、数据签名等。用户可以使用它来在自己的应用中提供数据保密性、完整性、对标识的认证等安全服务。 Crypto library 加解密软件库
|