• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: 其他
  • 标签: 混沌  

资源简介

基于混沌映射虫口映射的语音加解密程序,虫口函数生成密钥,通过加密算法对一段语音进行加密

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%        author:张忠                   %
%   object name:基于浮点小波变换的语音隐藏方法 %
%   data:2011/04/014                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear;
%读取水印信息
fs=8000;
nbits=64;
[Wfile_namefsnbits]=wavread(‘dajiahao.wav‘);%读取要隐藏的信息
ma=double(Wfile_name)/255;%小数点后移

figure(1);
subplot(111);
plot(ma);
title(‘保密语音‘)
sound(ma)
%----------------------------------------------------------------------
%语音分帧 每帧语音信号为96比特 P为96X96的一个矩阵
win=96;
inc=16;
 z=enframe(mawininc);%分帧
 y=double(z)/96;

 for i=1:length(ma)/96
for j=1:96
    e=i*96+j;
    P(ij)=y(e);
    e=e+1;
end;
 end; 
  figure(2)
subplot(111);plot(P);title(‘保密语音分帧后‘);

 
%--------------------------------------------------------------------------
%X=im2bw(ma0.7);
%wavshow(X);

%水印置乱 再取k=1N=96周期为24 这里做12次变换
[mn]=size(P);%m是行数,m是列数
%save m_n;
%[matrixrow1col1]=chaos(P39612);%置乱要隐藏的语音matrix 是置乱后的语音信号 row1是N阶行矩阵col1是N阶列矩阵

%置乱水印大小
%figure(2)
%subplot(211);plot(P);title(‘保密语音置乱前‘);subplot(212);plot(matrix);title(‘保密语音置乱后‘);
%[m1n1]=size(matrix);
%--------------------------------------------------------------------------
%混沌序列生成
%randmtx=randCL(mn0.53.6);%生成混沌序列

% 产生 Logistic 序列 
% 使用平台 - Matlab7.0
lambda = 3:5e-4:4;
x = 0.4*ones(1length(lambda));

N1 = 400;                   % 前面的迭代点数
N2 = 96;                   % 后面的迭代点数

f = zeros(N1+N2length(lambda));
for i = 1:N1+N2
    x = lambda .* x .* (1 - x);
    f(i:) = x;
end
f = f(N1+1:end:);

plot(lambdaf‘k.‘‘MarkerSize‘1)
xlabel(‘\lambda‘)
ylabel(‘x‘);
 %置换的序列同混沌序列做异或运算


matrix=matrix+randmtx;


cmatrix=bitxor(matrixrandmtx);
%cmatrix=xor(matrixrandmtx);
%k=k+1;

figure(4);
subplot(111)
plot(cmatrix);
title(‘用混沌映射序列加密后的语音‘);

%matrix2=xor(matrix1randmtx);
%kkk=matrix1-matrix2;
%读取载体信息
%------------------------------解密部分--------------------------------------
for i=1:m
    for j=1:n
        if randmtx(ij)>0.40
            randmtx(ij)=0;
        else
            randmtx(ij)=1;
        end
    end
end
%matrix=P;
dematrix(lk)=xor(matrixrandmtx);

figure(5);
subplot(111)
plot(dematrix);
title(‘用混沌映射序列解密后的语音‘)
%matrix2=xor(matrix1randmtx);
%kkk=matrix1-matrix2;
%读取载体信息


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2543  2011-04-23 00:02  FloatDwt.m

----------- ---------  ---------- -----  ----

                 2543                    1


评论

共有 条评论