任务12口令加密

上传人:今*** 文档编号:106879802 上传时间:2019-10-16 格式:PPT 页数:28 大小:1.33MB
返回 下载 相关 举报
任务12口令加密_第1页
第1页 / 共28页
任务12口令加密_第2页
第2页 / 共28页
任务12口令加密_第3页
第3页 / 共28页
任务12口令加密_第4页
第4页 / 共28页
任务12口令加密_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《任务12口令加密》由会员分享,可在线阅读,更多相关《任务12口令加密(28页珍藏版)》请在金锄头文库上搜索。

1、,口令加密,学习目标,1. 知识目标,2. 能力目标,返回,下页,上页,1. 知识目标,返回,下页,上页,2. 能力目标,返回,下页,上页,;,工作任务,2. 工作任务背景,4. 条件准备,1. 工作名称,3. 工作任务分析,返回,下页,上页,任务背景: 最近一段时间,张老师经常发现计算机中,学生信息管理数据库中的一些重要的信息,如学生的身份证号码、学生成绩被更改。因为张老师的用户名具有最高管理权限,所以张老师进入数据库的用户名和口令没有告诉过任何人,也没有记录在任何地方,但是对学生信息管理系统的“用户表”拥有读取权限的人员可以知道所有老师的登陆用户名和口令。,任务名称:编制加密程序为用户名和

2、口令加密,任务名称与背景,返回,下页,上页,从张老师描述的情形看,是有人破译了张老师进入数据库的用户名和口令。 学生信息管理系统的用户名和口令是以明文的形式在数据库中存放,只要对学生信息管理系统的“用户表”拥有读取权限的人员就可以知道所有老师的登陆用户名和口令,当然也包括张老师的用户名和口令,这样,这些人员就很容易用高管理权限的用户名和口令登陆学生信息管理数据库,从中窃取并篡改数据。 对于张老师的计算机,当务之急就是将所有老师进入数据库的用户名和口令加密,然后,将加密后的用户名和口令存入数据库。这样,拥有“用户表”读取权限的人员只能看到加密后的用户名和口令,而无法获取真正的用户名和口令。,返回

3、,下页,上页,任务分析,返回,下页,上页,4. 条件准备,对于张老师的计算机中学生信息管理系统被更改的情况,准备应用C语言编制,采用对称加密算法,完成所有老师进入数据库的用户名和口令的加密。 对称加密算法是应用较早的加密算法,技术成熟,C语言是一种最基础的编程语言。,实践操作,应用C语言编制程序完成对所有老师进入数据库的用户名和口令加密,由于学生信息管理系统中的老师人数较多,而且要求所有老师的用户名和口令都是由16位以内的字母和数字构成的,所以专门编制了输入函数,同时,对所有老师用户名和口令的加密过程,编制了加密函数。在主程序中,分别调用输入和加密函数,主程序流程图如右图。,返回,上页,下页,

4、实践操作,其中,input为输入函数,主要完成输入判断,判断输入的是否为16位以内的字母或数字,其流程图如图所示,返回,上页,下页,实践操作,encrypt为加密函数,主要完成输入字母或数字的加密,采用加密前的数据与密钥数组keyt中的数据进行求和运算完成,其流程图如图所示。,返回,上页,下页,实践操作,编制程序如下所示: #include “stdio.h“ #include “string.h“ #include “ctype.h“ void input (char source17); void encrypt (char source17); main() char username1

5、7,password17; printf(“请输入用户名(按回车键完成录入):“); input (username); /*调用输入函数,接收输入的用户名并判断是否符合要求*/,返回,上页,下页,实践操作,printf(“n加密后的用户名:“); encrypt(username); /*调用加密函数,为输入的用户名加密*/ printf(“nn请输入用户口令(按回车键完成录入):“); input(password); /*调用输入函数,接收输入的口令判断是否符合要求*/ printf(“n加密后的用户口令:“); encrypt(password); /*调用加密函数,为输入的口令加密*

6、/ ,返回,上页,下页,实践操作,void input (char source17) /*输入函数*/ int i=0,len; /*i为计数标记,len为数据长度*/ while(1) gets(source); len=strlen(source ); if(len16) printf(“您输入的字符数超过16位,请重新录入n“); /*判断输入的字符是否超过16位*/ continue; ,返回,上页,下页,实践操作,for(i=0;i=0 ,返回,上页,下页,实践操作,void encrypt (char source17) /*加密函数*/ char result17; char

7、keyt17=1,a,t,3,4,b,2,m,7,8,c,3,m,e,6,6; int i,len; len=strlen(source ); for(i=0;ilen;i+) resulti=sourcei+keyti; /*加密*/ puts(result); ,返回,上页,下页,问题探究,返回,下页,上页,1. 对称加密算法,对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可

8、读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。,返回,下页,上页,1. 对称加密算法,对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。 对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。美国国家标准局倡导的A

9、ES即将作为新标准取代DES。,返回,下页,上页,2. 非对称加密算法,非对称加密算法使用两把完全不同但又是完全匹配的一对钥匙公钥和私钥。在使用非对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。非对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;,返回,下页,上页,2. 非对称加密算法,收信方收到加密密文后,使用自己的私钥才能解密密文。显

10、然,采用非对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。 由于非对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的非对称加密算法有RSA算法和美国国家标准局提出的DSA。以非对称加密算法为基础的加密技术应用非常广泛。,返回,下页,上页,3. 不可逆加密算法,不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密

11、还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。 不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。,返回,下页,上页,4. 加密技术的发展,密码专用芯片集成 密码技术是信息安全的核心技术,无处不在,目前已经渗透到大部分安全产品之中,正向芯片化方向发展。在芯片设计制造方面,目前微电子水平已经发展到0.1微米工艺以下,芯片设计的水平很高。 我国在密码专用芯片领域的研究起步落后于国外,近年来我国集成电路产业技术的创新

12、和自我开发能力得到了提高,微电子工业得到了发展,从而推动了密码专用芯片的发展。加快密码专用芯片的研制将会推动我国信息安全系统的完善。,返回,下页,上页,4. 加密技术的发展,(2)量子加密技术的研究 量子技术在密码学上的应用分为两类:一是利用量子计算机对传统密码体制的分析;二是利用单光子的测不准原理在光纤一级实现密钥管理和信息加密,即量子密码学。 量子计算机是一种传统意义上的超大规模并行计算系统,利用量子计算机可以在几秒钟内分解RSA129的公钥。,返回,下页,上页,4. 加密技术的发展,根据internet的发展,全光网络将是今后网络连接的发展方向,利用量子技术可以实现传统的密码体制,在光纤

13、一级完成密钥交换和信息加密,其安全性是建立在Heisenberg的测不准原理上的,如果攻击者企图接收并检测信息发送方的信息偏振,则将造成量子状态的改变,这种改变对攻击者而言是不可恢复的,而对收发方则可很容易地检测出信息是否受到攻击。目前量子加密技术仍然处于研究阶段,其量子密钥分配QKD在光纤上的有效距离还达不到远距离光纤通信的要求。,返回,下页,上页,知识拓展,返回,下页,上页,除了应用原数据与密钥数组中数据相加的方法加密用户名和口令,我们可以进一步研究应用异或运算完成用户名和口令的加密,这样可以进一步提高系统的安全性。 程序其它部分不变,只需改变加密函数,程序如下:,void encrypt

14、 (char source17) char result17; char keyt17=1,a,t,3,4,b,2,m,7,8,c,3,m,e,6,6 int i; len=strlen(source ); for(i=0;ilen;i+) resulti=sourcei keyti; puts(result); ,检查与评价,返回,下页,上页,选择题 加密过程中不需要使用密钥的加密算法 。 A.对称加密算法 B.非对称加密算法 C.不可逆加密算法 密码按密钥方式划分分为 。 A. 理论上保密的密码、实际上保密的密码 B. 对称式密码、非对称式密码 C. 手工密码、机械密码 D. 仿真型密码、数字型密码 下面属于不可逆加密算法的是 。 A. AES B. DSA C. IDEA D. SHS 下面属于非对称加密算法的是 。 A. AES B. DES C. IDEA D. RSA,检查与评价,返回,下页,上页,加密系统至少包括 部分。 A. 加密解密的密钥 B. 明文 C. 加密解密的算法 D. 密文 对称加密算法的特点是 。 A. 算法公开 B. 计算量小 C. 加密速度快 D. 加密效率高 2. 实做题:请为用户名为zhangyang,口令为abc851的用户名和口令编制加密程序。,3.思考题:为“知识拓展”中的加密程序编制相应的解密程序。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号