✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
语音语音加密原理框图在对语音信号进行预处理、加密解密分析之后,将各个步骤联系起来绘出了语音加密原理框图如下:
语音信号的加密传输与解密流程
加密方法选用混沌加密方案,是基于离散混沌映射的加密系统Logistic(罗切斯特)映射。Logistic 映射被公认为是能体现混沌特点的最简单的离散混沌系统映射,它来源于对人口增长模型的研究,其表达式为:
混沌加密方案的具体流程:
在伪混沌位序列产生方法上,采取不同μ值、不同初始状态值的两个不同 Logistic 混沌映射进行迭代,先让它们分别初始迭代m、n次(m≠n),再同时迭代,通过动态比较两个映射每次迭代的状态值,产生二进制伪混沌序列。具体算法是:
①在区间[3.57,4]中,选择两个不同的μ值,分别作为两个映射参数;
②在区间[0,1]中,选择两个不同的实数,分别作为两个映射迭代的初始状态值;
③在区间[50,100]中,选择两个不同的整数m和n,分别作为两个映射的初始迭代次数。两个映射先分别迭代m和n次,得到两个状态值xm和yn,然后再开始同时迭代,每次
迭代后,比较两个映射的状态值。如果两个映射分别表示为f1和f2,如果 f1(xm)> f2(yn),产生二进制位‘1’;否则,产生二进制位‘0’。如此类推,形成伪混沌二进制位序列;
④读入明文信息,对每一个明文信息位,依据第③步算法,将两个映射迭代,比较每次迭代后的状态值,产生二进制位 0 或 1,并与明文信息位进行模 2 加运算,实现加密。该操作一直持续到将所有明文信息位加密完为止
由于μ、初始状态值、初始迭代次数皆可选择,因此,即使在明文信息中出现的重复字符,加密后也会产生不同的密文。不同的μ值、不同的初始状态值以及不同的初始迭代次数的组合大大地减少了周期窗口出现的几率,提升了伪混沌二进制位序列的不可预测性,在扩大密钥空间的同时,提高了算法的安全性。
为了进一步提高保密性能,本方案可让用户每次通信前自行设置密码,方案依据特定的算法,根据密码生成μ值、初始状态值以及初始迭代次数值,达到“一次一密”的效果。
解密方案:
本课题即采用对称密码体制进行解密,在已设计出的混沌logistic映射加密钥的基础上,解密时只需将加密钥与密文流异或即可恢复明文序列,也就完成了对语音信号的解密过程。
⛄ 部分代码
%函数dec_to_bin将有符号十进制转化为12位二进制表示
function [y]=dec_to_bin(x)
for i=1:numel(x)
if(x(i)>0)
y{i}=dec2bin(x(i),12);
else
y{i}=dec2bin(bitor(2048,abs(x(i))));
end
end
end
⛄ 运行结果
⛄ 参考文献
[1] 魏雅娟, 范九伦, 任方. 基于混沌和小波变换的音频加密算法[J]. 计算机科学, 2017, 044(012):94-99.
[2] 林彩霞, 郝建红. 基于混沌切换系统的语音加密[J]. 动力学与控制学报, 2008, 6(3):6.
[3] 王晓鑫, 翁贻方, 郑嵘. 基于Logistic混沌系统的网络视频加密算法研究[J]. 食品科学技术学报, 2008, 26(2):43-46.
[4] 朱晓晶, 李晔. 一种基于混沌系统的窄带超低速语音加密算法[J]. 现代电子技术, 2010(007):033.
[5] 郭玉坤. 基于混沌理论的图像加密算法的研究及实现[D]. 电子科技大学, 2009.
⛳️ 代码获取关注我
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料