当前位置:文档之家› 《信息安全》实验报告1 编程实现恺撒密码

《信息安全》实验报告1 编程实现恺撒密码

《信息安全》实验报告1 编程实现恺撒密码
《信息安全》实验报告1 编程实现恺撒密码

《信息安全》实验报告(1)

实验名称:________________ 指导教师:___________ 完成日期:

________________ 专 业:________________ 班 级:___________ 姓 名:________________ 实现步骤、算法设计思路、流程图等)

凯撒密码的实现 于泳海 2014-9-24 信息管理与信息系统 11级信本班 贾文丽

凯撒密码

南通大学网络安全实验课 实验报告 学生姓名 所在院系 专业 学号 指导教师 南通大学 2014年 5 月

凯撒密码 一、概念与原理 它是一种代换密码。据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。 凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。 如恺撒使用过的偏移量为3的这种密码,若明文为: M=Casesar cipher is a shift substitution 则密文为 C=Fdvhvdu flskhu lv d vkliw vxevwlwxwlrq 二、实验内容与步骤 1、手动完成Caesar密码 (1)在实验原理部分我们已经了解了Caesar密码的基本原理,那么我们先写出当密钥k=3时,对应明文:data security has evolved rapidly的密文。 (2)进入实验平台,单击工具栏中的“密码工具”按钮,启动密码工具,在向导区点击“Caesar密码”。在明文输入区输入明文:data security has evolved rapidly。将密钥k调节到3,查看相应的密文,并与你手动加密的密文进行比较。 请根据密钥验证密文与明文对应关系是否正确。 2、Caesar加密 (1)进入“加密解密”|“Caesar密码”视图,在明文输入区输入明文(明文应为英文),单击“加密”按钮进行加密。 (2)调节密钥k的微调按钮或者对照表的移位按钮,选择合适的密钥k值,并记下该密钥k值用于同组主机的解密。加密工作完成后,单击“导出”按钮将密文默认导出到Caesar 共享文件夹(D:\Work\Encryption\Caesar\)中,默认文件名为Caesar密文.txt。 (3)通知同组主机接收密文,并将密钥k通告给同组主机。 (4)单击“导入”按钮,进入同组主机Work\Encryption\Caesar目录(\\同组主机IP\Work\Encryption\Caesar),打开Caesar密文.txt。 (5)调节密钥k的微调按钮或对照表的移位按钮,将k设为同组主机加密时的密钥k 值,这时解密已经成功。 (6)将解密后的明文与同组主机记录的明文比较,请对比明文是否相同。 3、Caesar密码分析 (1)本机进入“密码工具”|“加密解密”|“Caesar密码”,在明文输入区输入明文(要求明文有一定的意义以便让同组主机分析)。 (2)调节密钥k的微调按钮或者对照表的移位按钮,选择合适的密钥k值完成Caesar 加密,单击“导出”按钮,将密文默认导出到Caesar共享文件夹中。 (3)通告同组主机(不要通告密钥值k)密文已经放在共享文件夹中,让同组主机获

现代密码学实验报告

现代密码学 实验报告 学生姓名 学号 专业班级计算机科学与技术指导教师段桂华 学院信息科学与工程学院完成时间2016年4月

实验一密码算法实验 [实验目的] 1.掌握密码学中经典的对称密码算法AES、RC4的算法原理。 2.掌握AES、RC4的算法流程和实现方法。 [实验预备] 1.AES算法的基本原理和特点。 2.流密码RC4的密钥流生成以及S盒初始化过程。 [实验内容] 1. 分析AES、RC4的实现过程。 2. 用程序设计语言将算法过程编程实现。 3. 完成字符串数据的加密运算和解密运算 输入十六进制明文:11223344556677889900AABBCCDDEEFF 输入十六进制密钥:13579BDF02468ACE1234567890ABCDEF [实验步骤] 1. 预习AES、RC4算法。 2. 写出算法流程,用程序设计语言将算法过程编程实现。 3. 输入指定的明文、密钥进行实验,验证结果。 4. 自己选择不同的输入,记录输出结果。 写出所编写程序的流程图和运行界面、运行结果。 一、AES算法 1、AES算法简介 AES 是一种可用来保护电子数据的新型加密算法。特别是,AES 是可以使用128、192 和 256 位密钥的迭代式对称密钥块密码,并且可以对 128 位(16 个字节)的数据块进行加密和解密。与使用密钥对的公钥密码不同的是,对称密钥密码使用同一个密钥来对数据进行加密和解密。由块密码返回的加密数据与输入数据具有相同的位数。迭代式密码使用循环结构来针对输入数据反复执行排列和置换运算。 2、算法实现及流程 以加密函数为例,如下所示,首先对密钥进行预处理密钥扩展,然后明文进行Nr(Nr与密钥长度有关)次迭代运算,包括字节替换SubBytes、移位行运算ShiftRows、混合列运算MixColumns、以及轮秘钥加密AddRoundKey。

人机交互技术实验五熟悉设计管理和游戏界面设计

重庆邮电大学移通学院学生实验报告 实验名称:熟悉设计管理和游戏界面设计 专业班级:数字媒体技术 02141401 姓名:罗钧 学号: 2014210xxx 实验日期:

实验五:熟悉设计管理和游戏界面设计 一、实验目的 (1)了解和熟悉人机界面设计过程管理的相关知识; (2)了解和评价游戏软件的人机交互设计,提高自己的评价能力,提高自己对设计水平的。 二、工具/准备工作 需要准备一台带有浏览器,能够访问因特网的计算机。 三、实验内容与步骤 1.概念理解 (1)成功的用户界面开发有4个支柱,它们能够帮助用户界面架构师将好的思想转化为成功的系统。经验表明,每个支柱都能在此过程中产生数量级的加速作用,并能促进建立优秀的系统。 请简单描述这4个支柱。 用户界面需求:软件项目的成败经常取决于所有用户和实现者之间理解的精确性和完整性。如果没有适当的需求定义,那就既不能确定正在解决什么问题,也不会知道何时能够完成。拟定用户界面需求是整个需求开发和管理过程的一部分,系统需求(硬件、软件、系统性能及可靠性等)必须清楚的加以陈述,任何处理用户界面的需求(输入/输出设备、功能、界面及用户范围等)都必须指明并达成共识。一个确定用户需求的成功方法是通过用户观察,监视正在行动的真实用户的背景和环境。 指南文档和过程:指南文档应考虑以下几方面。 1.词、图标和图形 2.屏幕布局问题 3.输入与输出设备 4.动作序列 5.培训 用户界面软件工具:设计交互系统的困难之一,是客户和用户可能对新系统并没有一个清晰的想法。由于在很多情况下交互系统都是新奇的,用户可能认识不到设计决策的用意。虽然打印出来的文稿对初步体验是有帮助的,但具有活动键盘和鼠标的屏幕展示却更为真实。菜单系统的原型可能用一两条活动路径来代替为最终系统预想的数千条路径。 专家评审和可用性测试:现在,网站的设计人员认识到,在将系统交付给客户使用之前,必须对组件进行很多小的和一些大的初步试验。除了各种专家评审方法外,与目标用户一起进行的测试、调查和自动化分析工具被证明是有价值的。其过程依可用性研究的目标、预期用户数量、错误和危害程度和投资规模而变化很大。 (2)请简单描述用户界面设计所涉及的法律问题 ①隐私问题 ②安全性和可靠性

杭电密码学DES密码实验报告

课程实验报告 课程密码学实验 学院通信工程学院 专业信息安全 班级14083611 学号14084125 学生姓名刘博 实验名称DES密码实验 授课教师胡丽琴

DES密码实验 一、实验要求: 1、了解分组密码的起源与涵义。 2、掌握DES密码的加解密原理。 3、用Visual C++实现DES密码程序并输出结果。 二、实验内容: 1、1949年,Shannon发表了《保密系统的通信理论》,奠定了现代密码学的基础。他还指出混淆和扩散是设计密码体制的两种基本方法。扩散指的是让明文中的每一位影响密文中的许多位,混淆指的是将密文与密钥之间的统计关系变得尽可能复杂。而分组密码的设计基础正是扩散和混淆。在分组密码中,明文序列被分成长度为n的元组,每组分别在密钥的控制下经过一系列复杂的变换,生成长度也是n的密文元组,再通过一定的方式连接成密文序列。 2、DES是美国联邦信息处理标准(FIPS)于1977年公开的分组密码算法,它的设计基于Feistel对称网络以及精心设计的S盒,在提出前已经进行了大量的密码分析,足以保证在当时计算条件下的安全性。不过,随着计算能力的飞速发展,现如今DES已经能用密钥穷举方式破解。虽然现在主流的分组密码是AES,但DES的设计原理仍有重要参考价值。在本实验中,为简便起见,就限定DES 密码的明文、密文、密钥均为64bit,具体描述如下: 明文m是64bit序列。 初始密钥K是64 bit序列(含8个奇偶校验bit)。 子密钥K1, K2…K16均是48 bit序列。 轮变换函数f(A,J):输入A(32 bit序列), J(48 bit序列),输出32 bit序列。 密文c是64 bit序列。 1)子密钥生成: 输入初始密钥,生成16轮子密钥K1, K2 (16) 初始密钥(64bit)经过置换PC-1,去掉了8个奇偶校验位,留下56 bit,接着分成两个28 bit的分组C0与D0,再分别经过一个循环左移函数LS1,得到C1与D1,连成56 bit数据,然后经过置换PC-2,输出子密钥K1,以此类推产生K2至K16。

单片机电子密码锁课程设计

单片机技术及应用综合训练 (设计报告)

前言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。 本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。 本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。 关键词:电子密码锁、报警、液晶显示

目录 一、选题要求 (1) 二、硬件电路设计 (1) 2.1 51单片机 (2) 2.2 键盘电路 (2) 2.3 液晶显示电路 (2) 2.4 警报电路 (3) 2.5 密码储存电路 (3) 2.6 晶振、复位及关锁 (3) 三、软件设计 (4) 四、软硬件调试结果 (9) 4.1 电路总原理图 (9) 4.2 调试结果 (10) 五、总结 (11)

一、选题要求 本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为0~9,用户可以自行设定和修改密码。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警,期间输入密码无效,以防窃贼多次试探密码。6位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下: 1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的 更替而使锁的密级下降。 3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 4) 无活动零件,不会磨损,寿命长。 5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 6) 电子密码锁操作简单易行,一学即会。 二、硬件电路设计 下面是整个设计的流程图:

电子密码锁单片机课程设计

电子密码锁单片机课程设计

单片机原理与应用技术课程设计报告 电子密码锁设计 专业班级:电气 124 姓名: 时间:2015年1月2日 指导教师:秦国庆 2015年1月2日

电子密码锁课程设计任务书 1.设计目的与要求 设计出一个电子密码锁。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能: (1)状态显示功能:锁定状态时系统用3位数码管显示OFF, 用3位码管显示成功开锁次 数;成功开锁时用3位数码管 显示888,用3位数码管显示 成功开锁次数。 (2)密码设定功能:通过一个4×4的矩阵式键盘可以任意设 置用户密码(1-26位长度), 同时系统掉电后能自动记忆 和存储密码在系统中。(3)报警和加锁功能:密码的输入

时间超过12秒或者连续3次 输入失败,声音报警同时锁定 系统,不让再次输入密码。此 时只有使用管理员密码方能 对系统解锁。 2.设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出; 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。 1

电子密码锁 电气124 赵政权 摘要:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本设计利用51单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成电子密码锁的设计成品。其中数码管使用两组三位一体共阳数码管,数据存储器使用AT24C04芯片通过IIC协议实现数据的传输,矩阵键盘用执行效率极高的代码扫描控制。使用Keil4.6编写程序代码,用Proteus进行仿真,无误后使用Altium制图,最终做成能使用的成品。 关键词: 51单片机 IIC协议矩阵键盘动态显示 Keil Proteus Altium 2

人机交互实验报告及实验结果

中北大学软件学院 实验报告 专业软件工程 课程名称人机交互 学号 姓名 辅导教师何志英成绩 实验日期2012/3/13实验时间19:00-22:00

1实验名称 试验一:最新人机交互技术 2、实验目的 了解最新人机交互的研究内容 3、实验内容 通过网络查询最新人机交互相关知识。 (1)在百度中找到“最新人机交互视频”的相关网页,查看视频。 (2)什么是Kinect技术。 (3)人机交互技术在各个领域的应用。 4、测试及结果 (1)已在百度中查看“最新人机交互视频”的相关网页。 (2)Kinect是微软在2010年6月14日对XBOX360体感周边外设正式发布的名字。 (3)人机交互技术已成为解决医疗、教育、科研、环保等各类重大社会问题不可或缺的重要工具 5、心得 通过此实验,我了解人机交互技术在社会各个行业的重大作用。辅导教师何志英成绩 实验日期2012/3/13实验时间19:00-22:00 1、实验名称 实验二:立体视觉 2、实验目的 掌握立体视觉的原理

3、实验要求 通过网络查询立体视觉相关知识。 (1)在虚拟环境是如何实现立体视觉? (2)3D和4D电影的工作原理。 4、测试及结果 (1)实物虚化的视觉跟踪技术使用从视频摄像机到x-y平面阵列,周围光或者跟踪光在图像投影平面不同时刻和不同位置上的投影,计算被跟踪对象的位置和方向。 视点感应必须与显示技术相结合,采用多种定位方法(眼罩定位、头盔显示、遥视技术和基于眼肌的感应技术)可确定用户在某一时刻的视线。例如将视点检测和感应技术集成到头盔显示系统中,飞行员仅靠“注视”就可在某些非常时期操纵虚拟开关或进行飞行控制 (2) 4D电影是在3D立体电影的基础上加环境特效模拟仿真而组成的新型影视产品。所谓4D电影,也叫四维电影;即三维的立体电影和周围环境模拟组成四维环境。观众在看立体电影时,顺着影视内容的变化,可实时感受到风暴、雷电、下雨、撞击、喷洒水雾、拍腿等身边所发生与立体影象对应的事件,4D的座椅是具有喷水、喷气、振动、扫腿等功能的,以气动为动力的。环境模拟仿真是指影院内安装有下雪、下雨、闪电、烟雾等特效设备,营造一种与影片内容相一致的环境。 5、心得 通过本次试验,我明白了立体视觉以及3D、4D电影的工作原理。

凯撒密码实验

一、实验目的 通过实验熟练掌握凯撒密码算法,学会凯撒密码算法程序设计。 二、实验环境 软件工具:Visual C++ 6.0 操作系统:windows xp 三、实验思想 在密码学中存在着各种各样的置换方式,但所有不同的置换方式都包含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为基本字符个数) 四、实验数据(源代码) #include #include #include void table(char *keyword) //筛选密钥(去重复去空格) { int i,j,k; for(i=0;*(keyword+i)!='\0';i++) { for(j=i;*(keyword+j)!='\0';j++) { if(i!=j) if(*(keyword+i)==*(keyword+j)||*(keyword+j)==' ') { for(k=j;*(keyword+k)!='\0';k++) *(keyword+k)=*(keyword+k+1); j--; } } } } void newTab(char *keyword) //生成密钥表 { char ch;

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电 子密码锁 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

山东交通学院 单片机原理与应用课程设计院(部):轨道交通学院 班级:自动化121 学生姓名: 学号: 指导教师: 时间:— 课程设计任务书 题目电子密码锁设计 系 (部) 轨道交通学院 专业班级自动化121 学生姓名 学号 06 月 01 日至 06 月 12 日共 2 周 指导教师(签字) 系主任(签字) 年月日

目录 3.总体设计 (2)

4 密码比较模块 (6) (6) (8) (9) 附录 (10)

摘要 设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。 关键词:单片机、密码锁、修改密码 1.设计要求 本实验将实现六位数的电子密码锁。要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。 2. 按下“10”,开始则显示“Enter Please:”。3. 随时可以输入数值,并在LCD上实时显示‘*’。当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。 4. 按下“13”键,则表示确定键按下,进行密码对比。如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。如果密码连续三次错误则蜂鸣器连续响5下,并且持续5秒不能进行任何操作 5.在开锁状态下按下“12”键,进入修改密码状态,LCD同时提示“Enter new code!”。为删除按键,出入之后可以进行删除。按键为关闭按键,只有在打开状态下才可以关闭,按下之后LCD显示“Close the door!”。 2.功能概述 此设计分为四个功能模块。 第一模块:按键输入模块,用于密码的输入以及其他的密码操作按键。 第二模块:LCD模块,是与使用者交流的界面,用于显示各种状态下的内容。 第三模块:步进电机模块,用于控制密码锁的打开与关闭。 第四模块:24C08模块,用于储存输入的密码并读出来。 3.总体设计 本次设计作品的主要构成部分包括80C51单片机、LCD1602、24C08、矩阵按键、LED 等、蜂鸣器。如图1总体仿真图,图2实物图。 图1 总体电路图 图2 密码锁实物图 4.硬件设计 矩阵按键设计 如图3所示矩阵按键由P1口控制,了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N × M 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确

信息安全实验要求

一、实习目的 1.熟悉java平台开发环境; 2.理解常见古典加密算法:凯撒密码、多字母替代密码、多表替代密码; 3.理解古典加密技术中的替换技术、置换技术。 二、实习要求 1.实习前认真预习第1、2章相关内容; 2.对实习内容中给定题目上机前先进行程序编写和数据准备; 3.上机编辑、调试、运行程序,并保存最终程序,然后撰写实习报告; 4.实习报告需用专门的报告纸书写,内容包括:实习名称、实习目的、内容、操作过程、程序清单,运行结果,实习中出现的问题及解决方法、实习体会等,具体要求见附录1。 三、实习内容 1.[问题描述] 凯撒密码是把字母表中的每个字母用该字母后的某个字母进行代替。 凯撒密码的通用加密算法是:C=E(P)=(P+k) mod 26 0<26<=""> 凯撒密码的通用解密算法是:P=D(C)=(P-k) mod 26 0<26<=""> 2.[阶梯任务] (1)利用课本表2-1实现凯撒密码的加密、解密算法,能够根据用户选择秘钥(移位数)和明文进行加解密,用户密钥在整数范围内; (2)对于恺撒加密实现图形界面,用户可以输入明文和密钥,在文本框中显示对应密文; (3)实现用户对文件的操作,用户可以通过指定路径文件和密钥,加密结果存储在指定文件中; (4)利用一种已经存在的编码方式,如ASCII,实现任意英文状态字符的加密; (5)学习一种中文编码方式,实现字符集加密和解密。(本项选做)。 3.[实现提示] (1) 用户可以通过命令实现密钥和明文的选择; (2) 由于字母表中共有26个字符,因此,移位前应先将移动的位数(key)和26取模。Java平台中可以实现字符和整数的自动转换,因此将字符加上一个正整数代表在字母表中右移位数。如果移动的位数为负值,则代表在字母中左移位数。

密码锁-单片机课程设计

1 绪论 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性和方便性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点随着人们对安全的重视和科技的发展,对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。具有报警功能的电子密码锁保密性高,使用灵活性好,安全系数高,密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有推广价值。电子密码锁采取电子电路控制,通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务。 本次设计使用AT89S52单片机构成最小系统,接以键盘,报警系统,液晶显示构成人性化的方便易用的电子密码锁。

2 设计任务、功能要求说明及总体方案介绍 2.1 设计目的与任务 本设计采用AT89S52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD 1602A等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统。 2.2 设计内容及要求 (1)课程设计中,锁体用LED代替(如“绿灯亮”表示开锁,“红灯亮”表示闭锁)。 (2)其密码为方8位十进制代码(代码自设定)。 (3)开锁指令为串行输入码,当开锁密码与存储密码一致时,锁被打开。当开锁密码与存储密码不一致时,电路则报警并实现自锁。(报警动作为响1分钟,停10秒) (4)选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。安装调试设计电路,查阅至少5篇参考文献。按《湖南工学院课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 2.3 设计总体方案及工作原理说明 采用以单片机AT89S52为核心的控制方案,总体框图见图1。 单片机作为本装置的核心器件,在系统中起到控制声光报警、以及数码动态显示的作用。一般来说在选择单片机时下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O 端口,以及控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接加

信息安全实验-凯撒加密加法乘法变换

【实验目的】 1. 简单加密方法的原理 2. 凯撒密码的原理及程序的编写 【实验设备与环境】 (1)计算机 (2)TC 【实验步骤(内容)】 凯撒密码就是单表代替密码,它的每一个明文字符都由其右边第3个(模26)字符代替(A由D代替,B由E代替,W由Z代替,X由A代替,Y由B代替,Z由C代替)。 (1)加法变换 c≡ (m + k) mod 26 其中m是明文对应的数据,c是与明文对应的密文数据,k是加密用的参数,叫密钥。比如:data security对应数据序列4,1,20,1,19,5,3,21,18,9,20,25,当k=5时,得密文序列9,6,25,6,24,10,8,0,23,14,25,4。 (2)乘同余码: 移位或等间隔抽取码,明密文之间没有一一对应关系。(容易产生多义性)。变换按照同余乘法进行:加密变换:C=P?k (mod 26),解密变换:P=C÷k (mod 26) ,密钥:k 源程序: #include #include char sumjiami(char ch,int n) { n=n%10; while(ch>='A'&&ch<='Z') { return ('A'+(ch-'A'+n)%26);

} while(ch>='a'&&ch<='z') { return ('a'+(ch-'a'+n)%26); } while(ch>='0'&&ch<='9') { return ('0'+(ch-'0'+n)%10); } return ch; } char sumjiemi(char ch,int n) { static int k; k=n%10; while(ch>='A'&&ch<='Z') { n=26-k; return ('A'+(ch-'A'+n)%26); } while(ch>='a'&&ch<='z') { n=26-k; return ('a'+(ch-'a'+n)%26); } while(ch>='0'&&ch<='9') { n=10-k; return ('0'+(ch-'0'+n)%10); } return ch;

现代密码学-RC4校验 实验报告

现代密码学 实 验 报 告 院系:理学院 班级:信安二班 姓名: 学号:

前言 密码学(Cryptology)是研究秘密通信的原理和破译秘密信息的方法的一门学科。密码学的基本技术就是对数据进行一组可逆的数学变换,使未授权者不能理解它的真实含义。密码学包括密码编码学(Cryptography)和密码分析学(Cryptanalyst)两个既对立又统一的主要分支学科。研究密码变化的规律并用之于编制密码以保护信息安全的科学,称为密码编码学。研究密码变化的规律并用之于密码以获取信息情报的科学,称为密码分析学,也叫密码破译学。 密码学在信息安全中占有非常重要的地位,能够为信息安全提供关键理论与技术。密码学是一门古老而深奥的学问,按其发展进程,经历了古典密码和现代密码学两个阶段。现代密码学(Modern Cryptology)通常被归类为理论数学的一个分支学科,主要以可靠的数学方法和理论为基础,为保证信息的机密性、完整性、可认证性、可控性、不可抵赖性等提供关键理论与技术。

RC4密码算法算法实现 实验目的: 理解流密码的概念及相关结构; 理解并能够编写基本的流密码体制; 熟练应用C/C++编程实现RC4密码算法体制。 实验内容: 编程实现RC4加/解密算法。 实验原理: RC4算法是一种序列密码体制或称流密码体制,其加密密钥和解密密钥相同RC4的 密钥长度可变,但为了确保哪去安全强度,目前RC4至少使用128位的密钥。 用1~256个字节(8~2048位)的可变长度密钥初始化一个256个字节的状态向量S,S的元素记为S[0],S[1],…,S[255],从始至终置换后的S包含从0到255的所有8位数。对于加密和解密,字节K是从S的255个元素中按一种系统化的方式选出的一个元素生成的。每生成一个K的值,S中的元素个体就被重新置换一次。 实验代码: Encrypt.h文件: #ifndef _ENCRYPT_RC4_ #define _ENCRYPT_RC4_ #include

电子密码锁单片机课程设计

湖南学院 课程设计 课程名称 课题名称电子密码锁设计 专业测控技术与仪器 班级测控 学号 姓名 指导教师 年月日

湖南学院 课程设计任务书 课程名称 课题电子密码锁设计 专业班级测控 学生姓名 学号 指导老师 审批 任务书下达日期年月日 任务完成日期年月日

设计内容与设计要求 设计内容: 1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的 密码为“12345”共5位密码。 2、密码的输入:采用两个按键来完成密码的输入,其中一个按 键为功能键,另一个按键为数字键。在密码都已经输入完毕并 且确认功能键之后,才能完成密码的输入过程。然后进入密码 的判断比较处理状态并给出相应的处理过程。 3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下 并开始进入按键识别状态时,按键禁止功能被激活,但启动的 状态是在3次密码输入不正确的情况下发生的。 设计要求: 1、设计方案要合理、正确; 2、系统硬件设计及焊接制作; 3、系统软件设计及调试; 4、系统联调; 5、写出设计报告。

主要设计条件 1、MCS-51单片机实验操作台1台; 2、PC机及单片机调试软件; 3、单片机应用系统板1套; 4、制作工具1套; 5、系统设计所需的元器件。 说明书格式 1.封面 2.课程设计任务书 3.目录 4.系统总体方案设计 5.系统硬件设计 6.软件设计(包括流程图) 7.系统的安装调试说明 8、总结 9、参考文献 10、附录(源程序清单及硬件原理图等); 11、课程设计成绩评分表。

进度安排 设计时间为两周 第一周 星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论 星期二、确定总体设计方案 星期三、硬件模块方案设计 星期四、软件模块方案设计 星期五、设计及调试 第二周 星期一、设计及调试 星期二、设计及调试 星期三、总调 星期四、写说明书 星期五、上午:写说明书,整理资料 下午:交设计资料,答辩 参考文献 [1]、《微型计算机原理及应用》许立梓编机械工业出版社 2002 [2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社 2000 [3]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社 2000 [4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版 社2000 [5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社 2001 [6]、《微型计算机接口技术》邓亚平编清华大学出版社 2001 [7]、《单片机原理及及应用》王迎旭编机械工业出版社 2001 [8]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社 2002 [9]、《单片机实用技术问答》谢宜仁主编人民邮电出版社 2002

密码学实验报告(AES,RSA)

华北电力大学 实验报告| | 实验名称现代密码学课程设计 课程名称现代密码学 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:

[综合实验一] AES-128加密算法实现 一、实验目的及要求 (1)用C++实现; (2)具有16字节的加密演示; (3)完成4种工作模式下的文件加密与解密:ECB, CBC, CFB,OFB. 二、所用仪器、设备 计算机、Visual C++软件。 三. 实验原理 3.1、设计综述 AES 中的操作均是以字节作为基础的,用到的变量也都是以字节为基础。State 可以用4×4的矩阵表示。AES 算法结构对加密和解密的操作,算法由轮密钥开始,并用Nr 表示对一个数据分组加密的轮数(加密轮数与密钥长度的关系如表2所示)。AES 算法的主循环State 矩阵执行1 r N 轮迭代运算,每轮都包括所有 4个阶段的代换,分别是在规范中被称为 SubBytes(字节替换)、ShiftRows(行位移变换)、MixColumns(列混合变换) 和AddRoundKey ,(由于外部输入的加密密钥K 长度有限,所以在算法中要用一个密钥扩展程序(Keyexpansion)把外部密钥 K 扩展成更长的比特串,以生成各轮的加密和解密密钥。最后执行只包括 3个阶段 (省略 MixColumns 变换)的最后一轮运算。 表2 AES 参数 比特。

3.2、字节代替(SubBytes ) AES 定义了一个S 盒,State 中每个字节按照如下方式映射为一个新的字节:把该字节的高4位作为行值,低4位作为列值,然后取出S 盒中对应行和列的元素作为输出。例如,十六进制数{84}。对应S 盒的行是8列是4,S 盒中该位置对应的值是{5F}。 S 盒是一个由16x16字节组成的矩阵,包含了8位值所能表达的256种可能的变换。S 盒按照以下方式构造: (1) 逐行按照升序排列的字节值初始化S 盒。第一行是{00},{01},{02},…,{OF}; 第二行是{10},{l1},…,{1F}等。在行X 和列Y 的字节值是{xy}。 (2) 把S 盒中的每个字节映射为它在有限域GF(k 2)中的逆。GF 代表伽罗瓦域,GF(82) 由一组从0x00到0xff 的256个值组成,加上加法和乘法。 ) 1(] [2)2(3488++++= x x x x X Z GF 。{00}被映射为它自身{00}。 (3) 把S 盒中的每个字节记成),,,,,,,,(012345678b b b b b b b b b 。对S 盒中每个字节的每位 做如下变换: i i i i i i c b b b b b i b ⊕⊕⊕⊕⊕='++++8mod )7(8mod )6(8mod )5(8mod )4( 上式中i c 是指值为{63}字节C 第i 位,即)01100011(),,,,,,,,(012345678=c c c c c c c c c 。符号(')表示更新后的变量的值。AES 用以下的矩阵方式描述了这个变换: ?? ? ?? ? ? ? ? ? ??? ? ????????????+???????????????????????????????????????? ????????????=??????????????????????????0110001111111000011111000011111000011111100011111100011111100011111100017654321076543210b b b b b b b b b b b b b b b b 最后完成的效果如图:

单片机电子密码锁课程设计

单片机电子密码锁 课程设计 1

基于单片机的电子密码锁设计 一、设计要求和条件 1.1 设计要求 根据单片机开发板所提供的元件特性和硬件电路, 编写相关的程序, 经过实验开发板实现电子密码锁在LCD1602上显示的功能。 1.搭建proteus仿真电路图平台, 模拟单片机要实现的功能; 2.焊接单片机系统开发板; 3.编写程序, 实现密码锁相关功能; 4.下载并调试程序, 实现密码锁的具体功能。 1.2 设计目的 1.熟练掌握KEIL软件的使用方法; 2.熟练掌握PROTEUS软件的使用方法; 3.掌握单片机I/O接口的工作原理; 4.掌握中断系统的工作原理; 5.掌握液晶LCD1602的工作原理及编程方法; 6.掌握蜂鸣器的编程使用; 2

7.掌握行列式键盘的工作原理及编程使用方法; 8.掌握单片机的ISP下载使用方法。 1.3 功能概述 本设计是基于单片机的密码锁设计方案, 根据要求, 给出了该单片机密码锁的硬件电路和软件程序, 同时给出了硬件设计方案、软件流程图、C语言源程序及详细注释等内容, 由于单片机实验板上的矩阵键盘为3*3的, 则规定0-5号键为数字键, 6-8号键为功能键, 其中该密码锁的具体功能介绍如下: (1)按”8”号键则输入密码, 初始密码为012345, 在LCD1602上显示密码值为”******”( 密码是保密的) , 输完6位后键盘就锁定, 在LCD1602上显示密码是否正确, 若输入的密码长度小于6位, 则1602等待密码输入。 (2)若密码输入正确后, 则绿色的发光二极管亮表示开锁, 而且1602上显示”you are right!”, 等待是否修改密码。 (3)密码输入错误时显示”code is wrong”, 接着会给你第二、第三次机会输入密码, 如果三次密码都错误时, 发出”叮咚”的报警声, 且红色报警指示灯不停闪烁, 按复位键清除报警。 3

人机交互实验报告

中北大学软件学院实验报告 专业:软件工程 方向:电子商务 课程名称:人机交互基础教程 班级:1021010C01 学号: 姓名: 辅导教师:李玉蓉 2012年2月制

成绩: 实验时间年月日时至时学时数 1.实验名称 最新人机交互技术 2.实验目的 了解最新人机交互的研究内容 3.实验内容 通过网络查询最新人机交互相关知识。 1、在百度中找到“最新人机交互视频”的相关网页,查看视频。 2、什么是eTable 。 3、人机交互技术在各个领域的应用 4. 实验原理及流程图

成绩: 5.实验过程或源代码 Etable是一种多功能电脑桌,集时尚、实用、经济于一“桌”,无论是居家卧室,还是出差旅途,都可以提供一个舒适、惬意的网上时光,部件有:多角度调节桌面、2个风扇、1个USB插口、1个活动USB插头、鼠标垫、桌腿可调节长度。 人机交互技术的发展极大地促进了计算机的快速发展和普及,已经在制造业、教育、娱乐、军事和日常生活等领域得到 广泛应用。在制造业用于产品设计、装配仿真等各个环节;在 教育中用于研发沉浸式的虚拟世界系统,供学者学习;在军事 方面头显示器等的出现给军事训练提供了极大地方便;在娱乐 中3d和4d电影的拍摄都应用到此技术;体育方面用于体育训 练和报道等;生活中,触屏手机,人脸识别技术等都用到人机 交互技术。 6.实验结论及心得 通过在网上查阅有关近期最新人机交互的视频和网页,我对人机交互的发展及在各方面的应用有了初步了解和认识

实验时间年月日时至时学时数1.实验名称 立体视觉 2.实验目的 掌握立体视觉的原理 3.实验内容 通过网络查询立体视觉相关知识。 1. 在虚拟环境是如何实现立体视觉? 2. 3D和4D电影的工作原理。 4.实验原理及流程图

信息加密与解密实验1-1 经典密码——凯撒密码

上机实验报告 一、实验目的: 本次上机实践所涉及并要求掌握的知识点。 1、理解凯撒密码的加密、解密过程 二、实验环境 PC机一台 三、实验内容 实验一移动3位的凯撒密码: 1.(1)用移动3位的凯撒密码加密“keep this secret” (2)用移动3位的凯撒密码加密你的某位老师的名字 2.破译下列谜语的答案。这些答案是用移动3位的凯撒密码来加密的。 (1)谜语:What do you call a sleeping bull?(你怎么称呼一只 睡着的公牛?) 答案: D EXOOGRCHU (2)谜语:What is the different between a teacher and a train? (老师与火车的区别是什么?) 答案:WKH WHDFKHU VDBV “QR JXP DOORZHG” WKH WUDLQ VDBV “FKHZ FKHZ” 实验二移动4位的凯撒密码: 1.请解密下面伊薇写给艾比的便条,她使用的是移动4位的凯撒密码 WSVVC PIX’W YWI GMTLIVW JVSQ RSA SR

2.谜语:What do you call a dog at the beach ?(你怎么称呼一只在海滩 上的狗?) 答案(移动4位密码):E LSX HSK 实验三凯撒密码破解: 1.凯撒密码破解 密文:NGBKGMUUJZOSK 实验四用数传递信息的方法破译以下的谜语: 1.谜语:What kind of cookies do birds like?(鸟儿喜欢什么种类的饼干?) 答案:2,7,14,2,14,11,0,19,4 2,7,8,17,15 2.谜语:What always ends everything?(什么总是能终结所有事情?) 答案:19,7,4 11,4,19,19,4,17 四、实验总结 通过上机实践,对所学内容的某个知识点有了更深入的理解,写出一些体会、学习心得,甚至是改进意见。 也可以写对界面设计、算法设计、代码编写、程序调试、程序改进等相关的收获、感悟。 五、附录(源程序清单,包含适当的注释)

相关主题
文本预览
相关文档 最新文档