freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

word版可編輯-密碼學(xué)課程設(shè)計(jì)報告5精心整理doc(編輯修改稿)

2024-08-11 12:09 本頁面
 

【文章內(nèi)容簡介】 的48位的子密鑰,Ln1和Rn1分別是第n1輪的輸出,f是Mangler函數(shù)。 (3)最后換位。進(jìn)行16輪的加密變換之后,將L16和R16合成64位的數(shù)據(jù),再按照表2所示的最后換位表進(jìn)行IP1的換位,得到64位的密文,這就是DES算法加密的結(jié)果。 通過重復(fù)某些位將32位的右半部分按照擴(kuò)展表3擴(kuò)展換位表擴(kuò)展為48位,而56位的密鑰先移位然后通過選擇其中的某些位減少至48位,48位的右半部分通過異或操作和48位的密鑰結(jié)合,并分成6位的8個分組,通過8個S盒將這48位替代成新的32位數(shù)據(jù),再將其置換一次。這些S盒輸入6位,輸出4位。 鑰通常表示為64位的自然數(shù),首先通過壓縮換位PC1去掉每個字節(jié)的第8位,用作奇偶校驗(yàn),因此,密鑰去掉第124……64位減至56位,所以實(shí)際密鑰長度為56位,而每輪要生成48位的子密鑰。 從密文到明文的解密過程可采用與加密完全相同的算法。不過解密要用加密的逆變換,就是把上面的最后換位表和初始換位表完全倒過來變換。這里不再贅述。 程序代碼由于代碼過長,此處只列出部分關(guān)鍵代碼。void CDES::EncryptKey(char *key){ printf(\n原始密鑰: %s,key)。 m_dwlKey=ProcessByte((unsigned char*)key,TRUE)。// PrintBit(m_dwlKey)。 m_dwlKey=PermuteTable(m_dwlKey,dwlKey_PC_1,56)。// PrintBit(m_dwlKey)。 Generate_K()。// printf(\n******************************************\n)。}unsigned char * CDES::EncryptData(unsigned char *block){ unsigned char *EncrytedData=new unsigned char(15)。 int i。 printf(\n原始數(shù)據(jù): %s\n,block)。 m_dwlData=ProcessByte(block,0)。// PrintBit(m_dwlData)。 m_dwlData=PermuteTable(m_dwlData,dwlData_IP,64)。 EncryptKernel()。// PrintBit(m_dwlData)。 DWORDLONG bit6=m_dwlData。 for( i=0。i11。i++){ EncrytedData[7i]=(unsigned char)(bit6amp。0x3f)+46。 bit6=6。 } EncrytedData[11]=39。\039。 printf(\n加密之后: %s,EncrytedData)。 for( i=0。i8。i++){ EncrytedData[7i]=(unsigned char)(m_dwlDataamp。0xff)。 m_dwlData=8。 } EncrytedData[8]=39。\039。 return EncrytedData。}void CDES::EncryptKernel(void){ int i=1。 DWORDLONG L[17],R[17],B[9],EK,PSB。 L[0]=m_dwlData32。 R[0]=m_dwlDataamp。0xffffffff。 for(i=1。i=16。i++){ L[i]=R[i1]。 R[i1]=PermuteTable(R[i1],dwlData_E
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1