Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-05-24
年龄: 37
帖子: 1
声望力: 0 ![]() |
![]()
混沌加密算法实现
选取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) |
![]() |
![]() |