MATLAB实现DES算法子密钥生成
生活随笔
收集整理的這篇文章主要介紹了
MATLAB实现DES算法子密钥生成
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
DES算法子密鑰生成
參考博客添加鏈接描述的思路
MATLAB代碼如下: A=dec2bin(hex2dec('FEDCBA9876543210')); pc1=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4]; CD=A(1:56); for i=1:56CD(i)=A(pc1(i)); end C0=CD(1:28); D0=CD(29:56); CDK=cell(16,4); CDK{1,1}=C0; CDK{1,2}=D0; n=[1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1]; for i=2:16[CDK{i,3},CDK{i,1},CDK{i,2}] = zhihuan(CDK{i-1,1},CDK{i-1,2},n(i-1));CDK{i,4}=dec2hex(bin2dec(CDK{i,3})); end function [K1,C1,D1] = zhihuan(C0,D0,n) %UNTITLED 此處顯示有關(guān)此函數(shù)的摘要 % 此處顯示詳細(xì)說明 C1=circshift(C0',-1*n)';%循環(huán)左移n位 D1=circshift(D0',-1*n)'; pc2=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32]; A1=[C1,D1]; K1=A1(1:48); for i=1:48K1(i)=A1(pc2(i));%子密鑰1 end end
總結(jié)
以上是生活随笔為你收集整理的MATLAB实现DES算法子密钥生成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PyCharm使用技巧(六):Regul
- 下一篇: 示例解读 Python 2 和 Pyth