DES加密解密算法实现

一.实验目的

DES加密解密算法的实现。

 

二.实验内容

选用C++语言,效率高。

#include   "stdio.h"  
  #include   "iostream.h"  
  #include   "memory.h"  
  static   void   F_func(bool   In[32],   const   bool   Ki[48]);//   F  
函数  
  static   void   S_func(bool   Out[32],   const   bool   In[48]);//   S  
盒代替  
  static   void   Transform(bool   *Out,   bool   *In,   const   char   *Table,   int   len);
  static   void   Xor(bool   *InA,   const   bool   *InB,   int   len);//  
异或  
  static   void   RotateL(bool   *In,   int   len,   int   loop);//  
循环左移  
  static   void   ByteToBit(bool   *Out,   const   char   *In,   int   bits);
  static   void   BitToByte(char   *Out,   const   bool   *In,   int   bits); 
  //  
初始变换  
  const   static   char   IP[64]   =   {  
  58,   50,   42,   34,   26,   18,   10,   2,   60,   52,   44,   36,   28,   20,   12,   4,  
  62,   54,   46,   38,   30,   22,   14,   6,   64,   56,   48,   40,   32,   24,   16,   8,  
  57,   49,   41,   33,   25,   17,     9,   1,   59,   51,   43,   35,   27,   19,   11,   3,  
   61,   53,   45,   37,   29,   21,   13,   5,   63,   55,   47,   39,   31,   23,   15,   7  
  };  
  //  
末置换  
  const   static   char   IPR[64]   =   {  
  40,   8,   48,   16,   56,   24,   64,   32,   39,   7,   47,   15,   55,   23,   63,   31,  
  38,   6,   46,   14,   54,   22,   62,   30,   37,   5,   45,   13,   53,   21,   61,   29,  
  36,   4,   44,   12,   52,   20,   60,   28,   35,   3,   43,   11,   51,   19,   59,   27,  
  34,   2,   42,   10,   50,   18,   58,   26,   33,   1,   41,     9,   49,   17,   57,   25  
  };  
  //  
扩展置换  
  static   const   char   E[48]   =   {  
  32,     1,     2,     3,     4,     5,     4,     5,     6,     7,     8,     9,  
   8,     9,   10,   11,   12,   13,   12,   13,   14,   15,   16,   17,  
  16,   17,   18,   19,   20,   21,   20,   21,   22,   23,   24,   25,  
  24,   25,   26,   27,   28,   29,   28,   29,   30,   31,   32,     1  
  };  
  //  
作用在S盒的32位输出结果上的P变换    

[1] [2] [3] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有