第三周团队博客

时间:2021-12-01 21:55:03

项目内容:基于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函数的使用也需要学习

    第四周:调试运行总结