实验目的与要求
1. 帮助学生掌握置换密码的加密解密过程,能够利用所学过的编程语言,实现加解密算法。使学生掌握编程实现实际问题中的方法,提高专业技能和专业素养。
2. 要求学生掌握算法的程序实现的方法,能应用密码算法的特点,设计合适的交互界面,并能正确实现应用编程。
实验原理与内容
置换密码加密解密过程
设明文为:4D 61 65 53 2D 4F 69 20 4E。密钥为10,8,1,6,3,0,11,5,7,17,4,12,13,14,9,15,2,16。求加密后的16进制密文。
解 先思考和描述算法,也就是对明文4D 61 65 53 2D 4F 69 20 4E实现置换10,8,1,6,3,0,11,5,7,17,4,12,13,14,9,15,2,16。通过对数组赋值实现:
m(i)={4D 61 65 53 2D 4F 69 20 4E},i=1,2,3,…,9。
k(i)={ 10,8,1,6,3,0,11,5,7,17,4,12,13,14,9,15,2,16},i=0,1,2,3,…,17。
c(i)=m(k(i)), i=0,1,2,3,…,17。
c(0),c(1),…,c(17)为密文。
密文序列为: 。
这样可以推广到任意置换。有这个思维才可以编程实现,因此,思想方法更重要。
幻方密码加密解密过程(即置换密码的解密)
设明文为:4D 61 65 53 2D 4F 69 20 4E。密钥为10,8,1,6,3,0,11,5,7,17,4,12,13,14,9,15,2,16。求加密后的16进制密文。
解 先思考和描述算法,也就是对明文4D 61 65 53 2D 4F 69 20 4E实现置换10,8,1,6,3,0,11,5,7,17,4,12,13,14,9,15,2,16。通过对数组赋值实现:
m(i)