
前言 比特币是一个基于区块链和密码技术的应用。本文针对 STM32 客户的反馈,对那些使用 STM32 加密库开发比特币应用作了一些补充的技术说明。 STM32 加密库 STM32 加密库提供对称加解密,非对称加解密,以及 HASH 算法,并通过了 CAVP FIPS 认证,可使用在各类安全相关的应用。 对称加解密算法支持 AES、DES、3DES、RC5、Chacha20、Poly1305。其中针对特定算法,如 AES,又支持多种加密模式如 ECB、CBC、CTR、GCM、CCM、XTS、Cipher-wrap 等。 非对称加解密算法支持 RSA、ECC。Hash 算法支持 SHA- 1、SHA-224、SHA-256、SHA-384、SHA-512、MD5。 STM32 加密库分为硬件加速和纯固件实现两种。纯固件实现可以运行在所有的 STM32 系列上。 STM32 TRNG 真随机数 STM32 真随机数(TRNG)基于物理噪声源生成随机数,提供了高随机性,为不少算法特别是椭圆曲线提供了坚实的基础。随机数通过了 AIS-31 PTG.2 测试。 比特币中的加解密算法 比特币加解密相关的算法主要是两类,椭圆曲线 ECC 以及 HASH 算法。比特币使用椭圆曲线签名和验签算法来核实比特币交易的可靠性,以及辨别区块链中比特币的归属地址。HASH 算法除了用在椭圆曲线签名、验证,比特币地址校验,还利用该 算法的单向性,创造出比特币的挖矿机制。HASH 没有什么特别,将不在本文补充说明。 比特币的椭圆曲线 比特币的椭圆曲线是个小众曲线,不是常见的 NIST P192、P256 和 P384,而是 SECP256。根据它的规范和 STM32 加密库的代码库的参数格式,比特币的椭圆曲线参数可以表示如下:
完整版请查看:附件 |
基于STM32加密库开发比特币应用的补充说明.pdf
下载229.55 KB, 下载次数: 1
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南