![](https://csdnimg.cn/release/download_crawler_static/87561624/bg3.jpg)
void sr(char a[8]);//将输入的字符转入 shur 字符数组里去
void mwerjinzhi();//明文进行二进制转换,并放入 mingwen[64]数
组里
void merjinzhi();//密钥进行二进制转换,并放入 miyue[64]数组里
void bmingwen();//64 位 初 始 明 文 进 行 移 位 变 换 , 并 放 入
mingwenbianhuan[64]数组里
void fenmingwen();//变换后的明文分为 r 和 l 两个 32 位数组,放
入 mingwenr[32]和 mingwenl[32]
void kuozhan();//r 数组由 32 位扩展到 48位,放到 mingwenrk[48]
void cjo();//64 位密钥除去奇偶位变成 56位,放到 miyuecjo[56]
void df();//将 56 位密钥等分成 a 和 b 两个 28 位的数组,放到
miyuea[28]和 miyueb[28]
void ayw(int n);//a 数组进行移位
void byw(int n);//b 数组进行移位
void hb();//将移位后的 a 和 b 数组合并,放到 miyuehb[56]
void bh();//合并后将 56位数组变换成 48位数组,放到 miyuehbh[48]
void tyh();//将扩展后的 r 数组和合并后的 48位数组进行异或运算,
放到 yh[48]
void s();//对 48 位数据进行 s 盒变换,得到 32 位数据放到 sbh[32]
void sh();//sbh[32]的数据再变换放到 szbh[32]里
void zyh();//将 szbh[32]和 mingwenl[32]异或放到 mingwenr[32]
里
void zhb();//最后将 mingwenr[32]和 mingwenl[32]合并到 zh[64]
里
void zzz();//zh[64]再变换放到 aaa[64]里
int aaa[64];
char shur[8];//定义了所需要的数组,具体用途上边函数注释
里提到
mingwen[64],mingwenbianhuan[64],mingwenl[32],mingwenr[32],mingw