国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

使用RISC-V Zk擴(kuò)展和自定義指令優(yōu)化SH512算法 提升加密運(yùn)算性能

發(fā)布時(shí)間:2024-2-8 19:15    發(fā)布者:云臺(tái)


加密哈希函數(shù)在計(jì)算機(jī)安全中起著至關(guān)重要的作用,它提供了敏感數(shù)據(jù)的單向轉(zhuǎn)換。許多信息安全應(yīng)用程序都得益于使用哈希函數(shù),特別是數(shù)字簽名、消息身份驗(yàn)證碼和其他形式的身份驗(yàn)證。哈希函數(shù)(如SHA512、SHA256、MD5等)的計(jì)算是發(fā)揮定制計(jì)算優(yōu)勢(shì)的潛在舞臺(tái)。這是源于RISC-V指令集的靈活性以及經(jīng)由Zk的擴(kuò)展指令得到加強(qiáng),結(jié)合自定義指令中合并固有順序位操作的能力,有助于顯著提高產(chǎn)品性能。


SHA512哈希函數(shù)

SHA512屬于USNS設(shè)計(jì)的“SHA-2”系列。符合FIPS標(biāo)準(zhǔn),并已通過CMVP得到驗(yàn)證。

以下為SHA512算法的示意框圖。由于它使用1024位的數(shù)據(jù)塊進(jìn)行操作,因此輸入信息被格式化并用虛擬位填充。然后,通過80個(gè)“循環(huán)”的鏈依次處理每個(gè)1024位塊。每個(gè)“循環(huán)”在很大程度上依賴于對(duì)輸入數(shù)據(jù)塊、初始化向量和一組“循環(huán)常數(shù)”的加法和循環(huán)位移位:




每個(gè)80個(gè)“循環(huán)”序列的輸出是一個(gè)512位的哈希值,作為下一個(gè)輸入數(shù)據(jù)塊的初始化向量,或者作為最后一個(gè)數(shù)據(jù)塊處理后的最終結(jié)果。

到目前為止,SHA-512仍然是許多安全協(xié)議的主力,包括TLS和SSL、PGP、SSH、S/MIME和IPsec。從算法上說,它本質(zhì)上是順序的:每個(gè)階段都需要前一階段的結(jié)果準(zhǔn)備就緒,從而防止并行計(jì)算。


RISC-V Zk擴(kuò)展指令應(yīng)用于標(biāo)量加密

RISC-V的指令集架構(gòu)(ISA)是模塊化設(shè)計(jì),允許添加各種特定于應(yīng)用程序的擴(kuò)展。標(biāo)量加密擴(kuò)展(2022年2月)包含' Zk ' -針對(duì)AES, SM3(4), SHA256和SHA512算法的指令子集。

此外,根據(jù)RISC-V標(biāo)準(zhǔn),針對(duì)CPU核的性能、內(nèi)存占用或功耗的某些要求,允許在基準(zhǔn)指令集和正式批準(zhǔn)的可選擴(kuò)展之上添加特定于應(yīng)用程序的自定義指令。在本研究中,我們展示了在運(yùn)行SHA512時(shí),用Codasip Studio工具實(shí)現(xiàn)的高級(jí)綜合和可重定向LLVM編譯器對(duì)優(yōu)化嵌入式內(nèi)核性能的提升。


Codasip Studio, CodAL, Zk及實(shí)現(xiàn)方式

針對(duì)SHA512哈希算法,RISC-V Zk擴(kuò)展了以下6條指令的子集。整個(gè)子集已經(jīng)實(shí)現(xiàn)并包含在Codasip L31 IP核的指令集中。除此之外,還考慮了兩個(gè)自定義指令“sha512_ch”和“sha512_maj”。它們負(fù)責(zé)3個(gè)輸入操作數(shù)之間的某些位操作,在SHA512“循環(huán)”中會(huì)經(jīng)常遇到。



Codasip L31 RISC-V CPU IP核、Zk子集和自定義指令已經(jīng)用CodAL(一種用于處理器描述的高級(jí)語言)進(jìn)行了描述。與其他HDL不同,CodAL中的指令以一種緊湊而獨(dú)特的方式進(jìn)行描述,使得LLVM編譯器和Codasip高級(jí)綜合工具都可以調(diào)用指令語義。一旦完成了自定義指令的CodAL描述,Codasip Studio可以自動(dòng)生成可綜合的RTL和SDK,其中包含編譯器、調(diào)試器、指令精確和周期精確的模擬器以及可識(shí)別新指令的分析器。下面是使用CodAL的自定義“sha512_ch”指令的示例實(shí)現(xiàn):



指令體包含3個(gè)部分:匯編、二進(jìn)制和語義。前兩個(gè)定義指令語法,并將操作數(shù)、操作碼和立即數(shù)映射到指令二進(jìn)制。語義包含一系列描述指令行為的類c語句。在上述示例中,從寄存器文件中讀出3個(gè)操作數(shù),按照一定的位操作模式計(jì)算結(jié)果,然后將其寫入目標(biāo)寄存器。

由于語義模式簡(jiǎn)單,這兩個(gè)自定義指令都由編譯器解析并在高優(yōu)化級(jí)別(-O2+)下自動(dòng)使用:



已批準(zhǔn)的Zk擴(kuò)展的指令具有更復(fù)雜的語義,它們可由生成的內(nèi)部函數(shù)直接從軟件中調(diào)用。

整個(gè)2條自定義指令集和SHA512的Zk子集只需要150行CodAL代碼。這種緊湊的描述與自動(dòng)生成的SDK一起顯著縮短了產(chǎn)品的設(shè)計(jì)周期和上市時(shí)間。


PPA效果: 顯著提升SHA512性能

RISC-V Zk子集和自定義指令所帶來的SHA512性能提升,我們?cè)赗ISC-V Crypto Github存儲(chǔ)庫(kù)中包含的SHA512基準(zhǔn)上進(jìn)行了評(píng)估。該基準(zhǔn)測(cè)試使用了3種不同的SDK進(jìn)行編譯:

1.標(biāo)準(zhǔn)指令集(RV32IMCB)的參考SDK

2.標(biāo)準(zhǔn)指令集 + 批準(zhǔn)的SHA512的Zk子集

3.標(biāo)準(zhǔn)指令集 + SH512 Zk子集 + 自定義指令

使用生成的周期精確的評(píng)測(cè)器對(duì)所獲得的可執(zhí)行文件進(jìn)行評(píng)測(cè),獲得處理器在每個(gè)軟件例程中花費(fèi)的時(shí)鐘周期的詳細(xì)信息以及PPA數(shù)據(jù)。



上圖顯示,單使用Zk指令子集減少了約1.89倍的時(shí)鐘周期數(shù)和約9.7%的代碼量,顯著提高了SHA512性能,硅面積僅增加0.8%。

在Zk之上增加自定義指令帶來了進(jìn)一步的加速,將性能提高到2倍以上,將代碼量減少了10.2%,總面積僅增加了約為初始L31面積的1.6%。可以認(rèn)為這是一個(gè)合理的代價(jià),實(shí)現(xiàn)了兩倍的性能提升。


結(jié)論

當(dāng)涉及到特定的應(yīng)用程序時(shí),通用CPU IP核通常不可能是最理想的解決方案。有時(shí),即使是一個(gè)看似簡(jiǎn)單的指令也會(huì)大大改變游戲規(guī)則。芯片設(shè)計(jì)人員應(yīng)該善于利用這些優(yōu)勢(shì)來設(shè)計(jì)出差異化的產(chǎn)品。由Codasip Studio提供的定制計(jì)算方案有助于利用RISC-V指令集的靈活性,通過緊湊的基于CodAL的處理器描述,幫助芯片設(shè)計(jì)人員大大縮減設(shè)計(jì)時(shí)間,同時(shí)也為芯片使用者提供豐富的可自動(dòng)生成的軟件套件。


目前RISC-V已經(jīng)有一組豐富的獲批準(zhǔn)的擴(kuò)展指令,也許您尚無法在現(xiàn)成的RISC-V CPU IP核中獲取相關(guān)方案。但是,經(jīng)由Codasip提供的技術(shù),芯片設(shè)計(jì)人員可以便捷地集成這些指令并進(jìn)一步發(fā)展。本研究演示了8個(gè)自定義指令的實(shí)現(xiàn):6個(gè)來自已批準(zhǔn)的Zk子集,2個(gè)基于特定算法需求。這直接將SHA512哈希計(jì)算的性能提高了兩倍,代碼量減少了10%以上。值得關(guān)注的是,CPU IP核定制計(jì)算及軟硬件協(xié)同設(shè)計(jì)的應(yīng)用領(lǐng)域,除了SHA512和加密算法可以因此受益外,在其他特定應(yīng)用計(jì)算領(lǐng)域也同樣發(fā)展空間巨大。




本文地址:http://m.qingdxww.cn/thread-851288-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Chiptorials ——如何將CryptoAuthLib庫(kù)用于Microchip安全身份驗(yàn)證IC
  • Chiptorials ——使用ATECC608 TrustFLEX實(shí)現(xiàn)基本非對(duì)稱身份驗(yàn)證
  • 無線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程
  • Chiptorials——如何使用ATECC608 TrustFLEX實(shí)現(xiàn)公鑰輪換
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 婷婷六月色 | 国产欧美一区二区成人影院 | 美国天堂 | 99久久免费午夜国产精品 | 男人天堂伊人 | 欧美视频在线观看一区 | 欧美亚洲国产视频 | 亚洲一区中文 | 国产精品91在线播放 | 一区视频在线 | 五月天com| 精品国产成人 | 四虎永久在线精品免费观看地址 | 免费福利视频网址 | 亚洲 日本 欧美 中文幕 | 免费在线观看黄色 | 老司机在线精品视频 | 国自产拍亚洲免费视频 | 看一级特黄a大片日本片 | 久久91精品国产91久久跳舞 | 99香蕉国产精品偷在线观看 | 欧美成人香蕉网在线观看 | 色久网| 国产在线看不卡一区二区 | 成年午夜性漫画免费看 | xxx大片免费视频 | 亚洲码在线中文在线观看 | 国产精品久久久久久久免费 | 国产福利在线观看一区二区 | 这里只有精品视频 | 天天做天天爱天天影视综合 | 欧美日本一区 | 亚洲视频在线网站 | 日本高清视频在线播放 | 国产产一区二区三区久久毛片国语 | 国产黄色片在线观看 | 国产一区二区三区在线观看免费 | 亚洲日本综合 | 久久婷婷五月综合色丁香 | 91系列在线观看免费 | 日韩香蕉视频 |