[發明專利]一種Piccolo加密算法硬件實現方法有效
| 申請號: | 201410022523.6 | 申請日: | 2014-01-17 |
| 公開(公告)號: | CN103731257A | 公開(公告)日: | 2014-04-16 |
| 發明(設計)人: | 李浪;賀位位;劉波濤;鄒祎;許瓊方;劉輝 | 申請(專利權)人: | 衡陽師范學院 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06 |
| 代理公司: | 長沙市融智專利事務所 43114 | 代理人: | 黃美成 |
| 地址: | 421002 湖*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 piccolo 加密算法 硬件 實現 方法 | ||
技術領域
本發明涉及信息安全中的密碼算法領域,特別是涉及輕量級密碼Piccolo算法硬件實現方法。
背景技術
Piccolo輕量級密碼算法是在2011年國際頂級密碼硬件與嵌入式系統會議(CHES)上被提出,是一種適合資源受限的智能卡加密算法。
Piccolo算法是一種輕量級分組加密算法,分組長度64位,密鑰長度有80位和128位,其中密鑰為80位時記作Piccolo-80,迭代輪數r為25輪;密鑰128位記作Piccolo-128,迭代輪數r為31輪。算法采用非平衡型Feistel結構;算法包括密鑰擴展運算,每輪中,加密數據同子密鑰都進行異或運算(AddRoundKey,ARK操作)、F函數運算與RP輪置換函數運算(最后一輪沒有使用RP輪置換函數);將64位明文輸入分為4個分支,每個分支為16位;將從左到右第一個分支與第三個分支分別同白化密鑰wk0與wk1進行異或(AddWhiteningKey,AWK操作);然后進行r-1輪迭代加密;最后一輪輸入的64位中間值同樣劃分為4個分支,每個分支為16位;然后進行同樣的F函數運算和子密鑰異或運算(AddRoundKey,ARK操作),得到的結果第一個分支與第三個分支直接同白化密鑰wk0與wk1進行異或,最終得到64位密文輸出。RP函數置換運算將輸入64位值劃分為8個字節,然后進行字節的置換操作,如圖4所示,將RP輪置換函數的64輸入位數據從高位到低位依次劃分為8個字節g0,g1,g2,g3,g4,g5,g6,g7,以g2,g7,g4,g1,g6,g3,g0,g5作為RP輪置換函數運算的64位輸出數據。
密鑰擴展部分:
初始密鑰key長度為80位:
將初始密鑰從高位開始按16位一組劃分為5個部分,分別記作k0、k1、k2、k3及k4,按照以下公式生成白化密鑰wka和輪密鑰rk2i、rk2i+1,其中,0≤a<4,0≤i<r,r表示輪運算輪數;
白化密鑰擴展:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于衡陽師范學院,未經衡陽師范學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410022523.6/2.html,轉載請聲明來源鉆瓜專利網。





