发明名称 高速高精度混沌函数的混沌序列生成方法和序列发生器
摘要 本发明公开了一种高速高精度混沌函数的混沌序列生成方法和序列发生器。初值密钥电路存入混沌锁存器初始值,μ值密钥电路存入序列μi值;每个cp混沌函数完成一次迭代运算:按位变换电路对混沌锁存器输出作按位异或,用按位异或实现减法运算N-1-|xi|等;移位数据选择器以μi作为数据选择器的地址码,将数据右移多位,然后用减法实现乘法μi×数据;在cp上升沿将减法结果存入混沌锁存器,每个cp生成一个160位混沌输出;有初值密钥和μ值密钥,随机性好;精度远大于double型,cp周期可到90ns,加密128位明文需要1.7μs;可用FPGA、CPLD和ASIC等实现,用于网络安全技术领域,特别是无线网络和无线传感器网络。
申请公布号 CN101222318B 申请公布日期 2010.08.18
申请号 CN200810063896.2 申请日期 2008.01.23
申请人 黑龙江大学;方倩;刘莹;方振贤 发明人 方倩;刘莹;方振贤
分类号 H04L9/00(2006.01)I;G06F17/10(2006.01)I 主分类号 H04L9/00(2006.01)I
代理机构 哈尔滨市哈科专利事务所有限责任公司 23101 代理人 刘娅
主权项 1.一种高速高精度混沌函数的混沌序列生成方法,其特征在于:所述的高速高精度混沌函数是一种符合计算机硬件特点的混沌函数f(x<sub>i</sub>),表示为<img file="FSB00000098128000011.GIF" wi="761" he="141" />N=2<sup>160</sup>,                        式一<img file="FSB00000098128000012.GIF" wi="870" he="142" />|x<sub>i</sub>|∈[0,2N-1],|μ<sub>i</sub>|∈[0,2], 式二依据所述混沌函数f(x<sub>i</sub>)完成的混沌序列生成方法如下:混沌值x<sub>i</sub>存在混沌锁存器中,混沌锁存器由161个D锁存器Q<sub>160</sub>Q<sub>159</sub>Q<sub>158</sub>~Q<sub>0</sub>组成,其中Q<sub>160</sub>存x<sub>i</sub>的符号,Q<sub>159</sub>Q<sub>158</sub>~Q<sub>0</sub>存x<sub>i</sub>的绝对值|x<sub>i</sub>|;初值密钥电路存混沌锁存器初始值,μ值密钥电路存序列u<sub>i</sub>值;前导码判定电路判定发送信号是否来到,信号未来到,开启触发器Q<sub>S</sub>=0,将混沌锁存器初始值置入Q<sub>160</sub>Q<sub>159</sub>Q<sub>158</sub>~Q<sub>0</sub>;信号来到,立即置Q<sub>S</sub>=1,启动混沌序列发生器,每个时钟cp混沌序列发生器执行一次混沌函数迭代运算,生成一个160位混沌输出Y<sub>159</sub>~Y<sub>0</sub>;具体生成1个混沌输出的方法是:①按位变换电路将<img file="FSB00000098128000013.GIF" wi="89" he="56" />和Q<sub>158</sub>~Q<sub>0</sub>作按位异或,由此执行式一得来的减法运算:当|x<sub>i</sub>|≤N-1时,执行N-1-|x<sub>i</sub>|,当|x<sub>i</sub>|>N-1时,执行|x<sub>i</sub>|-N,输出d<sub>158</sub>~d<sub>0</sub>,代表g(x<sub>i</sub>)的绝对值;②移位数据选择器以u<sub>i</sub>作为数据选择器的地址码,将数据d<sub>158</sub>~d<sub>0</sub>右移4u<sub>i</sub>+10位,<img file="FSB00000098128000014.GIF" wi="701" he="66" />输出g<sub>148</sub>~g<sub>0</sub>;③减法电路先进行d<sub>158</sub>~d<sub>0</sub>减g<sub>148</sub>~g<sub>0</sub>=S<sub>158</sub>~S<sub>0</sub>,接着减法的结果S<sub>158</sub>~S<sub>0</sub>用连线向左移1位,最低位置1,即D锁存器的输入D<sub>159</sub>接S<sub>158</sub>,D<sub>158</sub>接S<sub>157</sub>,……D<sub>1</sub>接S<sub>0</sub>,D<sub>0</sub>接1;由此用减法电路实现式二得来的乘法:<img file="FSB00000098128000015.GIF" wi="1188" he="70" />减法电路输出D<sub>159</sub>D<sub>158</sub>~D<sub>0</sub>;④在cp上升沿将减法电路输出D<sub>159</sub>D<sub>158</sub>~D<sub>0</sub>存入混沌锁存器Q<sub>159</sub>Q<sub>158</sub>~Q<sub>0</sub>,并将μ<sub>i</sub>值符号位和Q<sub>159</sub>异或存到Q<sub>160</sub>;⑤混沌输出电路用Q<sub>160</sub>和Q<sub>159</sub>~Q<sub>1</sub>按位异或和Q<sub>160</sub>取反将正负二进制数Q<sub>160</sub>Q<sub>159</sub>~Q<sub>0</sub>转化为正二进制数混沌输出Y<sub>159</sub>~Y<sub>0</sub>;对此后每个cp重复上述步骤①~⑤进行,不断产生混沌输出Y<sub>159</sub>~Y<sub>0</sub>,生成混沌序列输出。
地址 150080 黑龙江省哈尔滨市南岗区学府路74号