資源簡介
用Matlab寫的DES加密和解密程序,附有測試程序,已驗證沒有問題

代碼片段和文件信息
function?[?output?]?=?DES(?datainkeyinsel?)
%DES?algorithm:?implement?the?encryption?and?decryption
%datain:?the?input?data
%keyin:??the?key?used?
%sel:?choose?the?mode??0--encryption???1---decryption
%=====方式選擇=====
%EN_DE=0:加密?????EN_DE=1:解密
EN_DE=sel;
%=====明文=====
m=datain;
%=====密鑰=====
key=keyin;
%if?length(key)<64
%????key=[key?zeros(164-length(key))];
%end
%if?length(key)>64
%????temp=key;
%????key=[];
%????key=temp(1:64);
%end
%=====初始置換表=====
table_init=[585042342618102605244362820124...
????????625446383022146645648403224168...
????????574941332517?91595143352719113...
????????????615345372921135635547393123157];
%=====終止置換表=====????????
table_final=[408481656246432397471555236331...?
?????????386461454226230375451353216129...?
?????????364441252206028353431151195927...?
?????????3424210501858?2633141?949175725];
%=====擴展置換表=====????????
table_expend=[32?1?2?3?4?5?4?5?6?7?8?9?8?9?1011...?
??????????12131213141516171617181920212021...?
??????????????222324252425262728292829303132?1];??
%=====直接置換表=====??????????
table_direct=[167202129122817?1152326?5183110...?
??????????2824143227?3?9191330?62211?425];
%=====壓縮置換1======??????????
table_redu1=[57494133251791585042342618... ?????????
?????????10259514335271911360524436...
?????????635547393123157625446383022...
?????????1466153453729211352820124];?
%=====壓縮置換2======???????????
table_redu2=[14171124?1?5?32815?62110...
?????????231912?426?816?7272013?2...
?????????415231374755304051453348...
?????????444939563453464250362932];??
%=====移位(左移次數)=====
table_LS=[1122222212222221];
%=====S盒=====?????????
box_s(::1)=[1441312151183106125907?
??????????0157414213110612119538?
??????????4114813621115129731050?
??????????1512824917511314100613];
box_s(::2)=[1518146113497213120510?
??????????3134715281412011069115?
??????????0147111041315812693215?
??????????1381013154211671205149];
box_s(::3)=[1009146315511312711428?
??????????1370934610285141211151?
??????????1364981530111212510147?
??????????1101306987415143115212];
box_s(::4)=[7131430691012851112415?
??????????1381156150347212110149?
??????????1069012117131513145284?
??????????????3150610113894511127214];
box_s(::5)=[2124171011685315130149?
??????????1411212471315015103986?
??????????4211110137815912563014?
??????????1181271
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????5395??2012-05-24?16:00??DES\DES.m
?????文件?????????275??2012-05-24?16:06??DES\test_DES.m
?????目錄???????????0??2012-05-24?16:07??DES\
- 上一篇:matlab編寫的去除粗大誤差的程序
- 下一篇:連續相對定向 matlab
評論
共有 條評論