1、 目录目录 一、 设计题目.1 二、 设计要求.1 三、 设计内容.1 四、 设计过程及说明.1 1.加密解密简介1 2.加密算法1 3.总体结构2 4.main函数流程图 3 5.算法原理4 五、 附录.4 六、 设计总结.7 七、 参考文献.7 第 1 页 共 7 页 装 订 线 一、一、设计题目设计题目 密码破解 二、二、设计要求设计要求 1、学生能够较深入的理解网络编成的设计方法,并在所要求的设计时间内,利用自 己所熟悉的语言完成本题目的程序编制。 2、程序要能正确运行,完成预功能。 3、要求设计清晰、美观的用户界面,当操作出错时,程序要有出错提示信息。 4、上交设计报告。重点阐述程序
2、的有关算法说明、程序的流程图以及子程序的功能 和参数的说明及程序代码。 三三、设计内容设计内容 设计一个利用穷举法破解密码的软件。 穷举法,用时间上的牺牲换来了解的全面性保证,是一种针对于密码的破译方法。 这种方法很象数学上的“完全归纳法”并在密码破译方面得到了广泛的应用;同时在程 序设计中使用得最为普遍、大家必须熟练掌握和正确运用的一种算法。它利用计算机 运算速度快、 精确度高的特点, 对要解决问题的所有可能情况, 一个不漏地进行检查, 从中找出符合要求的答案,比如密码的破解,只要利用穷举法,破解任何密码都只是 一个时间上的问题 四、四、设计过程及说明设计过程及说明 1、加密解密简介 所谓加
3、密,就是把称为“明文”的可读信息转换成“密文”的过程;而解密则是把 “密文”恢复为“明文”的过程。加密和解密都要使用密码算法来实现。密码算法是指用 于隐藏和显露信息的可计算过程, 通常算法越复杂, 结果密文越安全。 在加密技术中, 密钥是必不可少的,密钥是使密码算法按照一种特定方式运行并产生特定密文的值。 1使用加密算法就能够保护信息安全使之不被窃取、 不被篡改或破坏。可把加密算法 看作一个复杂的函数变换,x=(y,k)x代表密文,即加密后得到的字符序列,y代表明文 即待加密的字符序列,k 表示密钥,当加密完成后,可以将密文通过不安全渠道送给 收信人,只有拥有解密密钥的收信人可以对密文进行解密
4、即反变换得到明文。 2、加密算法 对称算法又叫做传统密码算法,就是加密密钥能够从解密密钥中推算出来,反 过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫秘密密钥 或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。只要通信需 要保密,密钥就必须保密。因此对称算法就是指加密和解密过程均采用同一把密钥, 如 DES, 3DES, AES 等算法都属于对称算法。 DES 算法, 入口参数有三个:Key、 Data、 Mode。 其中 Key是 DES 算法的工作密钥;Data 是要被加密或被解密的数据;Mode 为 DES 的工作方式有两种:加密或解密。 算法主要分为两
5、步: 初始置换和逆置换。 而 AES 是分组密钥。用 Nr 表示对一个数据分组加密的轮数。每一轮都需要一个与输入分组 具有相同长度的扩展密钥的参与。由于外部输入的加密密钥 K 长度有限,所以在算法 第 2 页 共 7 页 装 订 线 中要用一个密钥扩展程序,把外部密钥 K 扩展成更长的比特串,以生成各轮的加密和 解密密钥。 3、总体设计结构 4、main 函数流程图 文件加密解密工具 加 密 路 径 设 置 解 密 设 置 加 密 路径 设 置 解 密 路径 DE S 加 密 加 DE S 解 密 开始 第 3 页 共 7 页 装 订 线 Y N Y N 输入 p,q n=p*q t=(p-1)*(q-1) 输入 e e