[發(fā)明專利]基于ARM的AXI接口的SHA3 IP核設(shè)計有效
| 申請?zhí)枺?/td> | 201410039933.1 | 申請日: | 2014-01-26 |
| 公開(公告)號: | CN103812643A | 公開(公告)日: | 2014-05-21 |
| 發(fā)明(設(shè)計)人: | 韓永飛;王宏金 | 申請(專利權(quán))人: | 廈門密安信息技術(shù)有限責(zé)任公司 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;G06F15/78;G06F13/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 361008 福建省廈門*** | 國省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 arm axi 接口 sha3 ip 設(shè)計 | ||
技術(shù)領(lǐng)域:
本發(fā)明針對Keccak模塊和AXI?Slave模塊的特點,設(shè)計了狀態(tài)機,實現(xiàn)了從AXI?Slave的RAM中讀取數(shù)據(jù)送給Keccak處理,再將處理完的結(jié)果寫到AXI?Slave的RAM中,最終實現(xiàn)了帶AXI接口的Keccak?IP設(shè)計。?
背景技術(shù):
安全散列算法(Secure?Hash?Algorithm,SHA)是由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(National?Institute?of?Standards?and?Technology,NIST)于1993年發(fā)布的一種數(shù)據(jù)加密算法。其主要思想是將可變長度的消息映射成固定長度的消息摘要,廣泛應(yīng)用于密碼保護、消息鑒別、數(shù)據(jù)完整性驗證以及數(shù)字簽名等信息安全領(lǐng)域[1]。AXI接口是ARM公司最新的總線,該總線具備高帶寬,低延時,設(shè)計靈活等特點,目前已成為SoC中使用最為廣泛的片上總線標(biāo)準(zhǔn)[2]。本文基于Keccak開源項目[3]和AXI開源項目[4]設(shè)計了基于AXI接口的SHA3IP核。本設(shè)計具有低功耗,資源占用較少的特點,適用于手持式設(shè)備的SoC設(shè)計中。?
發(fā)明內(nèi)容:
1、實現(xiàn)了AXI模塊與Keccak模塊的連接,便于設(shè)計者使用統(tǒng)一的接口來控制和訪問Keccak模塊。?
2、為了方便讀寫的單獨操作,本設(shè)計把AXI?Slave的中的一個RAM拆成了兩個,其中一個負(fù)責(zé)緩沖AXI的輸出和Keccak的輸入,另外一個負(fù)責(zé)緩沖Keccak的輸出的AXI的輸入。?
附圖說明:
圖1:項目整體接口圖?
圖2:本機狀態(tài)圖?
具體實施方式:
1、讀寫操作步驟如下:?
(1)復(fù)位初始化進入IDLE狀態(tài),等待AXI寫入數(shù)據(jù)到RAM_A完成和Keccak準(zhǔn)備好輸入數(shù)據(jù)。?
(2)進行讀狀態(tài),狀態(tài)機控制生成RAM_A的讀地址和控制信號,把RAM_A中的數(shù)據(jù)依次讀出來送個Keccak處理,讀的過程中如果Keccak模塊出現(xiàn)忙的狀態(tài)無法接收數(shù)據(jù)的話則進入Wait狀態(tài),等待Keccak準(zhǔn)備好以后再繼續(xù)讀取數(shù)據(jù)送個Keccak。RAM_A中的數(shù)據(jù)全部讀取完以后,狀態(tài)機再次進入Wait狀態(tài)等待數(shù)據(jù)處理結(jié)束。?
(3)進入WR狀態(tài),狀態(tài)機生成地址和控制信號把Keccak處理完的輸入寫入到RAM_B中緩沖,在寫入數(shù)據(jù)的時候,如果出現(xiàn)Keccak處理的數(shù)據(jù)還未準(zhǔn)備好的時候則進入Wait狀態(tài),等待數(shù)據(jù)處理好以后再繼續(xù)寫入數(shù)據(jù)。?
2、為方便數(shù)據(jù)的讀寫,我們還定義了RAM_A和RAM_B內(nèi)部地址的功能:?
用戶需要處理數(shù)據(jù)的時候,先把需要處理的數(shù)據(jù)長度寫入RAM_A的0x1地址,然后把需要處理的數(shù)據(jù)從0x02地址開始依次寫入RAM_A中,當(dāng)數(shù)據(jù)寫完以后往0x00寫入0x01,表示數(shù)據(jù)已經(jīng)寫入結(jié)束讓狀態(tài)機進入RD狀態(tài)。狀態(tài)機在RD狀態(tài)時先從0x01讀取輸入數(shù)據(jù)的長度,然后生成控制信號和地址,從0x02地址開始讀取數(shù)據(jù)送給Keccak處理。當(dāng)狀態(tài)機檢測打牌Keccak處理完數(shù)據(jù)以后,狀態(tài)機進入WR狀態(tài),先把處理完的數(shù)據(jù)長度寫入RAM_B的0x01地址,然后生成控制信號和地址把Keccak處理完的數(shù)據(jù)從0x02地址開始依次寫入RAM_B,數(shù)據(jù)寫完以后把0x00地址寫入0x01,表示本次處理完的數(shù)據(jù)有效。當(dāng)用戶檢測到RAM_B的0x00地址為0x01時則從0x02地址開始讀取處理完的數(shù)據(jù),讀取完以后把RAM_A和RAM_B復(fù)位,把所有地址的值都設(shè)置為0x00,然后等待下一次的數(shù)據(jù)處理。?
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廈門密安信息技術(shù)有限責(zé)任公司,未經(jīng)廈門密安信息技術(shù)有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410039933.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





