项目内容:基于DES算法加密的防撞库密码系统
- 小组名:zqhzkzkj
- 目标:1.对用户输入的8位字符进行DES加密,要求用户输入8位密钥
2.对于不同的网站,不同的用户名生成不同的密码 - 小组成员:周岐浩、钟轲、郑凯杰
实验内容:
为了防止一个用户在不同的网站使用同一个密码,而导致一个网站被破译所有网站都被破译,于是我们修改了我们的项目。
分为四大步:
- 一、给定64bit的明文M,通过一个固定初始置换IP得到M0
- 二、进行16轮相同迭代运算,这些运算被称为轮函数f
- 三、对比特串R16L16使用逆置换IP-1,得到M1
- 四、把网址作为加密的明文,用户名作为加密的密钥,加密后的密文作为密码
根据这四大步我们把我们要完成的工作细化为:
- 1.界面
- 2.把用户输入的8位字符变为64bit的2进制数
- 3.对64bit进行IP置换得到M0
- 4.IP-1的逆置换
- 5.把64bit分为各32bit的L0与R0
- 6.任意长度的按位异或
下面是轮函数内容
- 7.对32bit进行重排变为48bit
- 8.与48bit的密钥进行异或
- 9.s-盒置换
- 10.p置换
下面是生成密钥的内容
- 11.64bit密钥进行PC-1置换
- 12.分为左右各28bit的c0与d0
- 13.循环左移得到c1与的d1
- 14.PC-2置换
分工情况:
- 郑凯杰完成1-6步
- 周岐浩完成11-14步
- 钟轲完成7-10步
防撞库设计:
- 1.注册/登录界面:用户输入账号及密码
- 2.设置界面:用户输入网址和用户名,把网址转换为明文,用户名转换为密钥。通过我们设置的DES算法加密出密文,并记录每个网址和用户名所生成的密文。
- 3.下次再登录该网址可以验证是否正确(不一定会做)
实现计划:
- 第一周:写框架和开发环境的准备
第二周:每人进行各自项目
-
项目进展:
已完成2-4、7-10、11-13 -
成员贡献:各自完成自己所做的任务
-
计划相符情况:基本相符
-
改进措施:假如用户没有输入8位字符,我们可以使用Hash函数把任意长度的字符变为8位字符
第三周:汇总项目
-
改进措施:修改了项目,把原来设计的DES算法应用于解决一个比较广泛的问题
-
项目进展:基本完成了DES的实现,只差主函数的编写
-
计划相符情况:增加了新的内容,而且hash函数的使用也需要学习