项目内容:基于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.注册/登录界面:用户输入账号及密码
  • 2.设置界面:用户输入网址和用户名,把网址转换为明文,用户名转换为密钥。通过我们设置的DES算法加密出密文,并记录每个网址和用户名所生成的密文。
  • 3.下次再登录该网址可以验证是否正确

完成情况:

  • 可喜可贺的是我们完成了所有的任务
  • 下面介绍一下我们项目流程

  • 第一步 弹出窗口
    -
    由于我们是第一次使用,所以我们点击注册按钮

  • 第二步 注册

这里我们针对不同的用户的和不同的网址来生成不同的密码(实质是使用用户名当做明文,网址当做密钥)

当然这里是把密码以txt的形式记录下来

  • 第三步 登录

回到登录界面输入刚刚注册得到的密码

当然假如输入错误

每个人完成的方面

  • 钟轲:完成了轮函数内容(7-10步)与界面(防撞库的三步)的内容
  • 郑凯杰:完成了第3-6步,与周岐浩一起完成了第二步
  • 周岐浩:完成了密钥轮换的内容(11-14)
  • 三人一起完成了主函数的编写

  • 三人得的分数分配:钟轲30分,周岐浩25分,郑凯杰20分

基于DES算法加密的防撞库密码系统项目总结的更多相关文章

  1. 使用DES算法实现加密解密

    使用DES算法实现加密解密 我们常见的加密算法有DES.MD5.IDEA.AES等等,这篇随笔介绍使用DES算法实现加密解密 首先介绍一下DES算法: DES算法为密码体制中的对称密码体制,又被称为美 ...

  2. 对称加密算法之DES算法

    数据加密标准(data encryption standard): DES是一种分组加密算法,输入的明文为64位,密钥为56位,生成的密文为64位. DES对64位的明文分组进行操作.通过一个初始置换 ...

  3. 使用openssl库实现des,3des加密

    原文地址: 使用openssl库实现des,3des加密 主要是调整了一下格式,以及一些变量的类型,以解决在VC2008下无法编译通过的问题. #include <stdio.h> #in ...

  4. 【Android工具】DES终结者加密时报——AES加密演算法

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 在前面的两篇文章中.我们介绍了DES算法,3DES算法以及他们的Android程序实现,并研究了怎样才干实现 ...

  5. 在IOS中使用DES算法对Sqlite数据库进行内容加密存储并读取解密

    在IOS中使用DES算法对Sqlite 数据库进行内容加密存储并读取解密 涉及知识点: 1.DES加密算法: 2.OC对Sqlite数据库的读写: 3.IOS APP文件存储的两种方式及读取方式. 以 ...

  6. Asp.Net 常用工具类之加密——对称加密DES算法(2)

    又到周末,下午博客园看了两篇文章,关于老跳和老赵的程序员生涯,不禁感叹漫漫程序路,何去何从兮! 转眼毕业的第三个年头,去过苏州,跑过上海,从一开始的凌云壮志,去年背起行囊默默回到了长沙准备买房,也想有 ...

  7. Python实现基于DES加密源码的文本加密器

    这是自行制作的一个DES文本加密工具 最终效果图: 本加密器支持UTF-8字符的加解密(包含中文),由于其中的编码方式与常用编码方式不同,加密结果与网上工具不同,但是能实现正常加解密. 最终目标: 目 ...

  8. DES的加密与解密算法(Python实现)

    DES的加密与解密算法(Python实现) 密码学实验:实现了DES的简单的加密和解密算法,DES算法的相关资料网上很多,这里不再赘述,仅仅贴出源代码给大家分享,源码中包含很多汉字注释,相信大家都是可 ...

  9. C#与Java同步加密解密DES算法

    在实际项目中,往往前端和后端使用不同的语言.比如使用C#开发客户端,使用Java开发服务器端.有时出于安全性考虑需要将字符加密传输后,由服务器解密获取.本文介绍一种采用DES算法的C#与Java同步加 ...

随机推荐

  1. Xamarin迁移到 Unified API 注意事项

    参考官方文档: Migrating to Unified API for Components #if __UNIFIED__ ... // Mappings Unified CoreGraphic ...

  2. Virtual Memory DEMAND PAGING - The avoidance of thrashing was a major research area in the 1970s and led to a vari- ety of complex but effective algorithms.

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION With the use of pagin ...

  3. mina学习(一)

    Mina:是一个帮助用户开发高性能和高伸缩性网络应用程序的框架 学习地址链接:http://www.cnblogs.com/xuekyo/archive/2013/03/06/2945826.html ...

  4. 微信公众账号开发教程(四)自定义菜单(含实例源码)——转自http://www.cnblogs.com/yank/p/3418194.html

    微信公众账号开发教程(四)自定义菜单 请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了 ...

  5. HQL之多表查询(一对多和多对多)

    一.一对多 以班级Classes和学生Student为例:   回忆sql语句: //内链接,两种方式效果一样,查询的是两边都有的数据 SELECT c.*,s.* FROM classes c,st ...

  6. 【No.2】监控Linux性能25个命令行工具

    接着上一篇博文继续 [No.1]监控Linux性能25个命令行工具 10:mpstat -- 显示每个CPU的占用情况 该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一 ...

  7. 初学MyBatis.net

    1.MyBatis.net介绍 MyBatis..net是一个简单,但是完整的ORM框架,它使你的实体对象与sql语句或者存储过程之间的映射变得很简单,并提供数据访问.包括两个主要框架 DataAcc ...

  8. 基于ace后台管理系统模板--CMS(Thinkphp框架)的筹划

    临近春节,准备自己做一个关于宠物的cms网站,特写下此博客提醒自己,尽量争取在过年前做好.废号少说,先梳理下接下来准备使用的工具.. 由于最近在学习thinkphp,所以打算用这个框架来作为主体,可能 ...

  9. C语言文法定义及C程序的推导过程

    program à external_declaration | program external_declaration <程序> ->  <外部声明> |  < ...

  10. Java高级之类结构的认识

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Java体系包括,各种版本的虚拟机,可执行文件,各种第三方类库,Java API类库,Java语言 ...