999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RISC-V 和密碼協處理器的SOC 設計

2022-12-23 12:03:14明洋曲英杰
電子設計工程 2022年24期
關鍵詞:指令設計

明洋,曲英杰

(青島科技大學信息科學技術學院,山東青島 266061)

隨著工業互聯網和物聯網關鍵技術的發展,越來越多的嵌入式設備應用于工業生產和社會應用中,隨之而來的網絡安全和隱私問題也愈發嚴重[1-2],IoT(Internet of Things,物聯網)設備機器及其傳感器所產生的大量的敏感數據需要通過加密的方式進行保存和傳輸,但是拘泥于其超低的功耗和有限的計算資源無法進行全面有效地部署[3]。

加解密算法可以用軟件和硬件兩種方式實現,使用軟件實現,利用CPU 中原有的計算資源去做數據加解密的效率是非常低的。對延遲敏感的物聯網設備,為其擴展加解密專用的協處理器是提高加解密效率的有效解決方式[4-7]。文獻[8]基于ARM 平臺設計實現了SM2 算法擴展的SOC,但是在實際應用中,為了提高加密效率,經常會使用多種算法復合加密的方式進行[9-10],AES 和RSA 算法分屬對稱和不對稱密碼算法,在國際上使用廣泛。基于這兩種密碼算法設計開發密碼協處理器,搭配蜂鳥E203 MCU 組成適用于嵌入式應用場景的信息安全SOC。

1 SOC體系結構設計

在開源蜂鳥E203 MCU基礎上,通過EAI(Extension Accelerator Interface)接口設計擴展AES、RSA 算法核,整個SOC 的體系結構如圖1 所示,EAI 接口是通過RISC-V 指令集中預留的Custom 指令擴展協處理器的接口。協處理器可通過EAI 接口中的存儲器訪存通道調用E203 核內的存儲器資源,配合E203 內核完成加解密的任務。

圖1 SOC系統架構

RISC-V 32 位指令集中預留了4 條Custom 指令,指令12-14 位為控制讀源寄存器和寫目標寄存器的Funct3 區間,25-31 位為作為額外編碼空間的Funct7區間。在本設計中,AES 使用Custom0,RSA 使用Custom1,并通過對Funct3 和Funct7 區間進行編碼;如表1 與表2 所示,擴展出加載數據,開始加解密以及寫回數據的對應指令。

表1 Custum0擴展指令定義

表2 Custom1擴展指令定義

如圖2 所示,密碼協處理器核A&R(AES 和RSA)在蜂鳥E203 MCU 兩級流水線的位置與核內的ALU(Arithmetic and Logic Unit,算術邏輯單元)平行。當譯碼器譯到Custom 指令時,就會將指令以及所用的操作數通過EAI 接口轉發到協處理器中進行二次譯碼,完成對協處理的控制;通過EAI 接口的存儲器訪問通道占用LSU(Load Storage Unit,讀寫存儲器單元),訪存MCU 內部的存儲器資源,完成數據在MCU 與協處理之間的傳輸。

圖2 協處理器在MCU流水線的位置

2 密碼協處理器設計

如圖3 所示,協處理器核主要由控制單元、寄存器堆和AES、RSA 算法核組成。譯碼器在指令請求通道中譯到協處理器對應的Custom 指令,會立刻通過指令反饋通道給MCU 反饋,進入工作態或者進入數據傳輸狀態。協處理器內部設置了5×1 024 bit的寄存器堆,在訪問DTCM(Data Tightly Coupled Memory,數據緊耦合存儲器)存儲的數據時,將數據暫存在寄存器堆中,等待分組數據完整加載后,再傳至AES、RSA 算法核進行運算。數據傳輸完畢后,就會關閉存儲器訪問通道,使協處理器單獨工作。

圖3 協處理器系統架構圖

為了更高效地利用EAI 接口的存儲器訪存通道,在協處理內部設計了地址自增的邏輯,使用EAI接口中的32 位數據總線,協處理器可以在32 個周期內完成1 024 位數據的傳輸。當協處理器完成加解密運算后,會將結果保存到協處理器的Regfile中,AES、RSA 算法核可以繼續進行下一組任務,控制器單獨響應程序中的寫回指令,將計算結果寫回到MCU,整個過程在MCU 內軟件程序的控制下完成。

2.1 AES算法核設計

AES 算法主要分兩部分——加解密算法和密鑰擴展算法,是迭代型分組密碼算法。加解密運算主要由四種變換組成,分別是SubBytes(S 盒變換)、ShiftRow(行移位變換)、MixColumn(列混合變換)、AddRoundKey(輪密鑰加變換)[11]。該文實現的是128 bit 密鑰長度的AES 算法,前Nr輪操作相同,Nr+1 輪所做操作缺少MixCloumn,但仍可通過復用前Nr輪的邏輯電路進行運算。

為了降低ASIC(Application Specific Integrated Circuit,專用集成電路)實現的資源開銷,摒棄了使用寄存器堆或者RAM(Random Access Memory,隨機存取存儲器)單元實現S 盒變換的方式,而采用組合邏輯實現。除此之外,為了盡量減少核內寄存器的使用,如圖4 所示,采用在線實時產生輪密鑰的方法,大量減少保存輪密鑰所需的寄存器,且明文密文共享一個寄存器。整個AES 核僅使用4 組128 位的寄存器,較傳統實現方法,節省了9 組128 位的寄存器。對于AES 算法中多輪迭代的結構,僅需實現一輪電路通過FSM(Finite State Machine,有限狀態機)控制分時復用,大大減少了電路規模。同時,為了保證AES 的加解密速度,并沒有采用S 盒復用的架構,AES 核內同時實例化了16 個S盒,保留了AES 算法內部固有的并行性,使得輪邏輯可以高速運行。

圖4 AES 的數據路徑

2.2 RSA算法核設計

RSA 作為一種經典的非對稱密碼算法,其可靠性在于大數的因式分解,其系統核心是模冪運算P=ME(modn)。設計采用基于改進的蒙哥馬利算法的R-L 掃描法實現模冪運算,算法需要兩個操作數進行模乘循環n次實現。如算法1 所示,模乘主要是通過基2 的蒙哥馬利算法,轉化成模加運算和移位操作實現。

算法1:(改進的蒙哥馬利算法)

如圖5 所示,RSA 算法核由控制模塊(Control),蒙哥馬利模乘模塊(MM)和寄存器堆(Regfile)組成,參數N,C需要在軟件部分提前計算,通過Indata 端口直接輸入至RSA 核中,由RSA 核完成模冪運算最終完成加解密流程。為了保證RSA 核的運算速度,MM 模塊內部采用脈動陣列結構來解決長進位鏈的問題。為了減小MM 的面積資源開銷,僅實現一行脈動陣列結構,將1 024 位加法分成32 個32 位加法器模塊,并進行復用。

圖5 RSA的系統架構

考慮到加法器模塊的復用,對蒙哥馬利模乘模塊中的加法器進行了重新設計,如圖6 所示,將qi的計算放到模塊外,模塊由兩個32 bit 的加法器組成,中間插入兩級寄存器,形成流水線,分別計算Ri中的兩次加法。

圖6 加法器的結構設計

3 實驗結果與分析

在華虹40 nm 工藝下單獨對AES 進行綜合,并對其進行靜態時序分析,其主頻可達400 MHz,面積為30 805 μm2,經過詳細的物理設計后,版圖的面積為44 944 μm2(212 μm×212 μm),版圖后的靜態時序分析結果與綜合后的一致。根據設計中的電路結構,13 個時鐘周期即可完成一次128 bit 的加/解密,估算數據吞吐率為3.9 Gbps,對比同為邏輯復用結構的低開銷ASIC 實現AES 算法的方案,如表3 所示,雖然面積要比同為低開銷設計的相關研究要大,但數據吞吐率與面積之比,該設計仍有較大優勢。造成這一現象的原因主要是設計的側重點不同,如文獻[12]瞄準的是超小面積,而該文的目的是在速度與面積之間達到平衡。

表3 AES ASIC實現與其他文獻的對比

設計中AES 算法核已在SMIC180 nm 工藝下順利流片,圖7為流片后的顯微照片。由于IO pad(Input&Output pad,輸入輸出端口)數量和性能的限制,設計改為8 bit輸入輸出,芯片尺寸為1 256 μm×1 028 μm,主頻可達100 MHz,數據吞吐率達980 Mbps。

圖7 AES芯片顯微照片

單獨對RSA 算法核在華虹40 nm 工藝下綜合,所用標準單元面積為94 552 μm2,主頻可達到100 MHz,對其進行詳細的物理設計后,面積為129 600 μm2(360 μm×360 μm),版圖后的靜態時序分析結果與綜合后一致,根據蒙哥馬利模乘模塊的運算流程分析,1 024 bit RSA 共需執行1 026 次模乘,單次模乘所需要的時鐘周期數為[2×(1 024+2)+1],可以估算一次RSA 加密所需要的時間為20.53 ms,吞吐率估算為49.87 kbps,對比同為低開銷ASIC 實現RSA 算法的方案,如表4 所示,所用等效門數與文獻[15]相比減少了29.5%。

表4 RSA ASIC實現與文獻的對比

在Xlinx-Artix 7 系列開發板上做SOC 的軟硬件聯合測試,測試之前分別編寫使用協處理器和不使用協處理器的C 程序,使用RISC-V 的編譯工具編譯后,通過JTAG(Joint Test Action Group,聯合測試工作組)接口將其上載到FPGA(Field Programmable Gate Array,可編程門陣列)開發板上。通過測試可見,AES、RSA協處理核可以正常進行加解密,如表5、6所示,與沒有使用協處理器的AES 和RSA 算法程序相比,128 bit AES 加解密所用的處理器周期數減少為235.42,1 024 bit RSA 所用的處理器周期數減少了240.92。

表5 AES 有/無擴展指令所用時鐘周期和指令條數對比

表6 RSA有/無擴展指令所用指令條數核時鐘周期對比

4 結束語

面向工業互聯網和物聯網的加密應用場景,使用EAI 接口將AES、RSA 算法核擴展至蜂鳥E203 MCU上,完成了復合加密場景的RISC-V SOC 的設計,針對協處理器核的ASIC 實現面積資源與運算速度之間的平衡設計。在SOC 的軟硬件測試中可以看出,相對于無協處理器,AES 和RSA 的處理速度都得到了很大的提升。

猜你喜歡
指令設計
聽我指令:大催眠術
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 一级做a爰片久久毛片毛片| 亚洲中文字幕无码爆乳| 日韩东京热无码人妻| 国产福利免费观看| 国产精女同一区二区三区久| 亚洲欧美极品| 欧洲熟妇精品视频| 97精品伊人久久大香线蕉| 色首页AV在线| 国产日韩精品欧美一区喷| 高清无码不卡视频| 国产第四页| 欧美国产日产一区二区| 国产一级在线播放| 欧美性久久久久| 日韩高清成人| 亚洲AV免费一区二区三区| 日韩av在线直播| 亚洲中文精品久久久久久不卡| 免费国产无遮挡又黄又爽| a级毛片一区二区免费视频| 久久久久亚洲AV成人网站软件| 亚洲中文字幕在线一区播放| 国产亚洲第一页| 欧美日韩高清在线| 国产无吗一区二区三区在线欢| 久久一色本道亚洲| 亚洲乱强伦| 日韩黄色精品| m男亚洲一区中文字幕| 99在线观看精品视频| 色香蕉网站| 欧美乱妇高清无乱码免费| 极品国产在线| av色爱 天堂网| 天堂网国产| 伊人成人在线视频| 天天综合网亚洲网站| 极品尤物av美乳在线观看| 欧美成人午夜在线全部免费| 日本一区高清| 伊人久久福利中文字幕| 91最新精品视频发布页| 亚洲精品日产精品乱码不卡| 欧美高清日韩| 日韩a级毛片| 国产在线观看一区二区三区| 精品少妇人妻av无码久久 | 久久99精品久久久久纯品| 亚洲女同一区二区| 亚洲色精品国产一区二区三区| 国产第一页屁屁影院| 97久久免费视频| 色噜噜中文网| 高清无码一本到东京热| 久久精品国产一区二区小说| 视频一区视频二区中文精品| 亚洲最猛黑人xxxx黑人猛交| 40岁成熟女人牲交片免费| 久青草国产高清在线视频| 国产成人免费高清AⅤ| 欧美在线综合视频| 国产激情无码一区二区APP| 午夜精品福利影院| 扒开粉嫩的小缝隙喷白浆视频| 国产一区三区二区中文在线| 精品午夜国产福利观看| 国产精品护士| 免费A级毛片无码免费视频| 日韩中文精品亚洲第三区| 精品久久久久无码| 欧美福利在线观看| 国产第一色| 色AV色 综合网站| 久久semm亚洲国产| 人妻免费无码不卡视频| 日本欧美午夜| 漂亮人妻被中出中文字幕久久| 中文无码毛片又爽又刺激| 中国一级特黄视频| 亚洲男人的天堂网| 女高中生自慰污污网站|