伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

針對STM32客戶的反饋,對使用STM32加密庫開發比特幣應用作一些補充的技術說明

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2020-09-17 17:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

比特幣是一個基于區塊鏈和密碼技術的應用。本文針對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加密庫可以通過訪問www.st.com ,在主頁中的搜索框里輸入cryptolib得到頁面鏈接。加密庫下載需要批準,請在線填寫申請后等待郵件通知,一般很快就可以得到回復。

STM32 TRNG 真隨機數

STM32真隨機數(TRNG)基于物理噪聲源生成隨機數,提供了高隨機性,為不少算法特別是橢圓曲線提供了堅實的基礎。隨機數通過了AIS-31 PTG.2測試。

比特幣中的加解密算法

比特幣加解密相關的算法主要是兩類,橢圓曲線ECC以及HASH算法。比特幣使用橢圓曲線簽名和驗簽算法來核實比特幣交易的可靠性,以及辨別區塊鏈中比特幣的歸屬地址。HASH算法除了用在橢圓曲線簽名、驗證,比特幣地址校驗,還利用該算法的單向性,創造出比特幣的挖礦機制。HASH沒有什么特別,將不在本文補充說明。

比特幣中的橢圓曲線

比特幣的橢圓曲線是個小眾曲線,不是常見的NIST P192、P256和P384,而是SECP256。根據它的規范和STM32加密庫的代碼庫的參數格式,比特幣的橢圓曲線參數可以表示如下:

用戶可以直接將此參數拷貝STM32 加密庫的例程,例如

STM32CubeExpansion_Crypto_V3.1.0Fw_CryptoSTM32L4ProjectsSTM32L476RGNucleoECCKeyGen_Sign_VerifSrcmain.c。該例程演示的功能包括:生成ECC 公私鑰匙密鑰對,使用私鑰對指定消息簽名,再使用對應公鑰對簽名做驗簽。

為了對這個曲線做如上運行,需要在例程代碼的循環處增加一個案例,條件3,如:

別忘了將for 循環的條件修改成

從私鑰生成公鑰

有客戶提到,STM32 加密庫提供了橢圓曲線相關接口調用,但并沒有在文檔或者代碼里描述如何從橢圓曲線私鑰生成公鑰。

這里做一個補充說明,實現該功能關鍵函數就是“點乘API:ECCscalarMul”??梢栽诶桃延写a的基礎上,通過“點乘API”來對“密鑰對生成API”的運算結果做一次驗證。

其中G 是臨時變量,需要先定義后使用。

若在求得公鑰后不再需要,需要及時釋放資源。

而本來就分配的點資源,例程會在在程序結束時釋放。

另外,如果從外部已經拿到私鑰(大數),是用uint8_t 類型數組表示;而為了應用在我們的加密庫中,可以通過以下API 做表示形式的轉換:

總結

本文針對使用STM32 開發比特幣的客戶,對STM32 加密庫的橢圓曲線參數和點乘函數做了補充說明,方便STM32 客戶進行開發比特幣應用。

原文標題:基于STM32加密庫開發比特幣應用的補充說明

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2312

    文章

    11182

    瀏覽量

    374273
  • 比特幣
    +關注

    關注

    58

    文章

    7008

    瀏覽量

    145786

原文標題:基于STM32加密庫開發比特幣應用的補充說明

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    奮斗 STM32 開發板入門手冊

    電子發燒友網站提供《奮斗 STM32 開發板入門手冊.pdf》資料免費下載
    發表于 01-13 10:44 ?3次下載

    LAT1171+STM32F745 USART1 Bootloader 失敗原因分析與解決

    使用 STM32F745 進行產品開發的時候,出現了使用 STM32CubeProgramer 無法通過 USART1 Bootloader 進行程序升級的問題。為了解決客戶的問題,我
    發表于 01-11 17:33 ?0次下載

    2025意法半導體STM32全球線上峰會亮點回顧

    檢索效率,展現ST賦能全球開發者的實力。峰會同時披露,繼5月宣布雙供應鏈戰略后,ST與華虹宏力合作的40nm STM32產品即將于本季度開始量產交付,堅持全球統質量標準,實現100%兼容,首批中國制造的
    的頭像 發表于 12-03 09:52 ?713次閱讀

    意法半導體STM32 MCU AI模型再擴容

    近日,意法半導體(ST)發布了新的人工智能模型,并增強了開發項目對STM32 AI模型的支持,以加快嵌入式人工智能應用的原型開發和產品開發
    的頭像 發表于 11-24 10:00 ?1498次閱讀

    STSW-STM32080文檔說明

    電子發燒友網站提供《STSW-STM32080文檔說明.pdf》資料免費下載
    發表于 11-20 17:18 ?1次下載

    STM32C0116-DK探索套件開發指南與技術解析

    基于STM32C011F6微控制器的UFQFPN20至DIL20模塊,使用戶能夠開發和共享應用。該器件還包含個板載ST-LINK/V2-1,以調試和編程設定嵌入式STM32微控制器。
    的頭像 發表于 10-27 14:57 ?769次閱讀
    <b class='flag-5'>STM32</b>C0116-DK探索套件<b class='flag-5'>開發</b>指南與<b class='flag-5'>技術</b>解析

    STM32 Nucleo-64開發技術解析與應用指南

    ARDUINO^?^ Uno V3連接和ST morpho接頭,可輕松擴展STM32 Nucleo開放式開發平臺的功能。該板設有板載ST-LINK調試器/編程器,具有USB重新枚舉功能。STM32 nucleo-64
    的頭像 發表于 10-22 14:26 ?1122次閱讀
    <b class='flag-5'>STM32</b> Nucleo-64<b class='flag-5'>開發</b>板<b class='flag-5'>技術</b>解析與應用指南

    STM32 Nucleo-144開發技術解析與應用指南

    STMicroelectronics NUCLEO-H7S3L8 STM32 Nucleo-144開發板采用STM32H7S3L8 MCU,提供了個經濟實惠的多功能平臺,用于原型設計
    的頭像 發表于 10-17 14:40 ?1407次閱讀
    <b class='flag-5'>STM32</b> Nucleo-144<b class='flag-5'>開發</b>板<b class='flag-5'>技術</b>解析與應用指南

    ?STM32 Nucleo-64開發技術解析與應用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64開發板通過由STM32微控制器為概念測試和原型創建提供了種經濟實惠且靈活的途徑。該
    的頭像 發表于 10-16 10:50 ?911次閱讀
    ?<b class='flag-5'>STM32</b> Nucleo-64<b class='flag-5'>開發</b>板<b class='flag-5'>技術</b>解析與應用指南

    STM32 Nucleo-64開發技術解析:以NUCLEO-C092RC為例

    用于STM32C092RC的STMicroelectronics NUCLEO-C092RC Nucleo-64開發板通過STM32微控制器提供性能,提供了個經濟劃算、靈活的概念嘗試
    的頭像 發表于 10-16 10:26 ?784次閱讀
    <b class='flag-5'>STM32</b> Nucleo-64<b class='flag-5'>開發</b>板<b class='flag-5'>技術</b>解析:以NUCLEO-C092RC為例

    STM32 Nucleo IO-Link開發套件技術解析

    和X-NUCLEO-DO40A1擴展板組成。該Nucleo套件可用于評估目的和用作開發環境。P-NUCLEO-IOD5A1套件用于開發IO-Link和SIO應用,用于評估具有STM32
    的頭像 發表于 10-16 10:01 ?1040次閱讀
    <b class='flag-5'>STM32</b> Nucleo IO-Link<b class='flag-5'>開發</b>套件<b class='flag-5'>技術</b>解析

    STM32的時候是直接用MDK方便還是在vscode用keil插件方便一些?

    STM32的時候是直接用MDK方便還是在vscode用keil插件方便一些
    發表于 08-12 08:02

    STM32F4標準外設資料

    stm32f4xx.h,標準外設
    發表于 06-08 09:49 ?5次下載

    基于STM32 HAL與標準的esp8266接入機智云方案(二)

    在《基于STM32HAL與標準的esp8266接入機智云方案()》中,我們詳細介紹了硬件連接和機智云客戶端的創建。本篇將重點講解如何下
    的頭像 發表于 05-28 18:02 ?1565次閱讀
    基于<b class='flag-5'>STM32</b> HAL<b class='flag-5'>庫</b>與標準<b class='flag-5'>庫</b>的esp8266接入機智云方案(二)

    如何添加一些網絡上的到mpy固件的說明或手冊教程?

    下有沒有關于如何添加一些網絡上的到mpy固件的說明或手冊教程? 問題2: 關于mpy的image在哪里能了解學習內部代碼,只了解一些py
    發表于 04-29 08:16