[發明專利]基于Camellia加密算法的軟PUF有效
| 申請號: | 202110388098.2 | 申請日: | 2021-04-12 |
| 公開(公告)號: | CN113268745B | 公開(公告)日: | 2022-06-21 |
| 發明(設計)人: | 汪鵬君;陳佳;李方強;李剛;張會紅 | 申請(專利權)人: | 溫州大學 |
| 主分類號: | G06F21/60 | 分類號: | G06F21/60;G06F21/72;H04L9/08 |
| 代理公司: | 寧波奧圣專利代理有限公司 33226 | 代理人: | 方小惠 |
| 地址: | 325000 浙江省溫州市甌海*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 camellia 加密算法 puf | ||
1.一種基于Camellia加密算法的軟PUF,包括硬件平臺,其特征在于所述的硬件平臺為128位Camellia加密算法硬件電路,所述的128位Camellia加密算法硬件電路具有以下幾個端口:128位密鑰輸入端口key_in[0]-[127]、128位明文輸入端口data_in[0]-[127]、時鐘輸入端口clk、128位密文輸出端口data_out[0]-[127];所述的128位Camellia加密算法硬件電路中預存有128位子密鑰k1、128位子密鑰k2和時序路徑信息,時序路徑信息包括關鍵路徑延遲Tpath和不同輸入信號激勵下激活的與128位密文輸出端口data_out[0]-[127]直接相關的128條時序路徑;
該128位Camellia加密算法硬件電路工作過程包括18輪加密操作,其中第1輪、第6輪、第12輪和第18輪加密操作分別需要花費兩個時鐘周期來完成加密操作,其他輪加密操作僅需要一個時鐘周期來完成加密操作,該128位Camellia加密算法硬件電路整個工作過程需要22個時鐘周期,其中,第1輪加密操作在第1個時鐘周期和第2個時鐘周期進行,且第1個時鐘周期和第2個時鐘周期分別在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第2輪加密操作在第3個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第3輪加密操作在第4個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第4輪加密操作在第5個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第5輪加密操作在第6個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第6輪加密操作在第7個時鐘周期和第8個時鐘周期進行,且第7個時鐘周期和第8個時鐘周期分別在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第7輪加密操作在第9個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第8輪加密操作在第10個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第9輪加密操作在第11個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第10輪加密操作在第12個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第11輪加密操作在第13個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第12輪加密操作在第14個時鐘周期和第15個時鐘周期進行,且第14個時鐘周期和第15個時鐘周期分別在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第13輪加密操作在第16個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第14輪加密操作在第17個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第15輪加密操作在第18個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第16輪加密操作在第19個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第17輪加密操作在第20個時鐘周期進行,在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出,第18輪加密操作在第21個時鐘周期和第22個時鐘周期進行,且第21個時鐘周期和第22個時鐘周期分別在128位密文輸出端口data_out[0]-[127]產生一個128位密文輸出;該128位Camellia加密算法硬件電路內部具有F函數、FL函數及FL-1函數,FL-1函數為FL函數的逆函數,關鍵路徑延遲Tpath為與128位Camellia加密算法硬件電路的128位密文輸出端口data_out[0]-[127]直接相關的128條時序路徑中的最大路徑延遲,將128位Camellia加密算法硬件電路正常工作的時鐘周期長度記為Tclk,Tclk=Tpath;
所述的基于Camellia加密算法的軟PUF生成PUF響應的具體步驟如下:
①在時鐘輸入端口clk輸入包含22個時鐘周期并且每個時鐘周期長度均為Tclk的時鐘信號,在128位密鑰輸入端口key_in[0]-[127]輸入128位密鑰信號K1,在128位明文輸入端口data_in[0]-[127]輸入128位明文信號P1,此時與128位密文輸出端口data_out[0]-[127]直接相關的128條時序路徑會被激活,所述的128位密文輸出端口data_out[0]-[127]在每個時鐘周期內分別產生一個128位密文輸出,22個時鐘周期一共得到22個128位密文輸出,將該22個128位密文輸出分別作為22個時鐘周期的128位參考輸出;
②在128位密鑰輸入端口key_in[0]-[127]輸入128位密鑰信號K1和在128位明文輸入端口data_in[0]-[127]輸入128位明文信號P1,然后在時鐘輸入端口clk上輸入包含22個時鐘周期并且時鐘周期長度大于70%Tclk且小于Tclk的任意一個時鐘信號C1,最后記錄該時鐘信號下,每個時鐘周期產生的128位密文輸出,從第1個時鐘周期開始,將該時鐘周期產生的128位密文輸出與該時鐘周期的128位參考輸出進行比較,如果兩者相同,則進行下一個時鐘周期的比較,直至兩者不同,如果兩者不同,則結束比較,并確定該時鐘周期的位數以及所處加密操作的輪數,將該時鐘周期的位數記為n,輪數記為m,然后進入步驟③進行判斷及處理;
③當輪數m為1,時鐘周期位數n為1時,則將128位明文信號P1與128位子密鑰k1按位進行異或操作,得到第一個128位異或操作結果,然后將該第一個128位異或操作結果與第1個時鐘周期的128位參考輸出按位進行異或操作,得到第二個128位異或操作結果,該第二個128位異或操作結果即為PUF響應;
當輪數m為1,時鐘周期位數n為2時,則將第1個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的F函數中進行處理,得到64位F函數運算結果,然后將該64位F函數運算結果與第1個時鐘周期的128位密文輸出的低64位數據按位進行異或操作,得到64位異或操作結果,將該64位異或操作結果作為高64位數據,第1個時鐘周期的128位密文輸出的高64位作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第2個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為6,時鐘周期位數n為7時,則將第6個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的F函數中進行處理,得到64位F函數運算結果,然后將64位F函數運算結果與第6個時鐘周期的128位密文輸出的低64位數據按位進行異或操作,得到64位異或操作結果,將該64位異或操作結果作為高64位數據,第6個時鐘周期的128位密文輸出的高64位作為低64位數據,拼接為128位密文輸出,最后將該128位密文輸出與第7個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為6,時鐘周期位數n為8時,則將第7個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的FL函數中,得到64位FL函數運算結果,然后將第7個時鐘周期的128位密文輸出的低64位數據輸入到128位Camellia加密算法硬件電路的FL-1函數中,得到64位FL-1函數運算結果,將64位FL函數運算結果作為高64位數據,64位FL-1函數運算結果作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第8個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為12,時鐘周期位數n為14時,則將第13個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的F函數中進行處理,得到64位F函數運算結果,然后將64位F函數運算結果與第13個時鐘周期的128位密文輸出的低64位數據按位進行異或操作,得到64位異或操作結果,將64位異或操作結果作為高64位數據,第13個時鐘周期的128位密文輸出的高64位數據作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第14個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為12,時鐘周期位數n為15時,則將第14個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的FL函數中,得到64位FL函數運算結果,然后將第14個時鐘周期的128位密文輸出的低64位數據輸入到128位Camellia加密算法硬件電路的FL-1函數中,得到64位FL-1函數運算結果,將64位FL函數運算結果作為高64位數據,64位FL-1函數運算結果作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第15個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為18,時鐘周期位數n為21時,則將第20個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的F函數中進行處理,得到64位F函數運算結果,然后將64位F函數運算結果與第20個周期的128位密文輸出的低64位數據按位進行異或操作,得到64位異或操作結果,將64位異或操作結果作為高64位數據,第20個時鐘周期的128位密文輸出的高64位數據作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第21個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為18,時鐘周期位數n為22時,則將第21個時鐘周期的128位密文輸出的高64位數據與128位子密鑰k2的低64位數據按位進行異或操作,得到第一個64位異或操作結果,然后將第21個時鐘周期的128位密文輸出的低64位數據與128位子密鑰k2的高64位數據按位進行異或操作,得到第二個異或操作結果,將第二個異或操作結果作為高64位數據,第一個異或操作結果作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第22個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為2、3、4、5時,則將第m個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的F函數中進行處理,得到64位F函數運算結果,然后將64位F函數運算結果與第m個時鐘周期的128位密文輸出的低64位數據按位進行異或操作,得到64位異或操作結果,將64位異或操作結果作為高64位數據,第m個時鐘周期的128位密文輸出的高64位數據作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第m+1個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為7、8、9、10、11時,則將第m+1個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的F函數中進行處理,得到64位F函數運算結果,然后將64位F函數運算結果與第m+1個時鐘周期的128位密文輸出的低64位數據按位進行異或操作,得到64位異或操作結果,將64位異或操作結果作為高64位數據,第m+1個時鐘周期的128位密文輸出的高64位數據作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第m+2個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當輪數m為13、14、15、16、17時,則將第m+2個時鐘周期的128位密文輸出的高64位數據輸入到128位Camellia加密算法硬件電路的F函數中進行處理,得到64位F函數運算結果,然后將64位F函數運算結果與第m+2個時鐘周期的128位密文輸出的低64位數據按位進行異或操作,得到64位異或操作結果,將64位異或操作結果作為高64位數據,第m+2個時鐘周期的128位密文輸出的高64位數據作為低64位數據,拼接為128位密文輸出,最后將128位密文輸出與第m+3個時鐘周期的128位參考輸出按位進行異或操作,得到128位異或操作結果,該128位異或操作結果即為PUF響應;
當改變所述的128位密鑰輸入端口key_in[0]-[127]、所述的128位明文輸入端口data_in[0]-[127]和所述的時鐘輸入端口clk中至少一個端口接入的信號,就能夠改變所述的基于Camellia加密算法的軟PUF生成的PUF響應。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于溫州大學,未經溫州大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110388098.2/1.html,轉載請聲明來源鉆瓜專利網。





