在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

簡述System Generator的ECC加解密系統的設計

電子工程師 ? 來源:電子技術應用 ? 作者:肖雪芳;蘇航;雷 ? 2021-06-12 10:17 ? 次閱讀

橢圓曲線密碼系統(ECC)與其他公鑰加密系統相比,因其密鑰長度短、安全強度高等諸多優點,被公認為最有前途的公鑰密碼體系,受到人們的普遍關注和研究[1-4]。

在國內外有關ECC的研究方面,主要集中在 ECC的時間復雜度和空間復雜度上[2-4]。參考文獻[2]研究模逆和標乘的快速算法,參考文獻[3]針對KP算法將改進的Booth算法嵌入傳統算法,極大地降低了迭代次數和有限域運算量。參考文獻[4]將所有的模運算全轉化為模乘運算和模加運算,并改進了LSD乘法器,利用該單元進行模運算,從而其硬件實現了具有面積小、速度快等優點。

目前國內的密碼技術還是落后于國外,特別是在生活應用中,國內的企業基本上是引用國外的密碼技術進行二次開發。如果要將實現的橢圓曲線密碼系統應用到實際中,則需要通過系統集成芯片設計(SOC),將FPGA上實現的橢圓曲線密碼系統集成實用性的加密芯片。一旦設計過程中所需的資源和條件不夠完善,將導致加密芯片的制作難以實現。為此,本文借助Xilinx公司提供的強大的系統級硬件仿真工具System Generator[5],研究并設計ECC加解密系統。

1 橢圓曲線密碼體制

由于最終是要在硬件上實現橢圓曲線密碼體制[6],所以本文選擇的有限域是特征為2的GF(2n),選擇的橢圓曲線方程如式(1)所示。

4453026235871.gif

4453290345272.gif

可見橢圓曲線密碼體制涉及到GF(2n)上的模加運算、模乘運算、求逆運算,還有橢圓曲線的KP點乘運算,下面對幾個主要算法進行分析。

1.1 GF(2n)域上的模乘運算

模乘模塊是整個設計中最關鍵的模塊,模乘的過程包括多項式相乘和取模兩個過程。傳統的乘法器是將兩個m位操作數相乘,然后對其進行f(x)求模。這樣的缺點就是需要一個2m位的寄存器來存儲中間結果,勢必會浪費資源。本文采用全串行移位相加法來實現模乘運算[6]。該算法只有簡單的移位和“異或”運算,但是需要大量的移位運算,如果A、B具有m位,則需要進行m-1次移位運算,這是比較耗時的。

但是本文使用的FPGA工作在61.44 MHz時鐘下,m一般取值在200左右,因此全串行移位相加法大概需要的是ns級的時間,而且全串行移位算法也是最節省資源的算法。通過Modelsim仿真該模塊,得到圖1所示結果。其中, clk是系統時鐘61.44 MHz;reset是系統復位信號;en是使能端口;din是乘數輸入端口,低位在前;dout是輸出結果;rdy是輸出結果有效指示。

4453767083520.gif

1.2 GF(2n)域上的模逆運算

對于GF(2n)域上的模逆運算,當今最有效的算法就是擴展歐幾里德算法和基于費馬定理的模逆算法。擴展歐幾里德算法用時會比基于費馬定理的模逆算法用時短很多,但是相應地是以犧牲硬件資源為代價,在后面的點乘算法和最后的橢圓曲線密碼體制的實現耗用資源很大。

擴展歐幾里德算法還要去另外設計一個多項式模塊,而基于費馬定理的模逆算法只需要反復調用先前做好的模乘模塊就行,再加上本文用的FPGA時鐘頻率本身就高,因此本文選擇費馬定理來做模逆算法。通過Modelsim仿真該模塊,得到圖2所示結果。其中,clk是系統時鐘61.44 MHz;reset是系統復位信號;en是模逆使能;din是輸入數據;a_inv是輸出結果;rdy是輸出結果有效指示。

4454046329789.gif

選取參數

K=157E51751D89C66CBDF44596BF7F653876A18C4B12

40B85A;

x=36B3DAF8A23206F9C4F299D7B21A9C369137F2C84

AE1AA0D;

y=7658E73433B3F95E332932E70EA245CA2418EA0EF9

8018FB;

b=2E45EF571F00786F67B0081B9495A3D95462F5DE0A

A185EC;

f=800000000000000000000000000000000000000000000

201。

仿真結果:

Cx=34EEC5768673E71B8CDC139FB8EB4ACD9989FAA

E1EC9EF1D;

Cy=779097F490A2DA7A6B09A9518733B4817D5C21947

547D2A1。

2 System Generator搭建ECC加密系統

System Generator是業內領先的高級系統級FPGA開發工具。其作用是借助FPGA設計高性能DSP系統并和Simulink實現無縫鏈接,快速建模并自動生成代碼[5]。System Generator最大的特點就是可利用Simulink建模和仿真環境來實現FPGA設計,無需了解和使用RTL級硬件語言,讓DSP設計者能夠發揮基于FPGA的DSP的最大性能和靈活性,并縮短整個設計周期。

前文用FPGA實現了ECC的各個關鍵模塊,下面用先前生成的各個模塊代碼通過System Generator的黑盒子生成各自相應的模塊。再將這些模塊搭建成完整的ECC模塊,以便在Matlab工作空間中輸入相應的參數、明文和相應的使能端口就可以實現加密;輸入相應的參數、密文和相應的使能端口就可以實現解密。但是本文所涉及的參數較大,輸入的過程很耗費時間,因此本文將參數都固定在一個ROM中間,只要控制相應的使能信號,就可以達到一個加解密的模擬過程。

2.1數據輸入模塊的搭建

本文中的端口有使能端口和參數端口,其中,使能端口是1 bit的,就可以用計數器來實現。對于191個bit位的參數,可先將其分解成6組的32 bit系數, 存在如圖4所示的ROM中,只要改變ROM中的值就可以控制輸入參數的值,改變3個常數模塊就可以控制參數輸入的時刻。

4454854719988.gif

2.2 ECC系統的搭建與仿真結果

利用代碼生成的KP模塊、求逆模塊和乘法模塊搭建成ECC加解密系統。由于ECC加解密系統的各個子模塊有很多的反饋端口,搭建起來的圖顯得比較亂,因此可以在ECC系統中的m文件添加 this block.addFile()。把各個子模塊添加到ECC頂層模塊中,這樣就相當于把各個子模塊集成在統一的黑盒子中。

設置運行時間為4 000 000個時鐘周期,將加解密指示信號設置為加密,點擊運行,進行加密仿真,在工作區間可以看到,明文輸入和對應的密文輸出。例如,當輸入的明文為“4129534493046158328227537522838960054530294419451055575666”時,輸出的密文為“3625519732263338515328819742424233936313311718087”。

設置運行時間為4 000 000個時鐘周期,將加解密指示信號設置為解密,點擊運行,進行解密仿真,在工作區間可以看到密文輸入和對應的的明文輸出。例如,當輸入的密文為“362551973226333851532881974242423393631

3311718087”, 則輸出的明文為“4129534493046158328227537522838960054530294419451055575666”。

ECC模塊加解密運算輸出有效數據的時鐘周期是第3274550,使能信號則是在第11個時鐘周期輸入,因此整個運算過程中數據的輸入輸出所耗費的時間是3274550-11=3 274 539個時鐘周期,所以對于采用時鐘頻率為61.44 MHz的FPGA來說,只要用3 274 539/61.44 ?滋s就可以完成一次加密算法,或者一次解密算法。總共用的時間為3274539/61.44 ns=53.3 ms,而若單單只用Matlab仿真運行,大概需要時間為20 min。因此采用硬件實現橢圓曲線密碼系統的優越性不言而喻。

參考文獻

[1] HANKERSON D,MENEZES A, VANSTONE S. Guide to elliptic curve cryptography[M]. Springer Verlag New York Inc,2004:25-147.

[2] MA S W, HAO Y L, PAN Z Q. Fast implementation for modular inversion an d scalar multiplication in the elliptic curve cryptography[C].IITA ’08,Beijing,China,2008:488-492.

[3] 龔書,劉文江,戎蒙恬。一種橢圓曲線密碼加密算法及實現[J]。高技術通訊,2004(3):25-28.

[4] 唐薛峰,沈海斌,嚴曉浪.GF(2^m)上橢圓密碼體制的硬件實現[J]。計算機工程與應用,2004,40(11):96-98.

[5] 田耕,徐文波,胡彬.Xilinx ISE Design Suite 10.x FPGA開發指南[M]。北京:人民郵電出版社,2008.

[6] 祝躍飛,張亞娟。橢圓曲線公鑰密碼導引[M]。 北京:科學出版社,2006.

編輯:jq

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

    關注

    553

    文章

    7998

    瀏覽量

    348925
  • FPGA
    +關注

    關注

    1629

    文章

    21736

    瀏覽量

    603387
  • soc
    soc
    +關注

    關注

    38

    文章

    4165

    瀏覽量

    218260
  • LSD-
    +關注

    關注

    0

    文章

    2

    瀏覽量

    9014
收藏 人收藏

    評論

    相關推薦

    4G模組Air780E的LuatOS開發:關于通用加解密函數(crypto)教程!

    本次我將講解低功耗4G模組Air780E的LuatOS開發,關于通用加解密函數(crypto)教程分享給大家。我會從加解密概述、演示功能概述、硬件準備、軟件環境、API 說明等全面講述…
    的頭像 發表于 12-01 15:50 ?209次閱讀
    4G模組Air780E的LuatOS開發:關于通用<b class='flag-5'>加解密</b>函數(crypto)教程!

    關于4G模組LuatOS開發:通用加解密函數(crypto)|全攻略

    本次我要說的攻略是關于4G模組LuatOS開發的通用加解密函數,我以我常用的Air780E模組為例子供大家參考。
    的頭像 發表于 11-30 09:52 ?293次閱讀
    關于4G模組LuatOS開發:通用<b class='flag-5'>加解密</b>函數(crypto)|全攻略

    RA8D1加密引擎功能體驗和實踐

    本次實踐完成了RA8D1芯片AES密鑰封裝和芯片上加解密功能驗證
    的頭像 發表于 11-23 01:01 ?342次閱讀
    RA8D1加密引擎功能體驗和實踐

    4G模組加解密藝術:通用函數的深度解讀

    今天是對加解密通用函數的深度解讀,我將詳細講解,建議收藏,不可錯過。
    的頭像 發表于 11-12 09:58 ?244次閱讀
    4G模組<b class='flag-5'>加解密</b>藝術:通用函數的深度解讀

    SoC的數字簽名加解密過程

    SoC的數字簽名驗證是指在系統啟動或固件更新等關鍵時刻,對加載的固件或軟件進行數字簽名的驗證過程。通過驗證數字簽名,系統可以確保所加載的固件或軟件是經過授權和信任的,從而防止惡意代碼的執行和系統啟動過程的篡改。
    的頭像 發表于 10-21 14:52 ?237次閱讀

    國內大型汽車集團3套SAP ECC系統選擇性拆分&amp;升級成功上線

    HANA升級。項目歷時10個月,3套ECC系統于10月中旬,成功完成拆分及升級上線。 G公司在國內目前有8個業務實體(12個SAP公司代碼),分別使用的是3套SAP系統及客戶端,使用的SAP版本為
    的頭像 發表于 10-21 09:28 ?167次閱讀

    TDAxx上的ECC/EDC

    電子發燒友網站提供《TDAxx上的ECC/EDC.pdf》資料免費下載
    發表于 10-11 10:19 ?0次下載
    TDAxx上的<b class='flag-5'>ECC</b>/EDC

    DDR Inline ECC在Jacinto7 SoC中的應用

    電子發燒友網站提供《DDR Inline ECC在Jacinto7 SoC中的應用.pdf》資料免費下載
    發表于 09-27 11:04 ?0次下載
    DDR Inline <b class='flag-5'>ECC</b>在Jacinto7 SoC中的應用

    PSoC5LP:ECC總是返回失敗的原因?

    ECC 后,使用 AN78175 項目提供的示例和 SelfTest_FlashECC() 函數應該很容易: uint8_t SelfTest_FlashECC(void) { uint8_t
    發表于 05-30 08:15

    CYT4BF的監管區 (SFlash) 是否支持 ECC

    CYT4BF 的監管區 (SFlash) 是否支持 ECC? 如果支持 ECC, 控制 ECC 的寄存器是否與 FLASHC/FLASHC1_FLASH_CTL.MAIN_ECC_EN
    發表于 05-23 07:26

    鴻蒙OS開發問題:(ArkTS)【 RSA加解密,解決中文亂碼等現象】

    RSA加解密開始構建工具類就是舉步維艱,官方文檔雖然很全,但是還是有很多小瑕疵,在自己經過幾天的時間,徹底解決了中文亂碼的問題、分段加密的問題。
    的頭像 發表于 03-27 21:23 ?1764次閱讀
    鴻蒙OS開發問題:(ArkTS)【 RSA<b class='flag-5'>加解密</b>,解決中文亂碼等現象】

    芯來科技正式發布基于RISC-V處理器的HSM子系統解決方案

    本土RISC-V CPU IP領軍企業——芯來科技正式發布基于RISC-V處理器的HSM子系統解決方案,提供專業有效的信息安全保護以及加解密功能。
    的頭像 發表于 03-11 11:01 ?1391次閱讀
    芯來科技正式發布基于RISC-V處理器的HSM子<b class='flag-5'>系統</b>解決方案

    設備監察系統(Facilities Monitoring System)簡介

    設備監察系統(Facilities Monitoring System,簡稱FMS)是一個綜合性的設施管理系統,主要用于監控、管理和優化各種設備、系統和設施的性能。這個
    的頭像 發表于 03-08 17:17 ?576次閱讀

    Pflash和Dflash都有閃存ECC保護,ECC內存在哪里?

    在用戶手冊中,Pflash 和 Dflash 都有閃存 ECC 保護,我想知道 ECC 內存在哪里? 它會占用 pflash 空間還是存儲在用戶無法訪問的地方? 在此先謝謝!
    發表于 01-26 08:12

    基于FPGA的可編程AES加解密IP

    可編程AES加解密IP內建密鑰擴展功能,使用初始密鑰產生擴展密鑰,用于加解密過程。可編程AES加解密IP處理128-bit分組數據,并且支持可編程的密鑰長度:128-bit,192-bit和256-bit。
    發表于 01-09 10:49 ?493次閱讀
    基于FPGA的可編程AES<b class='flag-5'>加解密</b>IP
    主站蜘蛛池模板: 四虎在线最新地址公告| 韩国三级视频网站| 97影院理论在线观看| 免费色网址| 天天在线天天在线天天影视| 男人的视频网站| 美女露出尿口让男人桶爽网站| 日韩一区二区三区免费| freesexvideo性欧美tv| 免费人成网ww777kkk手机| 天堂网bt| 亚洲精品久久久久午夜福| 69xxx视频hd| 日本aaaa级| 日韩成人影院| 最近2018中文字幕免费看在线| 久久伊人色| 国产精品久久久久久福利| 午夜剧场黄色| 最新版天堂资源官网| 爱爱456高清国语在线456| 日日艹| 色天天网| 正在播放淫亚洲| 播放欧亚一级特黄录像| 123成人网| 久久精品亚洲青青草原| 成人综合激情| 日黄网站| 奇米色婷婷| 午夜片 飘香香影院| 一本在线免费视频| 嘿嘿嘿视频在线观看网站| 国产一级特黄aa大片免费| 黄色网欧美| 老色鬼久久综合第一| 91福利免费视频| 午夜三级影院| 天天亚洲综合| 婷婷免费视频| 手机看片欧美日韩|