信息安全概论实验六
- 格式:doc
- 大小:559.50 KB
- 文档页数:14
网络安全实验6本实验旨在介绍网络安全实验6的目的和主要内容。
实验6的目的是让学生深入了解网络安全领域的实践应用,通过实际操作加深对网络安全知识的理解和掌握。
主要内容包括:实验环境准备:学生需要在自己的计算机上搭建网络安全实验环境,包括安装和配置相关软件和工具。
实验任务:学生将接触到一些常见的网络安全问题,例如漏洞利用、密码破解等,通过实际操作来解决这些问题。
实验报告:学生需要书写实验报告,详细记录实验过程、解决方案和实验结果。
通过完成该实验,学生将巩固网络安全知识,提升实践能力,并为今后在网络安全领域的研究和工作奠定基础。
本实验所需的材料和环境准备如下:一台计算机(可选操作系统,建议Windows或Linux)网络连接安装了必要软件和工具的计算机(如Wireshark、Nmap等)实验指导书和教学材料的打印副本实验所需的测试用例和数据集研究笔记和记录所需的纸和笔首先,确保你的计算机已经连接到互联网。
打开 web 浏览器,输入实验所需的网址。
在网站上注册一个新的账户,填写所需的个人信息。
等待确认邮件,点击邮件中的确认链接以验证你的账户。
使用注册时设置的用户名和密码登录进入网站。
进入个人资料页面,为你的账户设置一个强密码,并启用双因素身份验证。
在网站上找到一个需要登录才能访问的页面。
输入正确的用户名和密码,登录到该页面。
了解和熟悉页面上的各种安全设置和选项。
在页面上尝试修改个人信息,并观察系统的反应。
尝试更改密码,并确认系统是否能够成功更新密码。
退出登录并关闭浏览器。
以上是进行网络安全实验6的步骤和操作方法。
请按照步骤逐一进行,确保实验的顺利进行。
分析实验的结果经过对实验结果的分析,我们可以得出以下结论:实验数据显示,网络安全措施的有效性得到了验证。
在实施了一系列网络安全措施后,系统的安全性显著提升。
这些措施包括:更新操作系统和应用程序的补丁、安装防火墙、使用强密码、限制对敏感数据的访问权限等。
这些措施帮助我们减少了外部攻击的风险,并保护了系统中重要数据的安全。
信息安全实验报告信息安全实验报告一、引言信息安全是当今社会中一个重要的话题。
随着互联网的普及和信息技术的发展,人们对于信息的依赖程度越来越高,同时也面临着更多的信息安全威胁。
为了更好地了解和应对这些威胁,我们进行了一系列的信息安全实验。
本报告将对这些实验进行总结和分析。
二、实验一:密码学与加密算法在这个实验中,我们学习了密码学的基本知识,并实践了几种常见的加密算法。
通过对这些算法的理解和应用,我们深入了解了信息加密的原理和方法。
实验结果表明,合理选择和使用加密算法可以有效保护信息的安全性。
三、实验二:网络安全漏洞扫描网络安全漏洞是信息安全的一个重要方面。
在这个实验中,我们使用了一款流行的漏洞扫描工具,对一个虚拟网络进行了扫描。
实验结果显示,该网络存在多个漏洞,这些漏洞可能导致信息泄露、系统崩溃等安全问题。
通过这个实验,我们认识到了网络安全漏洞的严重性,并了解了如何进行漏洞扫描和修复。
四、实验三:社会工程学攻击模拟社会工程学攻击是信息安全领域中的一种常见攻击手段。
在这个实验中,我们模拟了一些常见的社会工程学攻击场景,如钓鱼邮件、电话诈骗等。
通过这个实验,我们认识到了社会工程学攻击的隐蔽性和危害性。
同时,我们也学习了一些防范社会工程学攻击的方法,如提高警惕、加强安全意识等。
五、实验四:网络入侵检测网络入侵是信息安全领域中的一个重要问题。
在这个实验中,我们使用了一款网络入侵检测系统,对一个虚拟网络进行了入侵检测。
实验结果显示,该网络存在多个入侵行为,如端口扫描、暴力破解等。
通过这个实验,我们认识到了网络入侵的危害性和复杂性,并学习了一些网络入侵检测的方法和技巧。
六、实验五:应急响应与恢复在信息安全领域,及时的应急响应和恢复是非常重要的。
在这个实验中,我们模拟了一次网络攻击事件,并进行了应急响应和恢复工作。
通过这个实验,我们了解了应急响应的流程和方法,并学习了一些数据恢复的技巧。
实验结果表明,及时的应急响应和恢复可以最大程度地减少信息安全事件的损失。
实验1 密码学实验实验目的1)编程实现常见古典密码算法,加深对古典密码的理解;2)掌握加密算法设计原则;3)掌握对古典密码的攻击方法。
实验设备与环境若干安装Windows的PC,安装Java或C++或C#编程开发环境。
实验环境的拓扑结构图如下:实验内容与步骤1)编程实现凯撒密码,输入任意明文,观察明密文关系。
c=E(k,m)=(m + k) mod 262)编程实现单表代换密码;输入任意明文,观察明密文关系。
3)编程实现Hill密码;输入任意明文,观察明密文关系。
Hill密码的加密算法将m个连续的明文字母替换成m个密文字母,这是由m个线性方程决定的,在方程中每个字母被指定为一个数值(a=0,b=1,…,z=25)。
该密码体制可以描述为:C=KP mod 26其中C和P是列向量,分别代表密文和明文,K是一个方阵,代表加密密钥。
运算按模26执行。
4)编程实现Playfair密码;输入任意明文,观察明密文关系。
Playfair算法基于一个由密钥词构成的5 x 5字母矩阵。
填充矩阵的方法是:首先将密钥词(去掉重复字母)从左至右、从上至下填在矩阵格子中;然后将字母表中除密钥词字母以外的字母按顺序从左至右、从上至下填在矩阵剩下的格子里。
对明文按如下规则一次加密两个字母:①如果该字母对的两个字母是相同的。
那么在它们之间加一个填充字母,比如x。
例如balloon先把它变成ba lx lo on这样四个字母对。
②落在矩阵同一行的明文字母对中的字母由其右边的字母来代换,每行中最右边的一个字母用该行中最左边的第一个字母来代换,比如ar变成RM。
③落在矩阵同一列的明文字母对中的字母由其下面的字母来代换,每列中最下面的一个字母用该列中最上面的第一个字母来代换,比如mu变成CM。
④其他的每组明文字母对中的字母按如下方式代换:该字母的所在行为密文所在的行,另一字母的所在列为密文所在列。
比如hs变成BP,ea变成IM或(JM)。
信息安全概论课后答案信息安全概论课后答案四45五3六57十4十一34十二47没做“信息安全理论与技术”习题及答案教材:《信息安全概论》段云所,魏仕民,唐礼勇,陈钟,高等教育出版社第一章概述(习题一,p11) 1.信息安全的目标是什么?答:信息安全的目标是保护信息的机密性、完整性、抗否认性和可用性;也有观点认为是机密性、完整性和可用性,即CIA(Confidentiality,Integrity,Availability)。
机密性(Confidentiality)是指保证信息不被非授权访问;即使非授权用户得到信息也无法知晓信息内容,因而不能使用完整性(Integrity)是指维护信息的一致性,即信息在生成、传输、存储和使用过程中不应发生人为或非人为的非授权簒改。
抗否认性(Non-repudiation)是指能保障用户无法在事后否认曾经对信息进行的生成、签发、接收等行为,是针对通信各方信息真实同一性的安全要求。
可用性(Availability)是指保障信息资源随时可提供服务的特性。
即授权用户根据需要可以随时访问所需信息。
2.简述信息安全的学科体系。
解:信息安全是一门交叉学科,涉及多方面的理论和应用知识。
除了数学、通信、计算机等自然科学外,还涉及法律、心理学等社会科学。
信息安全研究大致可以分为基础理论研究、应用技术研究、安全管理研究等。
信息安全研究包括密码研究、安全理论研究;应用技术研究包括安全实现技术、安全平台技术研究;安全管理研究包括安全标准、安全策略、安全测评等。
3. 信息安全的理论、技术和应用是什么关系?如何体现?答:信息安全理论为信息安全技术和应用提供理论依据。
信息安全技术是信息安全理论的体现,并为信息安全应用提供技术依据。
信息安全应用是信息安全理论和技术的具体实践。
它们之间的关系通过安全平台和安全管理来体现。
安全理论的研究成果为建设安全平台提供理论依据。
安全技术的研究成果直接为平台安全防护和检测提供技术依据。
1文件密使软件的功能有哪些?答:文件密使是一个加密和安全工具,使用的是公开加密算法,安全可靠,万无一失。
文件夹加密,隐藏密文,生成可自解密的文件,一个专门为管理密码而提供的工具星星管理器。
有文件切割,保护文件夹功能,文件/文件夹彻底删除,生成随机密钥,即时安全通讯工具密聊。
是一个功能齐全,易用,能绝对确保你的数据安全,大大改变了加密工具单调枯燥的样板。
2、混合密码系统软件实现哪些功能?用此软件用“对称密钥”加密文件和“非对称密钥”加密文件时,影响运行速度快慢的原因是什么?此软件有何不足和缺陷?答:它集密钥交换、签名验证以及数据加解密功能于一体,既安全又实用。
密钥的位数大小等;进行安全通信前需要以安全方式进行密钥交换。
3、如何发送签名、加密邮件?用outlook express 发送签名加密邮件答:要发送数字签名、加密邮件,只需要在写邮件时选中【工具】菜单的【数字签名】、【加密】菜单项,或者工具栏的【签名】、【加密】按钮。
可以对一个邮件同时进行数字签名和加密邮件,也可以只进行数字签名或者只进行加密。
要发送数字签名邮件,您需要申请并在系统中安装一个数字证书;要发送加密邮件,必须获得收件人的数字证书的公钥。
(1)、收发双方申请数字证书第一步,安装证书颁发机构的证书;第二步,申请邮件安全证书,填写邮件地址和必要的用户信息;第三步,证书服务器发放机构审核颁发证书;第四步,客户端下载安装证书。
之后点击IE的“工具→选项”命令中的“内容→证书”按钮,(2)、发送签名加密的邮件发送具有自己数字签名的邮件前先设置一下,选中邮箱,右键单击“属性”命令,在弹出的窗口中切换到“安全”选项夹,点击右侧“选择”按钮,挑选与该邮箱相匹配的证书。
一定要为邮箱匹配数字标识(证书),否则不能发送具有数字签名的验证邮件。
发送加密的邮件时,需要知道收件人的公钥,一个是通过发证机构的证书服务器的平台,通过选择收件人来搜索该账户数字证书。
信息平安概论实验
Experiment of Introduction to Information
Security一、课程基本情况
课程总学时:48学时实验总学时:16学时
学分:3学分开课学期:第4学期
课程性质:选修对应理论课程:信息平安概论
适用专业:网络工程教材:李红娇主编,信息平安概论,中国电力出版社,2012年出版等。
开课单位:计算机与软件学院网络工程系二、实验课程的教学目标和任务
计算机网络平安实验是为了解决和分析具体网络平安问题,通过实验可以全面掌握网络攻击的防范手段和技术。
计算网络平安实验主要包括密码学实验、Windows权限设置实验、PGP软件的使用、使用Sniffer Pro网络分析器、入侵检测原理与Snort的使用实验和木马和远程控制实验。
三、实验课程的内容和要求四、课程考核
(1)实验报告的撰写要求:实验报告详细、具体,工程包括实验目的、实验内容、实验要求、实验准备、实验步骤、实验总结。
(2)实验报告:5次
(3)考核及成绩评定:总评成绩二平时成绩30%+期末考试成绩70%,其中平时成绩30%中实验
报告占10%o五、参考书目
1姚永雷,马利,计算机网络平安(第二版),清华大学出版社,2011年。
2唐晓波,信息平安概论,科学出版社,2010年。
《信息安全技术》实训指导书适用专业:计算机网络技术计算机应用技术计算机信息管理技术目录实验一:常用信息安全工具的使用 (3)实验二:加密解密程序的编写 (6)实验三:Snort入侵检测系统的配置与使用 (23)实验四:木马攻击与防范 (31)实验五:windows2003下架设和配置VPN (38)实验六:到网络公司学习实践网络安全技术 (47)实验报告的基本内容及要求 (48)信息安全技术实验报告 (49)实验一:常用信息安全工具的使用实验学时:6实验类型:验证一、实验目的1、理解并掌握基于网络的信息安全概念和原理2、熟悉嗅探、网络漏洞扫描等常用工具的安装、配置与使用。
二、实验内容1、利用嗅探器监视网络上的信息(数据包),分析网络性能和故障。
2、利用嗅探器监视网络上的信息窃听用户的账号与密码信息。
3、利用网络端口扫描器发现网络系统的安全漏洞。
三、实验原理、方法和手段1、Sniffer工具嗅探Sniffer即网络嗅探器,用于监听网络中的数据包,分析网络性能和故障。
通常在同一个网段的所有网络接口都有访问在物理媒体上传输的所有数据的能力,而每个网络接口都还应该有一个硬件地址,该硬件地址不同于网络中存在的其他网络接口的硬件地址,同时,每个网络至少还要一个广播地址(代表所有的接口地址),在正常情况下,一个合法的网络接口应该只响应目的地址是自己硬件地址或者自己所处网段的广播地址的数据帧,同时丢弃不是发给自己的数据帧。
而sniffer就是一种能将本地网络接口设置成“混杂”(promiscuous)状态的软件,当网络接口处于这种"混杂"方式时,该网络接口具备广播地址,它对所有遭遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。
sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。
信息安全试验报告系统安全审核一、实验目标掌握Windows 下审核策略的设置方法,了解审核策略的制定准则。
掌握查看器查看审核日志和审核事件的一般方法。
二、实验内容1.根据以下要求制定系统的审核策略。
(1)记录对计算机不成功的访问尝试。
(2)记录对C:\WINNT\system32\drivers\etc\hosts文件的写操作。
(3)记录一个管理员执行的操作以跟踪未授权的更改。
2..创建一个文件审核策略。
创建一个Audit 文件夹,在该文件夹下创建一个文件Audit.txt,修改该文件的审核记录,对用户组Everyone 审核;创建/写入数据、删除、更改权限的成功和失败事件。
然后Audit 文件夹的Everyone 权限为读权限,删除其他权限,并且阻止从它的你文件夹继承权限。
3.打开事件查看器,查看日志的内容。
三、实验原理、过程或代码试验原理:审核策略用于确定计算机的安全性事件日志记录了哪些安全事件。
能够审核的事件类型包括:对文件和文件夹的访问、登录以及退出登录、关闭以及重新启动计算机、对用户和组的改动。
对审核事件的成功或者事件的或者两者都审核。
跟踪成功事件可以决定用户对特定文件或者打印机访问,能够利用该信息计划资源。
跟踪失败事件以寻找可能出现的安全破坏。
安全审核的内容应该包括:(1)审核账户登录事件。
(2)审核账户管理。
(3)审核登录事件。
(4)审核策略更改。
(5)审核特权使用。
(6)审核过程追踪。
(7)审核系统事件。
1、(1)记录对计算机不成功的访问尝试。
1)打开【本地安全设置】窗口。
单击【控制面板】|【管理工具】|【本地安全策略】|【本地策略】|【审核策略】,弹出以下窗口:2)设置相关策略,由于要记录记录对计算机不成功的访问尝试,所以只勾选失败。
如下:(2)记录对C:\WINNT\system32\drivers\etc\hosts文件的写操作。
1)单击【安全】选项卡,在弹出的对话框中单击【高级】按钮,在弹出的对话框中单【审核】|【添加】单击编辑:单击添加3)在【输入要选择的对象名称】文本框中,输入要审核的用户账户名,然后单击【确定】,4)对要审核的事件进行编辑。
信息平安导论实验教学的研究与理论论文“信息平安导论”是面向计算机科学与技术专业和网络工程专业学员的一门专业技术课程。
随着部队信息化建立的迅猛开展,部队对信息系统的依赖日益加重,信息平安问题日益突出,因此在利用信息化提升部队战斗力的同时,必须研究信息平安的自身特点,寻找信息平安问题的解决之道。
本课程要求学员理解信息平安的重要性和复杂性、理解信息平安的根本概念和根本原理、掌握信息平安的根本技能和根本方法。
而实验教学的主要目的是让学员通过实验可以掌握根本的信息平安防护技能,理解系统存在的平安隐患,树立结实的平安意识,培养良好的平安习惯,另一方面进步理论操作和应用才能。
课程的课内学时为32课时,课外学时即实验学时为12学时。
课程内容根本覆盖了信息平安领域所涉及的主要分支和领域,共包括信息平安绪论、密码学根底、计算机系统平安、计算机网络平安、计算机应用平安和信息系统平安工程六章内容。
而课外实验由于学时有限,只能在课程内容中进展适当的选择。
由于时间有限,应该优先选择最根本、最常用的平安技术方面的实验,并按照所需技术程度的上下进展阶梯式的安排。
根据这一原那么在整个课程中计算机系统平安章节、计算机网络平安章节中涉及的内容成为实验内容安排的重点。
2.1计算机系统平安的实验内容选择在计算机系统平安章节中的计算机操作系统的平安内容成为实验内容的首选。
计算机操作系统是应用软件同系统硬件的接口,其目的是高效地、最大限度地、合理地使用计算机资源。
没有系统的平安就没有信息的平安。
操作系统作为系统软件中最根底的部分,其平安问题的解决最为关键。
目前操作系统主要分为Windows系列的操作系统和类Unix的操作系统。
虽然这些操作系统符合C2级平安级别,即自主平安保护和受控存储控制,但操作系统仍存在不少平安破绽,而大多数恶意代码正是针对操作系统存在的平安破绽进展攻击,因此导致出现很多平安问题。
为了让学员理解操作系统存在的平安破绽以及攻击者入侵操作系统的手段,加强自身的平安意识,我们设计了一个Windows 2000破绽入侵实验。
实验六系统安全实验一、实验目的通过学习使用Windows操作系统常用的安全设置方法,了解Windows操作系统中的安全保护措施,强化操作系统安全意识。
二、实验原理详细原理见课件。
三、实验环境一台安装Windows 2000/XP的PC机,磁盘格式配置为NTFS。
四、实验内容和步骤在虚拟机中完成下列任务,截取设置界面和设置完成后的效果图任务一帐户和口令的安全设置1、删除多余的帐户,禁用Guest帐户2、启用帐户策略(包括密码策略和帐户锁定策略)3、开机时设置为“不自动显示上次登录帐户”(使用“本地策略”中的“安全选项”完成)4、禁止枚举帐户名为了便于远程用户共享本地文件,Windows默认设置远程用户可以通过空连接枚举处所有本地帐户名,这给了攻击者可乘之机。
要禁止枚举帐户名,可执行以下操作:打开“本地安全策略”,选择“本地策略”中的“安全选项”,选择“对匿名连接的额外限制”项,在“本地策略设置”中选择“不允许枚举SAM帐户和共享”。
任务二启用审核与日志查看1、打开审核策略打开“本地策略”中的“审核策略”,启用审核策略,并进行相关设置。
如下图2、查看事件日志打开“管理工具”的“事件查看器”,如图双击“安全日志”,可查看有效无效、登录尝试等安全事件的具体记录。
例如,查看用户登录/注销的日志,如图任务三使用文件加密系统EFS加密硬盘数据任务四关闭不必要的服务和端口、禁止通过TTL判断主机类型任务五关闭默认共享任务六数据恢复软件的使用相关任务详细步骤见课件。
五、实验报告要求1、根据实验内容完成任务,完成实验报告。
实验过程中的图打印,其余部分手写。
2、实验报告至少包括以下内容:①实验目的;②实验内容和步骤;③实验结果和分析。
3、实验报告由每班学习委员统一收齐,于指定时间上交。
《信息安全概论实验六》实验报告姓名:学号:专业班级:成绩:====================================================================== 1.实验题目:信息加密(二)2.实验目的:掌握信息加密的基本原理和方法。
3. 实验环境计算机一台,安装软件windows 2000 server、Vmware、sniffer、vc++6.0等。
4.实验要求:完成教材第九章课后习题7上机题。
⏹恺撒密码的加密方法是把a变成D,b变成E,c换成F,依次类推,z换成C。
这样明文和密文的字母就建立一一对应的关系。
加密原理其实就是:对明文加上了一个偏移值29,即“a”对应的ASCII码位97,“D”对应的ASCII码为68,相减得到29。
⏹编写程序1:实现恺撒密码加密单词“julus”。
5. 实验内容及步骤案例9-1 DES算法的程序实现根据DES算法的原理,可以方便的利用C语言实现其加密和解密算法。
在VC++6.0中新建基于控制台的Win32应用程序,算法如程序proj8_1.cpp所示。
设置一个密钥匙为数组char key[8]={1,9,8,0,9,1,7,2},要加密的字符串数组是str[]="Hello",利用Des_SetKey(key)设置加密的密钥,调用Des_Run(str, str, ENCRYPT)对输入的明文进行加密,其中第一个参数str是输出的密文,第二个参数str是输入的明文,枚举值ENCRYPT 设置进行加密运算。
程序执行的结果如图8-7所示。
案例9-2 RSA算法的程序实现根据RSA算法的原理,可以利用C语言实现其加密和解密算法。
RSA算法比DES算法复杂,加解密的所需要的时间也比较长。
本案例利用RSA算法对文件的加密和解密。
算法根据设置自动产生大素数p和q,并根据p 和q的值产生模(n)、公钥(e)和密钥(d)。
利用VC++6.0实现核心算法,如图8-8所示。
编译执行程序,如图8-9所示。
该对话框提供的功能是对未加密的文件进行加密,并可以对已经加密的文件进行解密。
产生100位长度的p和q,大约分别需要10秒左右,产生的素数如图8-10所示。
利用素数p和q产生密钥对,产生的结果如图8-11所示。
必须将生成的模n、公密e和私密d导出,并保存成文件,加密和解密的过程中要用到这三个文件。
其中模n和私密d用来加密,模n和公密e用来解密。
将三个文件分别保存,如图8-12所示。
在主界面选择一个文件,并导入“模n.txt”文件到RSA模n文本框,导入“私密.txt”文件或者“公密.txt”,加密如果用“私密.txt”,那么解密的过程就用“公密.txt”。
反之依然,加密过程如图8-13所示。
加密完成以后,自动产生一个加密文件,如图8-14所示。
解密过程要在输入文件对话框中输入已经加密的文件,按钮“加密”自动变成“解密”。
选择“模n.txt”和密钥,解密过程如图8-15所示。
解密成功以后,查看原文件和解密后的文件,如图8-16所示。
案例9-3 使用PGP产生密钥PGP加密技术的创始人是美国的Phil Zimmermann。
他的创造性把把RSA公钥体系和传统加密体系的结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计,因此PGP成为目前几乎最流行的公钥加密软件包。
由于RSA算法计算量极大,在速度上不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用传统加密算法IDEA,IDEA加解密的速度比RSA快得多。
PGP随机生成一个密钥,用IDEA算法对明文加密,然后用RSA算法对密钥加密。
收件人同样是用RSA解出随机密钥,再用IEDA解出原文。
这样的链式加密既有RSA算法的保密性(Privacy)和认证性(Authentication),又保持了IDEA算法速度快的优势。
PGP加密软件最新版本是8.0.2,使用PGP8.0.2i可以简洁而高效地实现邮件或者文件的加密、数字签名。
PGP8.0.2的安装界面如图8-17所示。
下面的几步全面采用默认的安装设置,因为是第一次安装,所以在用户类型对话框中选择“No, I am a New User”,如图8-18所示。
根据需要选择安装的组件,一般根据默认选项就可以了:“PGPdisk Volume Security”的功能是提供磁盘文件系统的安全性;“PGPmail for Microsoft Outlook/Outlook Express”提供邮件的加密功能。
如图8-19所示。
因为在用户类型对话框中选择了“新用户”,在计算机启动以后,自动提示建立PGP密钥,如图8-20所示。
点击按钮“下一步”,在用户信息对话框中输入相应的姓名和电子邮件地址,如图8-21所示。
在PGP密码输入框中输入8位以上的密码并确认,如图8-22所示然后PGP会自动产生PGP密钥,生成的密钥如图8-23所示。
案例9-4 使用PGP加密文件使用PGP可以加密本地文件,右击要加密的文件,选择PGP菜单项的菜单“Encrypt”,如图8-24所示。
系统自动出现对话框,让用户选择要使用的加密密钥,选中一个密钥,点击按钮“OK”,如图8-25所示。
目标文件被加密了,在当前目录下自动产生一个新的文件,如图8-26所示。
打开加密后的文件时,程序自动要求输入密码,输入建立该密钥时的密码。
如图8-27所示。
(一)题目设计要求说明⏹7. 恺撒密码的加密方法是把a变成D,b变成E,c换成F,依次类推,z换成C。
这样明文和密文的字母就建立一一对应的关系。
加密原理其实就是:对明文加上了一个偏移值29,即“a”对应的ASCII码位97,“D”对应的ASCII码为68,相减得到29。
⏹编写程序1:实现恺撒密码加密单词“julus”。
(上机完成)⏹编写程序2:实现解密,将程序1得到的密文进行解密。
(上机完成)(二)基础知识介绍凯撒密码的历史凯撒密码(caeser)是罗马扩张时期朱利斯•凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令。
它将字母表中的字母移动一定位置而实现加密。
古罗马随笔作家修托尼厄斯在他的作品中披露,凯撒常用一种“密表”给他的朋友写信。
这里所说的密表,在密码学上称为“凯撒密表”。
用现代的眼光看,凯撒密表是一种相当简单的加密变换,就是把明文中的每一个字母用它在字母表上位置后面的第三个字母代替。
古罗马文字就是现在所称的拉丁文,其字母就是我们从英语中熟知的那26个拉丁字母。
因此,凯撒密表就是用d代a,用e代b,……,用z代w。
这些代替规则也可用一张表格来表示,所以叫“密表”。
基本原理在密码学中存在着各种各样的置换方式,但所有不同的置换方式都包含2个相同的元素。
密钥和协议(算法)。
凯撒密码的密钥是3,算法是将普通字母表中的字母用密钥对应的字母替换。
置换加密的优点就在于它易于实施却难于破解. 发送方和接收方很容易事先商量好一个密钥,然后通过密钥从明文中生成密文,即是敌人若获取密文,通过密文直接猜测其代表的意义,在实践中是不可能的。
凯撒密码的加密算法极其简单。
其加密过程如下:在这里,我们做此约定:明文记为m,密文记为c,加密变换记为E(k1,m)(其中k1为密钥),解密变换记为D(k2,m)(k2为解密密钥)(在这里k1=k2,不妨记为k)。
凯撒密码的加密过程可记为如下一个变换:c≡m+k mod n (其中n为基本字符个数)同样,解密过程可表示为:m≡c+k mod n (其中n为基本字符个数)对于计算机而言,n可取256或128,m、k、c均为一个8bit的二进制数。
显然,这种加密算法极不安全,即使采用穷举法,最多也只要255次即可破译。
当然,究其本身而言,仍然是一个单表置换,因此,频率分析法对其仍是有效的。
加密解密算法恺撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。
例如,当偏移量是左移3的时候(解密时的密钥就是3):明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。
需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。
例如:明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ恺撒密码的加密、解密方法还能够通过同余数的数学方法进行计算。
首先将字母用数字代替,A=0,B=1,...,Z=25。
此时偏移量为n的加密方法即为:E (x)= (x+n) mod 2解密就是:D (x)= (x-n) mod 2(三)环境介绍编程语言C语言编译环境Microsoft Visual Studio 2010操作系统Windows ,(四)思路以及算法分析定义两个字符数组char p[1000]和char c[1000],用来存放明文和密文。
定义一个key,表示移位的个数。
这是加密解密的关键。
综合考虑到在密表尾部的字母加密或解密的时候会循环移动到密表头部,所以加密、解密语句分别为:c[i]=(p[i]-'a'+key)%26+'a' 向后移动keyp[i]='z'-('z'+key-c[i])%26 向前移动key(五)源程序代码#include<stdio.h>void main(){char p[1000];char c[1000];int key,i,m;key=5; /*定义一个移位个数为5,即加密向右移5位,解密则相反*/printf("please input the Plaintext: \n");gets(p); /*读取字符串,直至接受到换行符停止,并将读取的结果存放在p[1000]中。
换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
*/for(i=0;p[i]!='\0';i++)c[i]=(p[i]-'a'+key)%26+'a'; /*加密算法,所有明文符号由向右移5位的密文代替*/ c[i]='\0';printf("the Ciphertext is:\n%s\n",c); /*输出加密后的密文*/printf("please input the Ciptertext:\n");gets(c); /*读取字符串,直至接受到换行符停止,并将读取的结果存放在c[1000]中。