⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bbs水木清华站∶精华区cpp.htm

📁 用des算法加密文件的小程序
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY>
<CENTER>
<H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;orbix&nbsp;(小鱼),&nbsp;信区:&nbsp;Hacker&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;DES源程序之CPP&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Mon&nbsp;Apr&nbsp;20&nbsp;22:55:02&nbsp;1998)&nbsp;<BR>&nbsp;<BR>#include&nbsp;&lt;mem.h&gt;&nbsp;<BR>#include&nbsp;"des.h"&nbsp;<BR>&nbsp;<BR>int&nbsp;DES::encrypt&nbsp;(&nbsp;char&nbsp;key[8],&nbsp;char*&nbsp;data,&nbsp;int&nbsp;blocks&nbsp;)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;&nbsp;if&nbsp;((!data)||(blocks&lt;1))&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<BR>&nbsp;&nbsp;&nbsp;deskey&nbsp;(&nbsp;key,&nbsp;ENCRYPT&nbsp;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;des&nbsp;(&nbsp;data,&nbsp;data,&nbsp;blocks);&nbsp;<BR>&nbsp;&nbsp;&nbsp;return&nbsp;1;&nbsp;<BR>};&nbsp;<BR>&nbsp;<BR>int&nbsp;DES::decrypt&nbsp;(&nbsp;char&nbsp;key[8],&nbsp;char*&nbsp;data,&nbsp;int&nbsp;blocks&nbsp;)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;&nbsp;if&nbsp;((!data)||(blocks&lt;1))&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<BR>&nbsp;&nbsp;&nbsp;deskey&nbsp;(&nbsp;key,&nbsp;DECRYPT&nbsp;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;des&nbsp;(&nbsp;data,&nbsp;data,&nbsp;blocks);&nbsp;<BR>&nbsp;&nbsp;&nbsp;return&nbsp;1;&nbsp;<BR>};&nbsp;<BR>&nbsp;<BR>int&nbsp;DES::yencrypt&nbsp;(&nbsp;char&nbsp;key[8],&nbsp;char*&nbsp;data,&nbsp;int&nbsp;size&nbsp;)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;&nbsp;if&nbsp;((!data)||(size&lt;1))&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;last&nbsp;char&nbsp;of&nbsp;data&nbsp;is&nbsp;bitwise&nbsp;complemented&nbsp;and&nbsp;filled&nbsp;the&nbsp;rest&nbsp;<BR>&nbsp;&nbsp;&nbsp;//&nbsp;buffer.If&nbsp;size&nbsp;is&nbsp;16,&nbsp;it&nbsp;will&nbsp;extend&nbsp;to&nbsp;24,and&nbsp;17&nbsp;still&nbsp;24.&nbsp;<BR>&nbsp;&nbsp;&nbsp;char&nbsp;lastChar&nbsp;=&nbsp;*(data+size-1);&nbsp;<BR>&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;blocks&nbsp;=&nbsp;size/8+1;&nbsp;<BR>&nbsp;&nbsp;&nbsp;memset&nbsp;(data+size,&nbsp;~lastChar,&nbsp;blocks*8-size);&nbsp;<BR>&nbsp;&nbsp;&nbsp;deskey&nbsp;(&nbsp;key,&nbsp;ENCRYPT&nbsp;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;return&nbsp;encrypt&nbsp;(&nbsp;data,&nbsp;data,&nbsp;blocks);&nbsp;<BR>};&nbsp;<BR>&nbsp;<BR>int&nbsp;DES::ydecrypt&nbsp;(&nbsp;char&nbsp;key[8],&nbsp;char*&nbsp;data,&nbsp;int&nbsp;blocks,&nbsp;int*&nbsp;size&nbsp;)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;(!data)&nbsp;||&nbsp;(blocks&lt;1)&nbsp;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;deskey&nbsp;(&nbsp;key,&nbsp;DECRYPT&nbsp;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;!decrypt&nbsp;(&nbsp;data,&nbsp;data,&nbsp;blocks)&nbsp;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<BR>&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;size&nbsp;!=&nbsp;0&nbsp;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;pos&nbsp;=&nbsp;blocks*8-1;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;endChar&nbsp;=&nbsp;data[pos];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;((pos&gt;0)&amp;&amp;(data[pos]==endChar))&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pos--;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(&nbsp;data[pos]&nbsp;!=&nbsp;~endChar&nbsp;)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*size&nbsp;=&nbsp;pos+1;&nbsp;<BR>&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;return&nbsp;1;&nbsp;<BR>};&nbsp;<BR>&nbsp;<BR>//&nbsp;-----------------------------------------------------------------------&nbsp;<BR>//&nbsp;des&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encrpts/Decrypts(according&nbsp;to&nbsp;the&nbsp;key&nbsp;currently&nbsp;loaded&nbsp;int&nbsp;the&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;internal&nbsp;key&nbsp;register)&nbsp;SOME&nbsp;blocks&nbsp;of&nbsp;eight&nbsp;bytes&nbsp;at&nbsp;address&nbsp;'in'&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;into&nbsp;the&nbsp;block&nbsp;at&nbsp;address&nbsp;'out'.&nbsp;They&nbsp;can&nbsp;be&nbsp;the&nbsp;same.&nbsp;<BR>//&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"in"&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"out"&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"block"&nbsp;&nbsp;Number&nbsp;of&nbsp;blocks.&nbsp;<BR>//&nbsp;-----------------------------------------------------------------------&nbsp;<BR>void&nbsp;DES::des&nbsp;(&nbsp;unsigned&nbsp;char*&nbsp;in,&nbsp;unsigned&nbsp;char*&nbsp;out,&nbsp;int&nbsp;blocks&nbsp;)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;blocks;&nbsp;i++,in+=8,out+=8)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;des_block(in,out);&nbsp;<BR>};&nbsp;<BR>&nbsp;<BR>//&nbsp;-----------------------------------------------------------------------&nbsp;<BR>//&nbsp;des_block&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encrpts/Decrypts(according&nbsp;to&nbsp;the&nbsp;key&nbsp;currently&nbsp;loaded&nbsp;int&nbsp;the&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;internal&nbsp;key&nbsp;register)&nbsp;one&nbsp;block&nbsp;of&nbsp;eight&nbsp;bytes&nbsp;at&nbsp;address&nbsp;'in'&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;into&nbsp;the&nbsp;block&nbsp;at&nbsp;address&nbsp;'out'.&nbsp;They&nbsp;can&nbsp;be&nbsp;the&nbsp;same.&nbsp;<BR>//&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"in"&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"out"&nbsp;<BR>//&nbsp;-----------------------------------------------------------------------&nbsp;<BR>void&nbsp;DES::des_block(unsigned&nbsp;char&nbsp;*in,&nbsp;unsigned&nbsp;char&nbsp;*out)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;unsigned&nbsp;long&nbsp;work[2];&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;scrunch(in,&nbsp;work);&nbsp;<BR>&nbsp;&nbsp;desfunc(work,&nbsp;KnL);&nbsp;<BR>&nbsp;&nbsp;unscrun(work,&nbsp;out);&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>//&nbsp;----------------------------------------------------------------------&nbsp;<BR>//&nbsp;deskey&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets&nbsp;the&nbsp;internal&nbsp;key&nbsp;register&nbsp;(KnR)&nbsp;according&nbsp;to&nbsp;the&nbsp;hexadecimal&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key&nbsp;contained&nbsp;in&nbsp;the&nbsp;8&nbsp;bytes&nbsp;of&nbsp;hexkey,&nbsp;according&nbsp;to&nbsp;the&nbsp;DES,&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;encryption&nbsp;or&nbsp;decrytion&nbsp;according&nbsp;to&nbsp;MODE&nbsp;<BR>//&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"key"&nbsp;is&nbsp;the&nbsp;64&nbsp;bits&nbsp;key.&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"md"&nbsp;&nbsp;means&nbsp;encryption&nbsp;or&nbsp;decryption.&nbsp;<BR>//&nbsp;----------------------------------------------------------------------&nbsp;<BR>void&nbsp;DES::deskey(unsigned&nbsp;char&nbsp;key[8],&nbsp;Mode&nbsp;md)&nbsp;&nbsp;/*&nbsp;Thanks&nbsp;to&nbsp;James&nbsp;Gillogly&nbsp;&amp;&nbsp;Phil&nbsp;Karn!&nbsp;*/&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;register&nbsp;int&nbsp;i,&nbsp;j,&nbsp;l,&nbsp;m,&nbsp;n;&nbsp;<BR>&nbsp;&nbsp;unsigned&nbsp;char&nbsp;pc1m[56],&nbsp;pcr[56];&nbsp;<BR>&nbsp;&nbsp;unsigned&nbsp;long&nbsp;kn[32];&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;for&nbsp;(j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;56;&nbsp;j++)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;=&nbsp;pc1[j];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;=&nbsp;l&nbsp;&amp;&nbsp;07;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pc1m[j]&nbsp;=&nbsp;(key[l&nbsp;&gt;&gt;&nbsp;3]&nbsp;&amp;&nbsp;bytebit[m])&nbsp;?&nbsp;1:0;&nbsp;<BR>&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;16;&nbsp;i++)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(md&nbsp;==&nbsp;DECRYPT)&nbsp;m&nbsp;=&nbsp;(15&nbsp;-&nbsp;i)&nbsp;&lt;&lt;&nbsp;1;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;m&nbsp;=&nbsp;i&nbsp;&lt;&lt;&nbsp;1;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;m&nbsp;+&nbsp;1;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kn[m]&nbsp;=&nbsp;kn[n]&nbsp;=&nbsp;0L;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;28;&nbsp;j++)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;=&nbsp;j&nbsp;+&nbsp;totrot[i];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(l&nbsp;&lt;&nbsp;28)&nbsp;pcr[j]&nbsp;=&nbsp;pc1m[l];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;pcr[j]&nbsp;=&nbsp;pc1m[l&nbsp;-&nbsp;28];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(j&nbsp;=&nbsp;28;&nbsp;j&nbsp;&lt;&nbsp;56;&nbsp;j++)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l&nbsp;=&nbsp;j&nbsp;+&nbsp;totrot[i];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(l&nbsp;&lt;&nbsp;56)&nbsp;pcr[j]&nbsp;=&nbsp;pc1m[l];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;pcr[j]&nbsp;=&nbsp;pc1m[l&nbsp;-&nbsp;28];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;24;&nbsp;j++)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(pcr[&nbsp;pc2[j]&nbsp;])&nbsp;kn[m]&nbsp;|=&nbsp;bigbyte[j];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(pcr[&nbsp;pc2[j+24]&nbsp;])&nbsp;kn[n]&nbsp;|=&nbsp;bigbyte[j];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;cookey(kn);&nbsp;<BR>&nbsp;&nbsp;return;&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>//&nbsp;----------------------------------------------------------------------&nbsp;<BR>//&nbsp;cookey&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Only&nbsp;called&nbsp;by&nbsp;deskey.&nbsp;<BR>//&nbsp;-----------------------------------------------------------------------&nbsp;<BR>void&nbsp;DES::cookey(register&nbsp;unsigned&nbsp;long&nbsp;*raw1)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;register&nbsp;unsigned&nbsp;long&nbsp;*cook,&nbsp;*raw0;&nbsp;<BR>&nbsp;&nbsp;unsigned&nbsp;long&nbsp;dough[32];&nbsp;<BR>&nbsp;&nbsp;register&nbsp;int&nbsp;i;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;cook&nbsp;=&nbsp;dough;&nbsp;<BR>&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;16;&nbsp;i++,&nbsp;raw1++)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;raw0&nbsp;=&nbsp;raw1++;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*cook&nbsp;=&nbsp;(*raw0&nbsp;&amp;&nbsp;0x00fc0000L)&nbsp;&lt;&lt;&nbsp;6;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*cook&nbsp;|=&nbsp;(*raw0&nbsp;&amp;&nbsp;0x00000fc0L)&nbsp;&lt;&lt;&nbsp;10;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*cook&nbsp;|=&nbsp;(*raw1&nbsp;&amp;&nbsp;0x00fc0000L)&nbsp;&gt;&gt;&nbsp;10;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*cook++&nbsp;|=&nbsp;(*raw1&nbsp;&amp;&nbsp;0x00000fc0L)&nbsp;&gt;&gt;&nbsp;6;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*cook&nbsp;=&nbsp;(*raw0&nbsp;&amp;&nbsp;0x0003f000L)&nbsp;&lt;&lt;&nbsp;12;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*cook&nbsp;|=&nbsp;(*raw0&nbsp;&amp;&nbsp;0x0000003fL)&nbsp;&lt;&lt;&nbsp;16;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*cook&nbsp;|=&nbsp;(*raw1&nbsp;&amp;&nbsp;0x0003f000L)&nbsp;&gt;&gt;&nbsp;4;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;*cook++&nbsp;|=&nbsp;(*raw1&nbsp;&amp;&nbsp;0x0000003fL);&nbsp;<BR>&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;usekey(dough);&nbsp;<BR>&nbsp;&nbsp;return;&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>//&nbsp;----------------------------------------------------------------------&nbsp;<BR>//&nbsp;usekey&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Only&nbsp;called&nbsp;by&nbsp;cookey.&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loads&nbsp;the&nbsp;interal&nbsp;key&nbsp;register&nbsp;with&nbsp;the&nbsp;data&nbsp;in&nbsp;cookedkey.&nbsp;<BR>//&nbsp;-----------------------------------------------------------------------&nbsp;<BR>void&nbsp;DES::usekey(register&nbsp;unsigned&nbsp;long&nbsp;*from)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;register&nbsp;unsigned&nbsp;long&nbsp;*to,&nbsp;*endp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;to&nbsp;=&nbsp;KnL,&nbsp;endp&nbsp;=&nbsp;&amp;KnL[32];&nbsp;<BR>&nbsp;&nbsp;while&nbsp;(to&nbsp;&lt;&nbsp;endp)&nbsp;*to++&nbsp;=&nbsp;*from++;&nbsp;<BR>&nbsp;&nbsp;return;&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>void&nbsp;DES::scrunch(register&nbsp;unsigned&nbsp;char&nbsp;*outof,&nbsp;register&nbsp;unsigned&nbsp;long&nbsp;*into&nbsp;)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;*into&nbsp;=&nbsp;(*outof++&nbsp;&amp;&nbsp;0xffL)&nbsp;&lt;&lt;&nbsp;24;&nbsp;<BR>&nbsp;&nbsp;*into&nbsp;|=&nbsp;(*outof++&nbsp;&amp;&nbsp;0xffL)&nbsp;&lt;&lt;&nbsp;16;&nbsp;<BR>&nbsp;&nbsp;*into&nbsp;|=&nbsp;(*outof++&nbsp;&amp;&nbsp;0xffL)&nbsp;&lt;&lt;&nbsp;8;&nbsp;<BR>&nbsp;&nbsp;*into++&nbsp;|=&nbsp;(*outof++&nbsp;&amp;&nbsp;0xffL);&nbsp;<BR>&nbsp;&nbsp;*into&nbsp;=&nbsp;(*outof++&nbsp;&amp;&nbsp;0xffL)&nbsp;&lt;&lt;&nbsp;24;&nbsp;<BR>&nbsp;&nbsp;*into&nbsp;|=&nbsp;(*outof++&nbsp;&amp;&nbsp;0xffL)&nbsp;&lt;&lt;&nbsp;16;&nbsp;<BR>&nbsp;&nbsp;*into&nbsp;|=&nbsp;(*outof++&nbsp;&amp;&nbsp;0xffL)&nbsp;&lt;&lt;&nbsp;8;&nbsp;<BR>&nbsp;&nbsp;*into&nbsp;|=&nbsp;(*outof&nbsp;&amp;&nbsp;0xffL);&nbsp;<BR>&nbsp;&nbsp;return;&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>void&nbsp;DES::unscrun(register&nbsp;unsigned&nbsp;long&nbsp;*outof,&nbsp;register&nbsp;unsigned&nbsp;char&nbsp;*into)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;*into++&nbsp;=&nbsp;(*outof&nbsp;&gt;&gt;&nbsp;24)&nbsp;&amp;&nbsp;0xffL;&nbsp;<BR>&nbsp;&nbsp;*into++&nbsp;=&nbsp;(*outof&nbsp;&gt;&gt;&nbsp;16)&nbsp;&amp;&nbsp;0xffL;&nbsp;<BR>&nbsp;&nbsp;*into++&nbsp;=&nbsp;(*outof&nbsp;&gt;&gt;&nbsp;8)&nbsp;&amp;&nbsp;0xffL;&nbsp;<BR>&nbsp;&nbsp;*into++&nbsp;=&nbsp;*outof++&nbsp;&amp;&nbsp;0xffL;&nbsp;<BR>&nbsp;&nbsp;*into++&nbsp;=&nbsp;(*outof&nbsp;&gt;&gt;&nbsp;24)&nbsp;&amp;&nbsp;0xffL;&nbsp;<BR>&nbsp;&nbsp;*into++&nbsp;=&nbsp;(*outof&nbsp;&gt;&gt;&nbsp;16)&nbsp;&amp;&nbsp;0xffL;&nbsp;<BR>&nbsp;&nbsp;*into++&nbsp;=&nbsp;(*outof&nbsp;&gt;&gt;&nbsp;8)&nbsp;&amp;&nbsp;0xffL;&nbsp;<BR>&nbsp;&nbsp;*into&nbsp;=&nbsp;*outof&nbsp;&amp;&nbsp;0xffL;&nbsp;<BR>&nbsp;&nbsp;return;&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>void&nbsp;DES::desfunc(register&nbsp;unsigned&nbsp;long&nbsp;*block,register&nbsp;unsigned&nbsp;long&nbsp;*keys)&nbsp;<BR>{&nbsp;<BR>&nbsp;&nbsp;register&nbsp;unsigned&nbsp;long&nbsp;fval,&nbsp;work,&nbsp;right,&nbsp;leftt;&nbsp;<BR>&nbsp;&nbsp;register&nbsp;int&nbsp;round;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;=&nbsp;block[0];&nbsp;<BR>&nbsp;&nbsp;right&nbsp;=&nbsp;block[1];&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;((leftt&nbsp;&gt;&gt;&nbsp;4)&nbsp;^&nbsp;right)&nbsp;&amp;&nbsp;0x0f0f0f0fL;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;(work&nbsp;&lt;&lt;&nbsp;4);&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;((leftt&nbsp;&gt;&gt;&nbsp;16)&nbsp;^&nbsp;right)&nbsp;&amp;&nbsp;0x0000ffffL;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;(work&nbsp;&lt;&lt;&nbsp;16);&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;((right&nbsp;&gt;&gt;&nbsp;2)&nbsp;^&nbsp;leftt)&nbsp;&amp;&nbsp;0x33333333L;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;(work&nbsp;&lt;&lt;&nbsp;2);&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;((right&nbsp;&gt;&gt;&nbsp;8)&nbsp;^&nbsp;leftt)&nbsp;&amp;&nbsp;0x00ff00ffL;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;(work&nbsp;&lt;&lt;&nbsp;8);&nbsp;<BR>&nbsp;&nbsp;right&nbsp;=&nbsp;((right&nbsp;&lt;&lt;&nbsp;1)&nbsp;|&nbsp;((right&nbsp;&gt;&gt;&nbsp;31)&nbsp;&amp;&nbsp;1L))&nbsp;&amp;&nbsp;0xffffffffL;&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;(leftt&nbsp;^&nbsp;right)&nbsp;&amp;&nbsp;0xaaaaaaaaL;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;=&nbsp;((leftt&nbsp;&lt;&lt;&nbsp;1)&nbsp;|&nbsp;((leftt&nbsp;&gt;&gt;&nbsp;31)&nbsp;&amp;&nbsp;1L))&nbsp;&amp;&nbsp;0xffffffffL;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;for&nbsp;(round&nbsp;=&nbsp;0;&nbsp;round&nbsp;&lt;&nbsp;8;&nbsp;round++)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;work&nbsp;=&nbsp;(right&nbsp;&lt;&lt;&nbsp;28)&nbsp;|&nbsp;(right&nbsp;&gt;&gt;&nbsp;4);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;work&nbsp;^=&nbsp;*keys++;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;&nbsp;=&nbsp;SP7[work&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP5[(work&nbsp;&gt;&gt;&nbsp;&nbsp;8)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP3[(work&nbsp;&gt;&gt;&nbsp;16)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP1[(work&nbsp;&gt;&gt;&nbsp;24)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;work&nbsp;=&nbsp;right&nbsp;^&nbsp;*keys++;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP8[work&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP6[(work&nbsp;&gt;&gt;&nbsp;&nbsp;8)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP4[(work&nbsp;&gt;&gt;&nbsp;16)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP2[(work&nbsp;&gt;&gt;&nbsp;24)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;leftt&nbsp;^=&nbsp;fval;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;work&nbsp;=&nbsp;(leftt&nbsp;&lt;&lt;&nbsp;28)&nbsp;|&nbsp;(leftt&nbsp;&gt;&gt;&nbsp;4);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;work&nbsp;^=&nbsp;*keys++;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;&nbsp;=&nbsp;SP7[work&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP5[(work&nbsp;&gt;&gt;&nbsp;&nbsp;8)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP3[(work&nbsp;&gt;&gt;&nbsp;16)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP1[(work&nbsp;&gt;&gt;&nbsp;24)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;work&nbsp;=&nbsp;leftt&nbsp;^&nbsp;*keys++;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP8[work&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP6[(work&nbsp;&gt;&gt;&nbsp;&nbsp;8)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP4[(work&nbsp;&gt;&gt;&nbsp;16)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fval&nbsp;|=&nbsp;SP2[(work&nbsp;&gt;&gt;&nbsp;24)&nbsp;&amp;&nbsp;0x3fL];&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;right&nbsp;^=&nbsp;fval;&nbsp;<BR>&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;right&nbsp;=&nbsp;(right&nbsp;&lt;&lt;&nbsp;31)&nbsp;|&nbsp;(right&nbsp;&gt;&gt;&nbsp;1);&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;(leftt&nbsp;^&nbsp;right)&nbsp;&amp;&nbsp;0xaaaaaaaaL;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;=&nbsp;(leftt&nbsp;&lt;&lt;&nbsp;31)&nbsp;|&nbsp;(&nbsp;leftt&nbsp;&gt;&gt;&nbsp;1);&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;((leftt&nbsp;&gt;&gt;&nbsp;8)&nbsp;^&nbsp;right)&nbsp;&amp;&nbsp;0x00ff00ffL;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;(work&nbsp;&lt;&lt;&nbsp;8);&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;((leftt&nbsp;&gt;&gt;&nbsp;2)&nbsp;^&nbsp;right)&nbsp;&amp;&nbsp;0x33333333L;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;(work&nbsp;&lt;&lt;&nbsp;2);&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;((right&nbsp;&gt;&gt;&nbsp;16)&nbsp;^&nbsp;leftt)&nbsp;&amp;&nbsp;0x0000ffffL;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;(work&nbsp;&lt;&lt;&nbsp;16);&nbsp;<BR>&nbsp;&nbsp;work&nbsp;=&nbsp;((right&nbsp;&gt;&gt;&nbsp;4)&nbsp;^&nbsp;leftt)&nbsp;&amp;&nbsp;0x0f0f0f0fL;&nbsp;<BR>&nbsp;&nbsp;leftt&nbsp;^=&nbsp;work;&nbsp;<BR>&nbsp;&nbsp;right&nbsp;^=&nbsp;(work&nbsp;&lt;&lt;&nbsp;4);&nbsp;<BR>&nbsp;&nbsp;*block++&nbsp;=&nbsp;right;&nbsp;<BR>&nbsp;&nbsp;*block&nbsp;=&nbsp;leftt;&nbsp;<BR>&nbsp;&nbsp;return;&nbsp;<BR>}&nbsp;<BR>&nbsp;<BR>//&nbsp;-----------------------------------------------------------------------&nbsp;<BR>//&nbsp;Initial&nbsp;of&nbsp;static&nbsp;data&nbsp;members.&nbsp;These&nbsp;data&nbsp;will&nbsp;be&nbsp;used&nbsp;by&nbsp;all&nbsp;the&nbsp;<BR>//&nbsp;instances&nbsp;of&nbsp;class,and&nbsp;can&nbsp;not&nbsp;be&nbsp;changed.&nbsp;<BR>//&nbsp;-----------------------------------------------------------------------&nbsp;<BR>unsigned&nbsp;char&nbsp;DES::Df_Key[24]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01,&nbsp;0x23,&nbsp;0x45,&nbsp;0x67,&nbsp;0x89,&nbsp;0xab,&nbsp;0xcd,&nbsp;0xef,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xfe,&nbsp;0xdc,&nbsp;0xba,&nbsp;0x98,&nbsp;0x76,&nbsp;0x54,&nbsp;0x32,&nbsp;0x10,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x89,&nbsp;0xab,&nbsp;0xcd,&nbsp;0xef,&nbsp;0x01,&nbsp;0x23,&nbsp;0x45,&nbsp;0x67&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;short&nbsp;DES::bytebit[8]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0200,&nbsp;0100,&nbsp;040,&nbsp;020,&nbsp;010,&nbsp;04,&nbsp;02,&nbsp;01&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::bigbyte[24]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x800000L,&nbsp;0x400000L,&nbsp;0x200000L,&nbsp;0x100000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80000L,&nbsp;&nbsp;0x40000L,&nbsp;&nbsp;0x20000L,&nbsp;&nbsp;0x10000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x8000L,&nbsp;&nbsp;&nbsp;0x4000L,&nbsp;&nbsp;&nbsp;0x2000L,&nbsp;&nbsp;&nbsp;0x1000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x800L,&nbsp;&nbsp;&nbsp;&nbsp;0x400L,&nbsp;&nbsp;&nbsp;&nbsp;0x200L,&nbsp;&nbsp;&nbsp;&nbsp;0x100L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80L,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40L,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20L,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x8L,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x4L,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x2L,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1L&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;char&nbsp;DES::pc1[56]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;56,&nbsp;48,&nbsp;40,&nbsp;32,&nbsp;24,&nbsp;16,&nbsp;&nbsp;8,&nbsp;&nbsp;0,&nbsp;57,&nbsp;49,&nbsp;41,&nbsp;33,&nbsp;25,&nbsp;17,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9,&nbsp;&nbsp;1,&nbsp;58,&nbsp;50,&nbsp;42,&nbsp;34,&nbsp;26,&nbsp;18,&nbsp;10,&nbsp;&nbsp;2,&nbsp;59,&nbsp;51,&nbsp;43,&nbsp;35,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;62,&nbsp;54,&nbsp;46,&nbsp;38,&nbsp;30,&nbsp;22,&nbsp;14,&nbsp;&nbsp;6,&nbsp;61,&nbsp;53,&nbsp;45,&nbsp;37,&nbsp;29,&nbsp;21,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13,&nbsp;&nbsp;5,&nbsp;60,&nbsp;52,&nbsp;44,&nbsp;36,&nbsp;28,&nbsp;20,&nbsp;12,&nbsp;&nbsp;4,&nbsp;27,&nbsp;19,&nbsp;11,&nbsp;3&nbsp;&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;char&nbsp;DES::totrot[16]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1,&nbsp;2,&nbsp;4,&nbsp;6,&nbsp;8,&nbsp;10,&nbsp;12,&nbsp;14,&nbsp;15,&nbsp;17,&nbsp;19,&nbsp;21,&nbsp;23,&nbsp;25,&nbsp;27,&nbsp;28&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;char&nbsp;DES::pc2[48]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13,&nbsp;16,&nbsp;10,&nbsp;23,&nbsp;&nbsp;0,&nbsp;&nbsp;4,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,&nbsp;27,&nbsp;14,&nbsp;&nbsp;5,&nbsp;20,&nbsp;&nbsp;9,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22,&nbsp;18,&nbsp;11,&nbsp;&nbsp;3,&nbsp;25,&nbsp;&nbsp;7,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15,&nbsp;&nbsp;6,&nbsp;26,&nbsp;19,&nbsp;12,&nbsp;&nbsp;1,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40,&nbsp;51,&nbsp;30,&nbsp;36,&nbsp;46,&nbsp;54,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29,&nbsp;39,&nbsp;50,&nbsp;44,&nbsp;32,&nbsp;47,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;43,&nbsp;48,&nbsp;38,&nbsp;55,&nbsp;33,&nbsp;52,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;45,&nbsp;41,&nbsp;49,&nbsp;35,&nbsp;28,&nbsp;31&nbsp;&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::SP1[64]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01010400L,&nbsp;0x00000000L,&nbsp;0x00010000L,&nbsp;0x01010404L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01010004L,&nbsp;0x00010404L,&nbsp;0x00000004L,&nbsp;0x00010000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000400L,&nbsp;0x01010400L,&nbsp;0x01010404L,&nbsp;0x00000400L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01000404L,&nbsp;0x01010004L,&nbsp;0x01000000L,&nbsp;0x00000004L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000404L,&nbsp;0x01000400L,&nbsp;0x01000400L,&nbsp;0x00010400L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00010400L,&nbsp;0x01010000L,&nbsp;0x01010000L,&nbsp;0x01000404L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00010004L,&nbsp;0x01000004L,&nbsp;0x01000004L,&nbsp;0x00010004L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000L,&nbsp;0x00000404L,&nbsp;0x00010404L,&nbsp;0x01000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00010000L,&nbsp;0x01010404L,&nbsp;0x00000004L,&nbsp;0x01010000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01010400L,&nbsp;0x01000000L,&nbsp;0x01000000L,&nbsp;0x00000400L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01010004L,&nbsp;0x00010000L,&nbsp;0x00010400L,&nbsp;0x01000004L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000400L,&nbsp;0x00000004L,&nbsp;0x01000404L,&nbsp;0x00010404L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01010404L,&nbsp;0x00010004L,&nbsp;0x01010000L,&nbsp;0x01000404L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01000004L,&nbsp;0x00000404L,&nbsp;0x00010404L,&nbsp;0x01010400L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000404L,&nbsp;0x01000400L,&nbsp;0x01000400L,&nbsp;0x00000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00010004L,&nbsp;0x00010400L,&nbsp;0x00000000L,&nbsp;0x01010004L&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::SP2[64]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80108020L,&nbsp;0x80008000L,&nbsp;0x00008000L,&nbsp;0x00108020L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00100000L,&nbsp;0x00000020L,&nbsp;0x80100020L,&nbsp;0x80008020L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80000020L,&nbsp;0x80108020L,&nbsp;0x80108000L,&nbsp;0x80000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80008000L,&nbsp;0x00100000L,&nbsp;0x00000020L,&nbsp;0x80100020L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00108000L,&nbsp;0x00100020L,&nbsp;0x80008020L,&nbsp;0x00000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80000000L,&nbsp;0x00008000L,&nbsp;0x00108020L,&nbsp;0x80100000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00100020L,&nbsp;0x80000020L,&nbsp;0x00000000L,&nbsp;0x00108000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00008020L,&nbsp;0x80108000L,&nbsp;0x80100000L,&nbsp;0x00008020L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000L,&nbsp;0x00108020L,&nbsp;0x80100020L,&nbsp;0x00100000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80008020L,&nbsp;0x80100000L,&nbsp;0x80108000L,&nbsp;0x00008000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80100000L,&nbsp;0x80008000L,&nbsp;0x00000020L,&nbsp;0x80108020L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00108020L,&nbsp;0x00000020L,&nbsp;0x00008000L,&nbsp;0x80000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00008020L,&nbsp;0x80108000L,&nbsp;0x00100000L,&nbsp;0x80000020L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00100020L,&nbsp;0x80008020L,&nbsp;0x80000020L,&nbsp;0x00100020L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00108000L,&nbsp;0x00000000L,&nbsp;0x80008000L,&nbsp;0x00008020L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80000000L,&nbsp;0x80100020L,&nbsp;0x80108020L,&nbsp;0x00108000L&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::SP3[64]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000208L,&nbsp;0x08020200L,&nbsp;0x00000000L,&nbsp;0x08020008L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08000200L,&nbsp;0x00000000L,&nbsp;0x00020208L,&nbsp;0x08000200L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00020008L,&nbsp;0x08000008L,&nbsp;0x08000008L,&nbsp;0x00020000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08020208L,&nbsp;0x00020008L,&nbsp;0x08020000L,&nbsp;0x00000208L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08000000L,&nbsp;0x00000008L,&nbsp;0x08020200L,&nbsp;0x00000200L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00020200L,&nbsp;0x08020000L,&nbsp;0x08020008L,&nbsp;0x00020208L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08000208L,&nbsp;0x00020200L,&nbsp;0x00020000L,&nbsp;0x08000208L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000008L,&nbsp;0x08020208L,&nbsp;0x00000200L,&nbsp;0x08000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08020200L,&nbsp;0x08000000L,&nbsp;0x00020008L,&nbsp;0x00000208L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00020000L,&nbsp;0x08020200L,&nbsp;0x08000200L,&nbsp;0x00000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000200L,&nbsp;0x00020008L,&nbsp;0x08020208L,&nbsp;0x08000200L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08000008L,&nbsp;0x00000200L,&nbsp;0x00000000L,&nbsp;0x08020008L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08000208L,&nbsp;0x00020000L,&nbsp;0x08000000L,&nbsp;0x08020208L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000008L,&nbsp;0x00020208L,&nbsp;0x00020200L,&nbsp;0x08000008L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08020000L,&nbsp;0x08000208L,&nbsp;0x00000208L,&nbsp;0x08020000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00020208L,&nbsp;0x00000008L,&nbsp;0x08020008L,&nbsp;0x00020200L&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::SP4[64]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00802001L,&nbsp;0x00002081L,&nbsp;0x00002081L,&nbsp;0x00000080L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00802080L,&nbsp;0x00800081L,&nbsp;0x00800001L,&nbsp;0x00002001L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000L,&nbsp;0x00802000L,&nbsp;0x00802000L,&nbsp;0x00802081L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000081L,&nbsp;0x00000000L,&nbsp;0x00800080L,&nbsp;0x00800001L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000001L,&nbsp;0x00002000L,&nbsp;0x00800000L,&nbsp;0x00802001L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000080L,&nbsp;0x00800000L,&nbsp;0x00002001L,&nbsp;0x00002080L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00800081L,&nbsp;0x00000001L,&nbsp;0x00002080L,&nbsp;0x00800080L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00002000L,&nbsp;0x00802080L,&nbsp;0x00802081L,&nbsp;0x00000081L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00800080L,&nbsp;0x00800001L,&nbsp;0x00802000L,&nbsp;0x00802081L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000081L,&nbsp;0x00000000L,&nbsp;0x00000000L,&nbsp;0x00802000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00002080L,&nbsp;0x00800080L,&nbsp;0x00800081L,&nbsp;0x00000001L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00802001L,&nbsp;0x00002081L,&nbsp;0x00002081L,&nbsp;0x00000080L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00802081L,&nbsp;0x00000081L,&nbsp;0x00000001L,&nbsp;0x00002000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00800001L,&nbsp;0x00002001L,&nbsp;0x00802080L,&nbsp;0x00800081L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00002001L,&nbsp;0x00002080L,&nbsp;0x00800000L,&nbsp;0x00802001L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000080L,&nbsp;0x00800000L,&nbsp;0x00002000L,&nbsp;0x00802080L&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::SP5[64]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000100L,&nbsp;0x02080100L,&nbsp;0x02080000L,&nbsp;0x42000100L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00080000L,&nbsp;0x00000100L,&nbsp;0x40000000L,&nbsp;0x02080000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40080100L,&nbsp;0x00080000L,&nbsp;0x02000100L,&nbsp;0x40080100L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x42000100L,&nbsp;0x42080000L,&nbsp;0x00080100L,&nbsp;0x40000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x02000000L,&nbsp;0x40080000L,&nbsp;0x40080000L,&nbsp;0x00000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40000100L,&nbsp;0x42080100L,&nbsp;0x42080100L,&nbsp;0x02000100L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x42080000L,&nbsp;0x40000100L,&nbsp;0x00000000L,&nbsp;0x42000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x02080100L,&nbsp;0x02000000L,&nbsp;0x42000000L,&nbsp;0x00080100L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00080000L,&nbsp;0x42000100L,&nbsp;0x00000100L,&nbsp;0x02000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40000000L,&nbsp;0x02080000L,&nbsp;0x42000100L,&nbsp;0x40080100L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x02000100L,&nbsp;0x40000000L,&nbsp;0x42080000L,&nbsp;0x02080100L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40080100L,&nbsp;0x00000100L,&nbsp;0x02000000L,&nbsp;0x42080000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x42080100L,&nbsp;0x00080100L,&nbsp;0x42000000L,&nbsp;0x42080100L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x02080000L,&nbsp;0x00000000L,&nbsp;0x40080000L,&nbsp;0x42000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00080100L,&nbsp;0x02000100L,&nbsp;0x40000100L,&nbsp;0x00080000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000L,&nbsp;0x40080000L,&nbsp;0x02080100L,&nbsp;0x40000100L&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::SP6[64]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20000010L,&nbsp;0x20400000L,&nbsp;0x00004000L,&nbsp;0x20404010L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20400000L,&nbsp;0x00000010L,&nbsp;0x20404010L,&nbsp;0x00400000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20004000L,&nbsp;0x00404010L,&nbsp;0x00400000L,&nbsp;0x20000010L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00400010L,&nbsp;0x20004000L,&nbsp;0x20000000L,&nbsp;0x00004010L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000L,&nbsp;0x00400010L,&nbsp;0x20004010L,&nbsp;0x00004000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00404000L,&nbsp;0x20004010L,&nbsp;0x00000010L,&nbsp;0x20400010L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20400010L,&nbsp;0x00000000L,&nbsp;0x00404010L,&nbsp;0x20404000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00004010L,&nbsp;0x00404000L,&nbsp;0x20404000L,&nbsp;0x20000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20004000L,&nbsp;0x00000010L,&nbsp;0x20400010L,&nbsp;0x00404000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20404010L,&nbsp;0x00400000L,&nbsp;0x00004010L,&nbsp;0x20000010L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00400000L,&nbsp;0x20004000L,&nbsp;0x20000000L,&nbsp;0x00004010L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20000010L,&nbsp;0x20404010L,&nbsp;0x00404000L,&nbsp;0x20400000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00404010L,&nbsp;0x20404000L,&nbsp;0x00000000L,&nbsp;0x20400010L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000010L,&nbsp;0x00004000L,&nbsp;0x20400000L,&nbsp;0x00404010L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00004000L,&nbsp;0x00400010L,&nbsp;0x20004010L,&nbsp;0x00000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x20404000L,&nbsp;0x20000000L,&nbsp;0x00400010L,&nbsp;0x20004010L&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::SP7[64]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00200000L,&nbsp;0x04200002L,&nbsp;0x04000802L,&nbsp;0x00000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000800L,&nbsp;0x04000802L,&nbsp;0x00200802L,&nbsp;0x04200800L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04200802L,&nbsp;0x00200000L,&nbsp;0x00000000L,&nbsp;0x04000002L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000002L,&nbsp;0x04000000L,&nbsp;0x04200002L,&nbsp;0x00000802L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04000800L,&nbsp;0x00200802L,&nbsp;0x00200002L,&nbsp;0x04000800L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04000002L,&nbsp;0x04200000L,&nbsp;0x04200800L,&nbsp;0x00200002L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04200000L,&nbsp;0x00000800L,&nbsp;0x00000802L,&nbsp;0x04200802L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00200800L,&nbsp;0x00000002L,&nbsp;0x04000000L,&nbsp;0x00200800L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04000000L,&nbsp;0x00200800L,&nbsp;0x00200000L,&nbsp;0x04000802L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04000802L,&nbsp;0x04200002L,&nbsp;0x04200002L,&nbsp;0x00000002L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00200002L,&nbsp;0x04000000L,&nbsp;0x04000800L,&nbsp;0x00200000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04200800L,&nbsp;0x00000802L,&nbsp;0x00200802L,&nbsp;0x04200800L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000802L,&nbsp;0x04000002L,&nbsp;0x04200802L,&nbsp;0x04200000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00200800L,&nbsp;0x00000000L,&nbsp;0x00000002L,&nbsp;0x04200802L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000L,&nbsp;0x00200802L,&nbsp;0x04200000L,&nbsp;0x00000800L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04000002L,&nbsp;0x04000800L,&nbsp;0x00000800L,&nbsp;0x00200002L&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>unsigned&nbsp;long&nbsp;DES::SP8[64]&nbsp;=&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10001040L,&nbsp;0x00001000L,&nbsp;0x00040000L,&nbsp;0x10041040L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10000000L,&nbsp;0x10001040L,&nbsp;0x00000040L,&nbsp;0x10000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00040040L,&nbsp;0x10040000L,&nbsp;0x10041040L,&nbsp;0x00041000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10041000L,&nbsp;0x00041040L,&nbsp;0x00001000L,&nbsp;0x00000040L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10040000L,&nbsp;0x10000040L,&nbsp;0x10001000L,&nbsp;0x00001040L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00041000L,&nbsp;0x00040040L,&nbsp;0x10040040L,&nbsp;0x10041000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00001040L,&nbsp;0x00000000L,&nbsp;0x00000000L,&nbsp;0x10040040L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10000040L,&nbsp;0x10001000L,&nbsp;0x00041040L,&nbsp;0x00040000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00041040L,&nbsp;0x00040000L,&nbsp;0x10041000L,&nbsp;0x00001000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000040L,&nbsp;0x10040040L,&nbsp;0x00001000L,&nbsp;0x00041040L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10001000L,&nbsp;0x00000040L,&nbsp;0x10000040L,&nbsp;0x10040000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10040040L,&nbsp;0x10000000L,&nbsp;0x00040000L,&nbsp;0x10001040L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000L,&nbsp;0x10041040L,&nbsp;0x00040040L,&nbsp;0x10000040L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10040000L,&nbsp;0x10001000L,&nbsp;0x10001040L,&nbsp;0x00000000L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10041040L,&nbsp;0x00041000L,&nbsp;0x00041000L,&nbsp;0x00001040L,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00001040L,&nbsp;0x00040040L,&nbsp;0x10000000L,&nbsp;0x10041000L&nbsp;&nbsp;};&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;cit.cs.sjtu.edu]&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -