[发明专利]一种适用于无线传感器网络AES加密的低开销快速轮加密装置及方法有效

专利信息
申请号: 201410126050.4 申请日: 2014-03-31
公开(公告)号: CN103888937B 公开(公告)日: 2017-06-20
发明(设计)人: 齐悦;罗新强;万亚东;王沁 申请(专利权)人: 北京科技大学
主分类号: H04L9/06 分类号: H04L9/06;H04W12/00;H04W84/18
代理公司: 北京金智普华知识产权代理有限公司11401 代理人: 皋吉甫
地址: 100083*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 适用于 无线 传感器 网络 aes 加密 开销 快速 装置 方法
【权利要求书】:

1.一种适用于无线传感器网络AES加密的低开销快速轮加密装置,其特征在于,所述装置包括替换-乘法器、字节提取器、字生成器和轮加密运算器;

所述的替换-乘法器对输入状态矩阵Statej中的每个元素ai,生成半字结果集合{SH21(ai)},其中j为加密轮次,j=0,1,…,11,i为矩阵中元素序号,i=0,1,…,15;

所述的半字结果集合{SH21(ai)}包含16个半字结果SH21(ai),SH21(ai)表示ai的S盒查找结果SB(ai)分别与2和1进行伽罗华域GF(28)乘法所得结果SB2(ai)和SB1(ai)排列成的半字结果,其中,21表示SB2(ai)在半字结果的高字节,SB1(ai)在半字结果的低字节,下标H表示为半字结果,下标B表示为字节结果;

所述的字节提取器对替换-乘法器的半字结果集合中的每个元素提取字节结果集合{SB(ai)};

所述的字节结果集合{SB(ai)}包含16个字节结果SB2(ai)和16个字节结果SB1(ai);

所述的字生成器用替换-乘法器的半字结果和字节提取器的字节结果按要求生成相应的字结果集合{SW(ai)};

所述的字结果集合{SW(ai)}包含4个字结果SW3112(ai),i=0,4,8,12、4个字结果SW1123(ai),i=1,5,9,13、4个字结果SW1231(ai),i=2,6,10,14和4个字结果SW2311(ai),i=3,7,11,15,其中下标W表示为字结果,它们都是由1个SB(ai)与3进行GF(28)乘法所得结果SB3(ai)、1个SB2(ai)和2个SB1(ai)排列构成的字结果,3112、1123、1231和2311表示字内各个字节的排列顺序;

所述的轮加密运算器根据不同轮的要求用Statej、字节结果和字结果与密钥Keyj进行相应运算后生成新状态Statej+1

<mrow><msub><mi>State</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>a</mi><mn>0</mn></msub></mtd><mtd><msub><mi>a</mi><mn>1</mn></msub></mtd><mtd><msub><mi>a</mi><mn>2</mn></msub></mtd><mtd><msub><mi>a</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>a</mi><mn>4</mn></msub></mtd><mtd><msub><mi>a</mi><mn>5</mn></msub></mtd><mtd><msub><mi>a</mi><mn>6</mn></msub></mtd><mtd><msub><mi>a</mi><mn>7</mn></msub></mtd></mtr><mtr><mtd><msub><mi>a</mi><mn>8</mn></msub></mtd><mtd><msub><mi>a</mi><mn>9</mn></msub></mtd><mtd><msub><mi>a</mi><mn>10</mn></msub></mtd><mtd><msub><mi>a</mi><mn>11</mn></msub></mtd></mtr><mtr><mtd><msub><mi>a</mi><mn>12</mn></msub></mtd><mtd><msub><mi>a</mi><mn>13</mn></msub></mtd><mtd><msub><mi>a</mi><mn>14</mn></msub></mtd><mtd><msub><mi>a</mi><mn>15</mn></msub></mtd></mtr></mtable></mfenced><mo>&CirclePlus;</mo><msub><mi>Key</mi><mi>j</mi></msub><mo>,</mo><mi>j</mi><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>S</mi><mi>W</mi></msub><mn>3112</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>1123</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>5</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>1231</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>10</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>2311</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>15</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>S</mi><mi>W</mi></msub><mn>3112</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>4</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>1123</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>9</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>1231</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>14</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>2311</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>3</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>S</mi><mi>W</mi></msub><mn>3112</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>8</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>1123</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>13</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>1231</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>2311</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>7</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>S</mi><mi>W</mi></msub><mn>3112</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>12</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>1123</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>1231</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>6</mn></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>S</mi><mi>W</mi></msub><mn>2311</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>11</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>&CirclePlus;</mo><msub><mi>Key</mi><mi>j</mi></msub><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>...</mn><mo>,</mo><mn>9</mn></mrow></mtd></mtr><mtr><mtd><mrow><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>0</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>5</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>10</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>15</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>4</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>9</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>14</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>3</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>8</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>13</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>2</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>7</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>12</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>1</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>6</mn></msub><mo>)</mo></mrow><mi>S</mi><mn>1</mn><mrow><mo>(</mo><msub><mi>a</mi><mn>11</mn></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>&CirclePlus;</mo><msub><mi>Key</mi><mi>j</mi></msub><mo>,</mo><mi>j</mi><mo>=</mo><mn>10</mn></mrow></mtd></mtr></mtable></mfenced></mrow>

2.一种适用于无线传感器网络AES加密的低开销快速轮加密方法,其特征在于:对状态中每个元素进行替换-乘法运算,产生结果通过字节提取、字生成后,直接与密钥进行相加生成新状态,其步骤包括:

2.1若j为0,则进行步骤2.4,否则对状态Statej中的每个元素依次使用权利要求1所述的替换-乘法器进行替换-乘法运算,生成半字结果集合{SH21(ai)};

2.2对{SH21(ai)}中的元素使用权利要求1所述的字节提取器,生成字节结果集合{SB(ai)};

2.3若j为10,则进行2.4,否则按轮加密要求对{SH21(ai)}和{SB(ai)}中的元素使用权利要求1所述的字生成器,生成字结果集合{SW(ai)};

2.4用Statej、{SB(ai)}和{SW(ai)}中的元素按轮加密要求与密钥Keyj进行异或运算生成新状态Statej+1

2.5j=j+1,若j为11,则输出State11,否则进行2.1步骤。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科技大学,未经北京科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410126050.4/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top