发明名称 基表变量伪随机序列和杂凑函数
摘要 (1)基表变量伪随机序列BTS预建基表,把144位的密钥K依次拆分为16比特的子密钥Ki(0≤i≤8),每轮的每一步以查表变量取代MD5中固定字和消息子块进行运算,每轮abcd第9步的128位,作为伪随机序列输出。BTS具有MD5的随机性并具有庞大周期,可用同一个密钥K组织多个独立循环体,进行大规模并行运算。(2)基表变量杂凑函数BTH将明文的每一个分组块512比特当作BTS的加密密钥,作4轮16步的运算,每轮第16步abcd输出的128位即h1,h2,h3,h4级联构成这个明文块的256位杂凑值;以每个第16步时abcd和多个查表变量值为下一轮(第四轮的状态为下一个明文块的第一轮)的初始IV。BTH在预防各类攻击时更强大,更具有抗强碰撞的特性。
申请公布号 CN101727772A 申请公布日期 2010.06.09
申请号 CN200810156673.0 申请日期 2008.10.15
申请人 姚锡根 发明人 姚锡根
分类号 G09C1/00(2006.01)I;G09C1/02(2006.01)I 主分类号 G09C1/00(2006.01)I
代理机构 代理人
主权项 1.获取一种伪随机序列的方法----基表变量伪随机序列BTS循环体BTS运用了MD5杂凑函数的结构,直接采用了其非线性运算处理P函数。与MD5不同的是,BTS是一个使用密钥K创建大周期伪随机系列的循环,其特征为:(1)建立了2个基础序列表PS,QS,将密钥K拆为有序的16位子密钥K<sub>0</sub>,K<sub>1</sub>,…,K<sub>i</sub>,逐个逐步获得对应查表变量R<sub>0</sub>,R<sub>1</sub>,R<sub>2</sub>,…,R<sub>i</sub>(R<sub>i</sub>=P(t<sub>1i</sub>)P(t<sub>2i</sub>)Q(t<sub>1i</sub>)Q(t<sub>2i</sub>)),以多层查表变量替代MD5结构中固定字表,消息子块,作为每一步输入。(2)设立辅助存储变量T<sub>1</sub>,T<sub>2</sub>,T<sub>3</sub>,T<sub>4</sub>,T<sub>5</sub>依次存储连续的查表变量值。每轮输出为最后一步abcd值,第一轮最后一步abcd定义为y<sub>0</sub>,同时,最后一步时的abcd值和T<sub>1</sub>,T<sub>2</sub>,T<sub>3</sub>,T<sub>4</sub>,T<sub>5</sub>值为下一轮的初始IV。(3)从第二轮开始输出序列,对于j轮输出序列为<img file="F2008101566730C0000011.GIF" wi="308" he="64" />(或<img file="F2008101566730C0000012.GIF" wi="340" he="67" />),而不直接给出y<sub>j</sub>。(4)并行运算方法:使用同一密钥K而将初始的T<sub>1</sub>,T<sub>2</sub>,T<sub>3</sub>,T<sub>4</sub>,T<sub>5</sub>,W值,(abcd)<sub>0</sub>值任意设置,以获得多个不同的独立循环体,每个独立循环体只需要初始设置互不相同,就可以在同一K下,同时输出独立的伪随机序列。
地址 214035 江苏省无锡市北塘区新民村377号