【语音加密】基于混沌logistic算法实现语音信号加密解密附GUI界面

文章介绍了使用Logistic映射的混沌加密方案应用于语音信号加密的过程。通过选择不同的μ值、初始状态和迭代次数,生成伪混沌二进制序列,实现对语音信号的加密。加密后的语音信号在解密时通过与加密钥异或恢复原明文。该方法提高了安全性,且支持根据用户密码动态生成密钥,实现了一次一密的加密策略。
摘要由CSDN通过智能技术生成

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

语音语音加密原理框图在对语音信号进行预处理、加密解密分析之后,将各个步骤联系起来绘出了语音加密原理框图如下:

语音信号的加密传输与解密流程

加密方法选用混沌加密方案,是基于离散混沌映射的加密系统Logistic(罗切斯特)映射。Logistic 映射被公认为是能体现混沌特点的最简单的离散混沌系统映射,它来源于对人口增长模型的研究,其表达式为:

混沌加密方案的具体流程

在伪混沌位序列产生方法上,采取不同μ值、不同初始状态值的两个不同 Logistic 混沌映射进行迭代,先让它们分别初始迭代m、n次(m≠n),再同时迭代,通过动态比较两个映射每次迭代的状态值,产生二进制伪混沌序列。具体算法是:

①在区间[3.57,4]中,选择两个不同的μ值,分别作为两个映射参数;

②在区间[0,1]中,选择两个不同的实数,分别作为两个映射迭代的初始状态值;

③在区间[50,100]中,选择两个不同的整数mn,分别作为两个映射的初始迭代次数。两个映射先分别迭代mn次,得到两个状态值xmyn,然后再开始同时迭代,每次

迭代后,比较两个映射的状态值。如果两个映射分别表示为f1f2,如果 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电子书和数学建模资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab科研辅导帮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值