資源簡介
MATLAB實現(xiàn)的空域LSB算法,可輸入密鑰加密文本信息,有較好的交互界面
代碼片段和文件信息
%函數(shù)功能:本函數(shù)用于DCT隱藏信息的提取
%輸入格式舉例:result=extractdctadv(‘DCTcover.jpg‘‘2.txt‘198840)
%參數(shù)說明:
%image為已經(jīng)藏有信息的圖像
%msg為提取信息存放的位置
%key為密鑰,用來控制隨機選塊
%count為信息的比特數(shù),由藏人方給出
function?result=extractdctadv(imagemsgkeycount)
data0=imread(image);
data0=double(data0)/255;
%用圖像第一層做提取
data=data0(::1);
%分塊做DCT變換
T=dctmtx(8);
DCTcheck=blkproc(data[8?8]‘P1*x*P2‘TT‘);
%產(chǎn)生隨機的塊選擇,確定圖像
[rowcol]=size(DCTcheck);
row=floor(row/8);
col=floor(col/8);
a=zeros([row?col]);
[k1k2]=randinterval(acountkey);
for?i=1:count
????k1(1i)=(k1(1i)-1)*8+1;
????k2(1i)=(k2(1i)-1)*8+1;
end
%準備提取并回寫信息
frr=fopen(msg‘a(chǎn)‘);
result=zeros(count1);
for?i=1:count
?????if?DCTcheck(k1(i)+4k2(i)+1)<=DCTcheck(k1(i)+3k2(i)+2)
??????????fwrite(frr0‘ubit1‘);
??????????result(i1)=0;
?????else?fwrite(frr1‘ubit1‘);
??????????result(i1)=1;
?????end
end
?fclose(frr);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????88885??2017-06-07?00:06??DCT\1.jpg
?????文件?????????16??2017-06-09?18:16??DCT\1.txt
?????文件????????981??2014-12-13?20:11??DCT\extractdctadv.m
?????文件???????1944??2014-12-25?11:21??DCT\hidedctadv.m
?????文件??????47718??2017-06-07?23:10??DCT\jpg.fig
?????文件??????10885??2017-06-07?23:40??DCT\jpg.m
?????文件??????66614??2006-01-04?10:35??DCT\new.bmp
?????文件????????983??2017-06-08?22:10??DCT\randinterval.m
?????目錄??????????0??2017-06-07?23:44??DCT
-----------?---------??----------?-----??----
???????????????218026????????????????????9
評論
共有 條評論