版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称:《计算机网络安全》PAGE1《计算机网络安全》讲稿授课教师:许玉龙适用于信息技术学院实验9:分组加密算法相关主要内容一、熟悉理解分组加密算法二、练习实现分组加密算法程序重点分组加密算法:明文和密文为64位分组长度对称算法:加密和解密除密钥编排不同外,使用同一算法密钥长度:有效密钥56位,但每个第8位为奇偶校验位,可忽略密钥可为任意的56位数,但存在弱密钥,容易避开采用混乱和扩散的组合,每个组合先替代后置换,共16轮只使用了标准的算术和逻辑运算,易于实现输入输入64比特明文数据初始置换IP在密钥控制下16轮迭代初始逆置换IP-1输出64比特密文数据DES加密过程一、理解分组加密算法主讲内容:DES(DataEncryptionStandard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。DES算法以被应用于许多需要安全加密的场合。(如:UNIX的密码算法就是以DES算法为基础的)。下面是关于如何实现DES算法的语言性描述,如果您要其源代码,可以到Http//A下载,后者您有任何问题也可以写信给我(Assassin@)。1-1、变换密钥取得64位的密钥,每个第8位作为奇偶校验位。1-2、变换密钥。1-2-1、舍弃64位密钥中的奇偶校验位,根据下表(PC-1)进行密钥变换得到56位的密钥,在变换中,奇偶校验位以被舍弃。PermutedChoice1(PC-1)574941332517915850423426181025951433527191136052443663554739312315762544638302214661534537292113528201241-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:12345678910111213141516左移位数:11222222122222211-2-3-2、将C[I]D[I]作为一个整体按下表(PC-2)变换,得到48位的K[I]PermutedChoice2(PC-2)14171124153281562110231912426816727201324152313747553040514533484449395634534642503629321-2-3-3、从1-2-3-1处循环执行,直到K[16]被计算完成。2、处理64位的数据2-1、取得64位的数据,如果数据长度不足64位,应该将其扩展为64位(例如补零)2-2、将64位数据按下表变换(IP)InitialPermutation(IP)585042342618102605244362820124625446383022146645648403224168574941332517915951433527191136153453729211356355473931231572-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)32123454567898910111213121314151617161718192021202122232425242526272829282930313212-4-2、异或E[I-1]和K[I],即E[I-1]XORK[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]。SubstitutionBox1(S[1])1441312151183106125907015741421311061211953841148136211151297310501512824917511314100613S[2]1518146113497213120510313471528141201106911501471110413158126932151381013154211671205149S[3]1009146315511312711428137093461028514121115113649815301112125101471101306987415143115212S[4]7131430691012851112415138115615034721211014910690121171315131452843150610113894511127214S[5]2124171011685315130149141121247131501510398642111101378159125630141181271142136150910453S[6]1211015926801334147511101542712956113140113891415528123704101131164321295151011141760813S[7]4112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S[8]13284615111109314501271151381037412561101492711419121420610131535821147410813151290356112-4-4-4、从2-4-4-1处循环执行,直到B[8]被替代完成。2-4-4-5、将B[1]到B[8]组合,按下表(P)变换,得到P。PermutationP16720212912281711523265183110282414322739191330622114252-4-6、异或P和L[I-1]结果放在R[I],即R[I]=PXORL[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)变换得到最后的结果。FinalPermutation(IP**-1)40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725以上就是DES算法的描述。四、练习十进制和二进制数之间的转换//////十进制转二进制inti,n=0,b[16]; scanf("%d",&i); for(;i;i>>=1) b[n++]=i&1; for(;n;) printf("%d",b[--n]);五.练习异或程序3.1/*删除指定字符常规的解法intmain(){ charMystr1[]="sheisourteacher!"; charMystr2[]="shr";intktt=0; intlen1=strlen(Mystr1)+1;intlen2=strlen(Mystr2)+1; char*final=newchar[len1]; memset(final,0,len1); for(intindex2=0;index2<len2;index2++) { for(intindex1=0;index1<len1;index1++)if(Mystr2[index2]==Mystr1[index1]) Mystr1[index1]=0; } for(intindex1=0;index1<len1;index1++) if(0!=Mystr1[index1]) final[ktt++]=Mystr1[index1];printf("%s",final); return0;}3.2/*利用字符存储性质,高效率删除指定字符*/intmain(){ charstr1[]="sheisourteacher!"; charstr2[]="shr";inti,j,k=0; intlen1=strlen(str1);intlen2=strlen(str2); char*final=newchar[len1]; memset(final,0,len1); chartemp[256]; for(i=0;i<len2;i++) temp[str2[i]]
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁工业大学《测量学2》2023-2024学年第一学期期末试卷
- 浙江省金华市2024年中考数学模拟考试试卷含答案
- 喀什大学《幼儿园教师职业道德》2023-2024学年第一学期期末试卷
- 江苏警官学院《电子商务数据分析与应用》2023-2024学年第一学期期末试卷
- 吉安幼儿师范高等专科学校《建筑摄影初步》2023-2024学年第一学期期末试卷
- 湖南理工学院《线天线与面天线》2023-2024学年第一学期期末试卷
- 高考物理模拟测试题(有答案)
- 重庆外语外事学院《软件测试与质量保证》2023-2024学年第一学期期末试卷
- 重庆电子工程职业学院《地理研究方法与写作》2023-2024学年第一学期期末试卷
- 浙江建设职业技术学院《乡土文化与乡村教育》2023-2024学年第一学期期末试卷
- 2024版青岛市劳动合同
- 中小学十五五发展规划(2025-2030)
- Unit 7 同步练习人教版2024七年级英语上册
- 电厂员工三级安全培训(完美版)课件
- 2024年中考复习-数学(广州专用)(解析版)
- 第三十六届全国电力行业风力发电运行检修职业技能竞赛基础理论题库附有答案
- 2024年纪检监察综合业务知识题库含答案(研优卷)
- 科室医疗质量与安全管理小组工作制度
- 中华民族共同体概论课件第五讲大一统与中华民族共同体初步形成(秦汉时期)
- 初二生地会考试卷及答案-文档
- 私营企业廉洁培训课件
评论
0/150
提交评论