資源簡介
基于混沌映射蟲口映射的語音加解密程序,蟲口函數生成密鑰,通過加密算法對一段語音進行加密

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%????????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
評論
共有 條評論