![]() |
用matlab编写一个程序
混沌加密算法实现
选取Logistic映射 ,取参数 =4,该映射为满射,具有良好的混沌特征;选取正弦混沌映射 ,参数作为初始密钥一部分。采用上述两个混沌映射产生的混沌序列 和 交替对明文流加密,设置一逻辑型变量Enisl,当Enisl值为True时,采用Logistic映射产生的混沌序列 加密8次,当Enisl值为False时,采用正弦混沌映射 加密8次。 序列量化函数采用选取小数点后4、5、6位有效数字构成整数,对256取余, 序列量化函数采用选取小数点后7、8、9位有效数字构成整数,对256取余。具体算法步骤如下: (1) 输入Logistic映射初值 和正弦混沌映射初值 ,参数b (2) Logistic映射和正弦混沌映射分别迭代500次 (3) 判断加密完成否,若完成退出,否则转(4) (4) 读取明文串 (5) 运行混沌发生器,判断Enisl值,若为True,则迭代Logistic映射8次,如果迭代值未在区间(0.2,0.8)之间则舍弃继续迭代,因为Logistic映射的统计分布在两端具有奇异性,直到得到8个迭代数据,运行量化函数(采用选取小数点后4、5、6位有效数字构成整数,对256取余),否则迭代正弦混沌映射8次运行量化函数(选取小数点后7、8、9位有效数字构成整数,对256取余) (6) 将混沌密钥与明文位串进行异或运算,转(3) |
所有时间均为北京时间。现在的时间是 13:22。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.