亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? des.h

?? 之前
?? H
字號:
#ifndef CDES_H_CAESAR__DEF
#define CDES_H_CAESAR__DEF

#include <windows.h>

class CDES  
{
public:
	CDES();
	virtual ~CDES();

	//加密解密
	enum	
	{
		ENCRYPT	=	0,	//加密
		DECRYPT			//解密
	};

	//DES算法的模式
	enum
	{
		ECB		=	0,	//ECB模式
		CBC				//CBC模式
	};

	typedef bool    (*PSubKey)[16][48];

	//Pad填充的模式
	enum
	{
		PAD_ISO_1 =	0,	//ISO_1填充:數據長度不足8比特的倍數,以0x00補足,如果為8比特的倍數,補8個0x00
		PAD_ISO_2,		//ISO_2填充:數據長度不足8比特的倍數,以0x80,0x00..補足,如果為8比特的倍數,補0x80,0x00..0x00
		PAD_PKCS_7		//PKCS7填充:數據長度除8余數為n,以(8-n)補足為8的倍數
	};



/*******************************************************************/
/*
  函 數 名 稱:	RunPad
  功 能 描 述:	根據協議對加密前的數據進行填充
  參 數 說 明:	bType	:類型:PAD類型
				In		:數據串指針
				Out		:填充輸出串指針
				datalen	:數據的長度
				padlen	:(in,out)輸出buffer的長度,填充后的長度

  返回值 說明:	bool	:是否填充成功
  作       者:	鄒德強
  修 改 歷 史:	2004.7.12日,更改內存寫入位置錯誤

  更 新 日 期:	2003.12.19
/*******************************************************************/
	static bool	RunPad(int nType,const char* In,unsigned datalen,char* Out,unsigned& padlen);





/*******************************************************************/
/*
  函 數 名 稱:	RunDes
  功 能 描 述:	執行DES算法對文本加解密
  參 數 說 明:	bType	:類型:加密ENCRYPT,解密DECRYPT
				bMode	:模式:ECB,CBC
				In		:待加密串指針
				Out		:待輸出串指針
				datalen	:待加密串的長度,同時Out的緩沖區大小應大于或者等于datalen
				Key		:密鑰(可為8位,16位,24位)支持3密鑰
				keylen	:密鑰長度,多出24位部分將被自動裁減

  返回值 說明:	bool	:是否加密成功
  作       者:	鄒德強
  修 改 歷 史:	2004.7.6,修改ECB/CBC 3key模式bug

  更 新 日 期:	2003.12.19
/*******************************************************************/
	static bool RunDes(bool bType,bool bMode,char* In,char* Out,unsigned datalen,const char* Key,const unsigned char keylen);

protected:
	//計算并填充子密鑰到SubKey數據中
	static void SetSubKey(PSubKey pSubKey, const char Key[8]);
	
	//DES單元運算
	static void DES(char Out[8], char In[8], const PSubKey pSubKey, bool Type);

};

#endif


//DES算法相應描述:

/*
如何實現DES算法

原文:Matthew Fischer

DES( Data Encryption Standard)算法,于1977年得到美國政府的正式許可,是一種用56位密鑰來加密64位數據的方法。DES算法以被應用于許多需要安全加密的場合。(如:UNIX的密碼算法就是以DES算法為基礎的)。下面是關于如何實現DES算法的語言性描述,如果您要其源代碼,可以到Http//Assassin.yeah.net下載,后者您有任何問題也可以寫信給我(Assassin@ynmail.com)。

1-1、變換密鑰

取得64位的密鑰,每個第8位作為奇偶校驗位。

1-2、變換密鑰。

1-2-1、舍棄64位密鑰中的奇偶校驗位,根據下表(PC-1)進行密鑰變換得到56位的密鑰,在變換中,奇偶校驗位以被舍棄。

Permuted Choice 1 (PC-1)

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

1-2-2、將變換后的密鑰分為兩個部分,開始的28位稱為C[0],最后的28位稱為D[0]。

1-2-3、生成16個子密鑰,初始I=1。

1-2-3-1、同時將C[I]、D[I]左移1位或2位,根據I值決定左移的位數。見下表

I: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

左移位數: 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

1-2-3-2、將C[I]D[I]作為一個整體按下表(PC-2)變換,得到48位的K[I]

 

Permuted Choice 2 (PC-2)

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

1-2-3-3、從1-2-3-1處循環執行,直到K[16]被計算完成。


2、處理64位的數據

2-1、取得64位的數據,如果數據長度不足64位,應該將其擴展為64位(例如補零)

2-2、將64位數據按下表變換(IP)

Initial Permutation (IP)

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

2-3、將變換后的數據分為兩部分,開始的32位稱為L[0],最后的32位稱為R[0]。

2-4、用16個子密鑰加密數據,初始I=1。

2-4-1、將32位的R[I-1]按下表(E)擴展為48位的E[I-1]

Expansion (E)

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

2-4-2、異或E[I-1]和K[I],即E[I-1] XOR K[I]

2-4-3、將異或后的結果分為8個6位長的部分,第1位到第6位稱為B[1],第7位到第12位稱為B[2],依此類推,第43位到第48位稱為B[8]。

2-4-4、按S表變換所有的B[J],初始J=1。所有在S表的值都被當作4位長度處理。

2-4-4-1、將B[J]的第1位和第6位組合為一個2位長度的變量M,M作為在S[J]中的行號。

2-4-4-2、將B[J]的第2位到第5位組合,作為一個4位長度的變量N,N作為在S[J]中的列號。

2-4-4-3、用S[J][M][N]來取代B[J]。

Substitution Box 1 (S[1])

14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7

0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0

15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

S[2]

15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10

3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5

0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15

13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

S[3]

10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8

13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1

13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7

1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12

S[4]

7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15

13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9

10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4

3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

S[5]

2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9

14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6

4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14

11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

S[6]

12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11

10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8

9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6

4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

S[7]

4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1

13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6

1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2

6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

S[8]

13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7

1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2

7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8

2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

2-4-4-4、從2-4-4-1處循環執行,直到B[8]被替代完成。

2-4-4-5、將B[1]到B[8]組合,按下表(P)變換,得到P。

Permutation P

16 7 20 21

29 12 28 17

1 15 23 26

5 18 31 10

2 8 24 14

32 27 3 9

19 13 30 6

22 11 4 25

2-4-6、異或P和L[I-1]結果放在R[I],即R[I]=P XOR L[I-1]。

2-4-7、L[I]=R[I-1]

2-4-8、從2-4-1處開始循環執行,直到K[16]被變換完成。

2-4-5、組合變換后的R[16]L[16](注意:R作為開始的32位),按下表(IP-1)變換得到最后的結果。

Final Permutation (IP**-1)

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

*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久99久久| 欧美精品色一区二区三区| 精品国产一区二区三区忘忧草| 丝袜亚洲另类丝袜在线| 日韩一区二区精品| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美午夜精品免费| 亚洲蜜臀av乱码久久精品| 欧美亚洲国产怡红院影院| 日韩精品高清不卡| 久久婷婷综合激情| 国产成人av一区二区三区在线 | 日韩欧美国产系列| 狠狠色丁香久久婷婷综合_中| 国产欧美一区二区精品仙草咪| 成人黄色大片在线观看| 亚洲一区二三区| 精品sm在线观看| 99久久婷婷国产综合精品电影| 亚洲已满18点击进入久久| 欧美一区二区三区在线看| 粉嫩蜜臀av国产精品网站| 一区二区在线观看视频| 欧美大白屁股肥臀xxxxxx| 成人午夜免费视频| 日韩国产精品久久| 国产精品色婷婷| 欧美一级视频精品观看| 成人美女视频在线观看| 丁香网亚洲国际| 欧美日韩色综合| 国产乱码精品一区二区三区忘忧草| 一色屋精品亚洲香蕉网站| 91精品一区二区三区久久久久久| 国产精品主播直播| 日韩精品欧美成人高清一区二区| 国产欧美日韩亚州综合| 777奇米四色成人影色区| 成人国产精品免费观看动漫| 天天操天天综合网| 一区在线观看免费| 精品成人一区二区| 欧美日韩精品电影| 91首页免费视频| 国产剧情一区在线| 欧美bbbbb| 亚洲一二三四区不卡| 中文字幕+乱码+中文字幕一区| 欧美一卡2卡三卡4卡5免费| 99re这里只有精品视频首页| 韩国中文字幕2020精品| 视频一区欧美日韩| 一区二区三区在线视频播放| 国产精品久久看| 久久久久久**毛片大全| 欧美一区二区在线免费播放| 欧美午夜一区二区| 91高清视频在线| 99国产精品视频免费观看| 国产精品一区二区久久不卡| 麻豆精品久久久| 五月婷婷综合激情| 亚洲电影在线免费观看| 亚洲精品中文字幕乱码三区| 亚洲欧洲精品一区二区三区 | 日韩在线观看一区二区| 玉米视频成人免费看| 一区二区在线看| 一区二区三区四区国产精品| 亚洲日本在线观看| 亚洲欧洲av另类| 国产精品久久久久久久久久久免费看 | 九九精品一区二区| 亚洲风情在线资源站| 国产精品伦一区二区三级视频| 日韩精品一区二区三区视频播放 | 成人av网站在线观看| 粉嫩av一区二区三区| 国产福利不卡视频| 粉嫩绯色av一区二区在线观看| 国产激情视频一区二区在线观看 | 婷婷一区二区三区| 亚洲妇女屁股眼交7| 亚洲成人久久影院| 亚洲福利一区二区三区| 中文字幕在线不卡| 老汉av免费一区二区三区 | 成人av网站在线| 国产a级毛片一区| 美女尤物国产一区| 蜜桃一区二区三区在线| 日韩中文字幕av电影| 久久69国产一区二区蜜臀| 久久国产生活片100| 国产综合久久久久影院| 成人国产精品免费观看视频| 在线免费观看视频一区| 欧美日韩大陆一区二区| 欧美电视剧免费全集观看| 精品国产欧美一区二区| 欧美国产日韩亚洲一区| 一区二区三区在线免费观看| 蜜臀久久久久久久| 国产成人av电影| 在线影院国内精品| 日韩精品一区在线| 亚洲欧美欧美一区二区三区| 日韩av电影免费观看高清完整版| 韩国v欧美v亚洲v日本v| 91在线观看下载| 欧美一区永久视频免费观看| 国产三级三级三级精品8ⅰ区| 欧美日韩激情在线| 久久色中文字幕| 国产精品美女一区二区在线观看| 亚洲视频香蕉人妖| 美女尤物国产一区| 成人性生交大片免费看视频在线 | 久久综合久久鬼色中文字| 国产精品毛片久久久久久| 午夜精品福利一区二区蜜股av | 国产主播一区二区| 91亚洲国产成人精品一区二区三| 欧美日韩国产高清一区二区三区| 国产人伦精品一区二区| 亚洲线精品一区二区三区| 国产乱人伦偷精品视频免下载 | 97精品视频在线观看自产线路二| 91黄色免费观看| 欧美一区日韩一区| 亚洲日本在线观看| 国产另类ts人妖一区二区| 欧美日韩视频在线第一区| 国产午夜精品久久久久久久| 亚洲欧美视频在线观看视频| 国产麻豆视频一区| 欧美一区二区三区日韩视频| 伊人性伊人情综合网| 国产二区国产一区在线观看| 91精品国产综合久久久蜜臀图片| 1000部国产精品成人观看| 九九**精品视频免费播放| 欧美精品精品一区| 一区二区高清视频在线观看| 国产精品99久久久久久久vr| 69p69国产精品| 亚洲午夜久久久久久久久久久| 99re这里都是精品| 国产精品色一区二区三区| 国产又黄又大久久| 精品剧情在线观看| 日本va欧美va欧美va精品| 色久综合一二码| 亚洲精品视频在线| 久久香蕉国产线看观看99| 日本伊人色综合网| 欧美久久久久久蜜桃| 亚洲午夜免费电影| 91高清在线观看| 亚洲夂夂婷婷色拍ww47| 色综合网站在线| 亚洲欧美激情插| 色综合一个色综合| 国产欧美一区二区在线| 风间由美中文字幕在线看视频国产欧美| 91精品国产综合久久久蜜臀粉嫩| 五月综合激情日本mⅴ| 欧美日韩高清一区二区| 亚洲一区二区三区精品在线| 欧美无砖砖区免费| 亚洲成人免费看| 91精品国产全国免费观看| 奇米色一区二区三区四区| 日韩欧美一区在线| 久久av资源网| 精品国产一区二区在线观看| 精品一二线国产| 久久久蜜臀国产一区二区| 成人一区二区三区中文字幕| 中文字幕一区二区三区视频| 日本精品一级二级| 婷婷综合五月天| 精品国产一区二区亚洲人成毛片 | 国产精品一二三四五| 国产精品乱子久久久久| 在线亚洲人成电影网站色www| 亚洲在线一区二区三区| 在线观看av一区二区| 日本系列欧美系列| 国产清纯白嫩初高生在线观看91| 99久久精品国产观看| 亚洲午夜成aⅴ人片| 欧美一级高清片| 国产高清亚洲一区| 亚洲欧美日韩小说| 91.成人天堂一区| 国产乱一区二区| 亚洲午夜日本在线观看| 26uuu国产在线精品一区二区| 99国产精品久久久|