教学与实验——密码学

教学与实验——密码学
教学与实验——密码学

教学与实验——密码学

密码学在信息安全方面起着重要的作用,而它又是围绕对称密钥和非对称密钥技术展开着。对称密钥和非对称密钥技术应用在数据加密、身份认证和数字签名等。是保证信息具备保密性、可靠性、完整性和不可抵赖性的有效工具。

标签:对称密钥非对称密钥加密

0 引言

《网络运行与维护》是计算机信息管理专业的一门核心课程。本课的关键内容是密码学,而密码学又是围绕对称密钥和非对称密钥技术展开的。同时对称密钥和非对称密钥的应用非常广泛,这就要求学生对这部分内容掌握得相当扎实。为此有针对性地采取适当的方式开展实验教学。真正做到实验学生做,思路学生想,疑难学生议,错误学生析,使学生的综合能力在实验过程中得到最大限度的提高。

1 对称密码

对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。

2 非对称密码

非称加密算法使用两把完全不同但又是完全匹配的一对钥匙——公钥和私钥。在使用非称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。非称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用非对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而

实验二 古典密码

实验2 古典密码 1.实验目的 (1)了解古典密码中的基本加密运算。 (2)了解几种典型的古典密码体制。 (3)掌握古典密码的统计分析方法。 2.实验内容 (1)古典密码体制 ①简单移位加密(单表代换) 该加密方法中,加密时将明文中的每个字母向前推移K位。经典恺撒密码加密变换就是这种变换,取k=3。 步骤1:打开CAP4软件,并加载实验一附带的“mw.txt”,如图2-1所示。 图2-1加载文件

步骤2:采用恺撒加密方法手工加密“mw.txt”;打开CAP4菜单栏“Cipher”菜单项选择“simple shift”选项,并选择移位值“shift value”为3,加密步骤1中加载的文件,如图2-2所示。 图2-2 参数设置 图2-3加密文件

步骤3:比较二者的加密结果是否相同。 步骤4:点击CAP4软件中的“Simple analysis”下的“shift”键,观察恺撒加密法的可能密钥值,并分析其攻击的难度,如图2-4所示。 图2-4密钥分析 ②仿射密码加密(单表代换) 在仿射密码加密(affine cipher)中,字母表中的字母被赋予一个数字,例如,a=0,b=1,c=2,…,z=25.仿射密码加密法的密钥为0~25之间的数字对(a,b)。a与26的最大公约数必须为1,这就是说能整除a和26的数只有1.现在假设m为明文字母的数字,而c为密文字母的数字,那么,这两个数字之间有如下关系: c=(am+b)(mod 26) m=a-1(c-b)(mod 26) 其中,(mod 26)的操作是:除以26,得其余数。 例如,选取密钥为(7,3)。因为7与26互素,也就是只有公约数1,所以(7,3)可以作为仿射密码的加密钥。将“hot”转换成数字7、14、19,利用仿射等式生成: c(H)=(7×7+3) mod 26=52 mod 26=0,即为字母“a“。 c(O)=(7×14+3) mod 26=101 mod 26=23,即为字母“x“. c(T)=(7×19+3) mod 26=136 mod 26=6,即为字母”g”. 这样,对于这个密钥,”hot”变成了“axg“.

密码学

密码学 ——信息战中的一把利剑 中文摘要:密码技术是保障信息安全的核心技术。密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。Abstract:Cryptographic techniques to protect the information security of the core technology. Cryptography is the practice of encoding and decoding of the struggle gradually developed, and along with the application of advanced science and technology has become a comprehensive cutting-edge technological sciences. 中文关键字:密码学密码技术信息安全 Keyword:Cryptology Crytography Security 第一章引言 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 一般来讲,信息安全主要包括系统安全及数据安全两方面的内容。系统安全一般采用防火墙、病毒查杀、防范等被动措施;而数据安全则主要是指采用现代密码技术对数据进行主动保护,如数据保密、数据完整性、数据不可否认与抵赖、双向身份认证等。 密码技术是保障信息安全的核心技术。密码技术在古代就已经得到应用,但仅限于外交和军事等重要领域。随着现代计算机技术的飞速发展,密码技术正在不断向更多其他领域渗透。它是集数学、计算机科学、电子与通信等诸多学科于一身的交叉学科。密码技术不仅能够保证机密性信息的加密,而且完成数字签名、身份验证、系统安全等功能。所以,使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和确证性,防止信息被篡改、伪造和假冒。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。 密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。

密码学实验报告模板总结模板计划模板.doc

密码学应用与实践课程实验报告 实验 1:实现 DES密码体制 一、实验目的 1.编写程序实现 DES的加、解 密:1)编程构造 DES的密钥; 2)应用上述获得的密钥将一段英文或文件进行加、解密。 2.用 DES算法实现口令的安全 二、实验内容 1.DES原理 DES综合运用了置换,代换,移位多种密码技术,是一种乘积密码。在算法结构上采用迭代 结构,从而使其结构清晰,调理清楚,算法为对合运算,便于实现,运行速度快。DES使用了初始置换IP 和 IP-1 各一次(相应的置换看算法描述图表)置换P16 次,安排使用这 3 个置换的目的是把数据彻底打乱重排。选择置换 E 一方面把数据打乱重排,另一方面把32 位输入扩展为48 位,算法中除了S- 盒是非线性变换外,其余变换均为显示变换,所以保密 的关键是选择S- 盒。符合以下 3 条准则: (1)对任何一个 S- 盒而言,没有任何线性方程式等价于此S-盒的输出输入关系,即是S- 盒是非线性函数。 (2)改变 s- 盒的任何一位输入,都会导致两位以上的输出改变,即满足" 雪崩效应 " 。(3)当固定某一个位的输入时,S- 盒的 4 个出位之间,其中0 和 1 的个数之差小。这个准 则的本质是数据压缩,把四位输入压缩为 4 位输出。选择 S-盒函数的输入中任意改变数位, 其输出至少变化两位。因为算法中使用了16 次迭代,大大提高了保密性。 2.DES算法由加密、解密和子密钥的生成三部分组成 1)加密 DES算法处理的数据对象是一组64 比特的明文串。设该明文串为m=m1m2m64 (mi=0 或 1) 。明文串经过64 比特的密钥K 来加密,最后生成长度为64 比特的密文E。其加密过程图示如下:

数据分析与处理-课程教学大纲

《数据分析与处理》课程教学大纲 一、课程基本信息 1.课程代码: 2.课程名称:数据分析与处理 3.课程英文名称: 4.课程类型:CC 5.授课对象:电子商务本科 6.开课单位:信息技术与商务管理系 7.教学时间安排:第2学期 8.先修课程:信息技术基础 9.并行课程: 10.后修课程:数据库原理与应用,动态网站设计基础,电子商务网站建设与管理,电子商务综合实训 11.学时安排: 二、课程教学目标及教学任务 (一)教学目标 1.教学目标的总体概括 既要能够掌握EXCEL的整体概念和基本操作步骤,又要掌握EXCEL在数据分析与处理方面的具体应用。 2.教学目标列表

(二)课程培养能力体系

(三)课程培养目标与课程内容映射表 见附件《数据库原理与应用课程培养目标与课程内容对应mapping图》。 (四)教学任务 实验报告:实验目的明确,实验内容完整,实验步骤正确,实验结论真实、准确,优秀学生能总结出系统的实验注意事项。 作业:作业内容正确,资料翔实,论证充分、有力,优秀学生能够提出鲜明的个人观点,同一问题能够给出简洁明了的答案,具有一定的创新性。 三、各单元教学内容及基本要求 第一部分数据的输入与编辑(2学时(讲课)+2学时课堂练习= 4课时) 教学内容: 1、数据输入的一般操作 2、特殊数据的快捷输入 3、有规律数据的序列输入法 4、设置有效性对输入数据审核 5、下拉式列表选择输入的设计 6、数据的编辑操作 教学重难点: 1、设置有效性对输入数据审核 2、下拉式列表选择输入的设计 教学目标: 1、掌握Excel基本的概念 2、掌握单元格及单元格区域简单数据的输入 3、掌握下拉式列表选择输入的设计 第二部分单元格数据的格式设置(1(讲课)+1(课堂练习)= 4课时) 教学内容: 1、单元格格式的一般设置 2、各种内置数字格式的使用 3、自定义数字格式的应用 4、条件格式化的应用 教学重难点: 1、自定义数字格式的应用

密码学基础教学大纲完整版

《密码学基础》课程教学大纲 (课程代码:07310620) 课程简介 密码学基础是信息安全专业的一门技术基础课程,该课程的学习将为后续的信息安全课程打下基础,同时也为将来从事信息安全研究和安全系统的设计提供 必要的基础。该课程主要讲授流密码(古典密码学)分组密码学、公钥密码学、 密钥分配与管理、信息认证和杂凑算法、数字签名以及网络加密与认证等几个部分,在其中将学习各种加解密、散列函数、单向函数、签名模式及伪随机发生器 等多种密码学工具,以及如何应用这些工具设计一个实现基本信息安全目标的系 统(目前学时不够,没有安排)。基本密码学工具的掌握和应用这些工具构造安 全服务就是本课程的基本目标。 本课程具有如下特点: (一)依赖很强的数学基础 本课程需要数论、近世代数、概率论、信息论、计算复杂性等数学知识作为 学习的基础。这些数学基础的讲解既要体现本身的体系性,同时还要兼顾密码学背景。 (二)可扩展性强 各种具体方法的学习不是本课程的最终目标,背后的基本原理以及应用这些原理设计新工具的能力才是本课程的最终目标。 (三)课程内容复杂且涉及面广 由于密码学内容丰富,且包含许多复杂的知识点,所以本课程的讲授以线为主,即在基本主线的勾勒基础上对授课内容及复杂程度做出取舍。 本课程先修课程有:数据结构、近世代数、概率论、高等数学、高级语言程 序设计等。后续课程有信息安全扫描技术、PKI技术、病毒学等专业课程。 课程教材选用国内信息安全优秀教材杨波编著的《现代密码学》(清华大学出版社),同时参考国外优秀教材:《经典密码学与现代密码学》,Richard Spillman,清华大学出版社、Douglas R. Stinson著,冯登国译的《密码学原理和实践》,电子工业出版社,2003年2月第二版。另外还向学生推荐国内的一些具有特色的操作系统教材如胡向东编写的《应用密码学教程》(电子工业出版社)等。 实验教材选用自编的实验指导书,同时参考上海交大的“信息安全综合实验系统实验指导书”,除了这些教材之外,学校的图书馆为师生提供了相关的学术 期刊和图书。 课程教学体系:理论课程(34学时)课程实验(16学时)。达到从算法 验证、综合设计、到创新应用知识的逐步提高、全面培养的目的。相应的教学 材料由教学大纲、实验大纲、实验指导书等。实践环节的实验条件有:计算机 科学技术系的实验中心(实施课程实验)。 课程教学安排 序号内容课时数备注 一密码学概述 2 二古典密码学算法(一) 2

古典密码学实验

一、实验背景与目的 通过实现简单的古典密码算法,理解密码学的相关概念如明文(plaintext)、密文(ciphertext)、加密密钥(encryption key)、解密密钥(decryption key)、加密算法(encryption algorithm)、解密算法(decryption algorithm)等。 二、实验环境 Visual C++6.0 三、实验内容 (1)用C\C++语言实现仿射变换(Affine)加/解密算法;2) (2)用C\C++语言实现统计26个英文字母出现的频率的程序; (3)利用仿射变换加/解密程序对一段较长的英文文章进行加密,再利用统计 软件对明文和密文中字母出现的频率进行统计并作对比,观察有什么规 律。 其中a, b为密钥, 25 , 0≤ ≤b a ,且gcd(a, 26)=1 实验要求:加/解密程序对任意满足条件的a、b都能够处理。仿射变换: 加密: ()26 mod , b am m E c b a + = = 解密: ()()26 mod 1 , b c a c D m b a - = =- 四、实验原理 一个仿射变换对应于一个矩阵和一个向量的乘法,而仿射变换的复合对应于普通的矩阵乘法,只要加入一个额外的行到矩阵的底下,这一行全部是0除了最右边是一个1,而列向量的底下要加上一个1。仿射变换原理在基于MQ问题的多变元公钥密码中,公钥一般是方程组,但是这种没有处理的方程组很容易受到插值法的攻击,例如:首先在q元有限域上选取个变量以及个变量。构造方程组:这里面公钥信息方程组就是:其中是明文信息,而则是密文。可以看出这样的公钥信息很容易受到插值法的攻击,下面使用仿射将

密码学实验指导

密码学实验指导

目录 实验一凯撒密码算法实验 1 实验二维吉利亚密码算法实验 5 实验三普莱费尔密码算法实验 9 实验四 IDEA密码算法实验 17 实验五 BCH纠错编码算法任务书 27

实验一凯撒密码算法实验 1 实验目的 通过实验熟练掌握凯撒密码算法,学会凯撒密码算法程序设计,提高C++程序设计能力。 2 实验学时:2 实验类别:验证实验■综合性实验□设计性实验□ 3 实验环境 软件环境Windows Xp/Windows 2000 Visual c++/Turbo c++ 3.0 硬件系统Pentium 4 3.0G 512MRAM 计算机等 4 算法原理 按照a~z依次对应0~25编码,变量K存放密钥-正整数。变量M存放一明文字符ASCII码,变量C存放M中的数据经加密后得到的一密文字符的ASCII码。 加密算法:C≡(M+K)mod 26,如此继续下去,实现逐个字符进行加密。 5 实验步骤与内容 1)编写程序 2)编辑录入 3)记录调试及进行情况 4)程序结构说明文档 5)程序使用说明文档 6 思考密钥K的有效的最小取值范围 7 实验总结与体会 8 要求提交完整的实验报告 9 参考程序代码 #include #include using namespace std; //获取密钥函数getKey()

int getKey() { int key; cout<<"请输入密钥:"; cin>>key; return key; } //将明文中的字符全部转化为大写的函数change() void change(char s[]) { int i; for(i=0;i96&&s[i]<122) s[i] = s[i]-32; } } //判断输入的明文格式是否有误的函数getError() //有误则返回0,否则就返回1 int getError(char s[]) { int i,error; for(i=0;i65&&s[i]<=82)||(s[i]>96&&s[i]<=122)) { error = 1;

网络安全课程设计实践性教学环节教学大纲

《网络安全课程设计》教学大纲 课程编号:B1864032C 课内周数:2周 课程类别:□通识基础□学科基础□专业基础■专业 适用专业: 一、所涉及的课程及知识点 网络安全课程设计主要涉及网络工程专业“网络安全技术”、“计算机网络”等课程,其中网络安全技术涉及到知识点包括网络监听、ARP欺骗、木马攻击、拒绝服务攻击、口令破解、防火墙、入侵检测系统等,计算机网络课程涉及知识点涵括多种网络协议:ARP协议、ICMP协议、IP、TCP、UDP协议以及局域网、路由器、网卡工作模式等。 二、目的与任务 目的:本课程是建立在学生掌握网络安全和计算机网络基本概念和理论基础上,通过上机实验操作,使学生进一步深刻领会课堂上所学的攻击和防御的理论知识,并了解如何将这些理论知识运用到实际网络安全问题解决过程中。通过对常见网络攻击和防御的软件安装、配置以及使用,培养学生在实际环境中处理网络安全问题的能力,掌握网络协议的实现机制;通过设计编写安全程序,提高学生分析网络安全问题、并通过查阅资料独立解决问题、以及软件设计、编写及调试等基本操作技能。 任务:本课程任务分为两个模块。模块一是熟悉并掌握几个典型的网络攻防实验原理:网络嗅探、ARP欺骗攻击、端口和漏洞扫描、口令攻击、木马攻击、拒绝服务攻击、防火墙的配置、入侵检测系统,对于每一种攻击或者防范,根据给定的相应软件,安装并使用这些软件,分析实验结果,验证实验原理,模块一的任务每位同学必须独立完成,提交实验报告。模块二分为九个主题,几位同学为一组,每一组选择其中某一个安全主题,设计并编写满足给定题目要求的程序,测试并分析程序运行结果,并在指导老师要求下完成简单的答辩,每一组均需提交电子档的源程序代码、可执行文件、程序使用说明文档以及完整的课程设计报告,同时提交纸质版设计报告。 三、内容与要求 模块一:网络安全攻击与防御验证 (一)课题内容 本模块学生利用指导老师提供的相应软件工具,安装、配置并使用各软件,验证其安全攻击与防范的实验原理。具体实验内容如下:使用一种sniffer工具软件Wireshark嗅探用户名和密码;在局域网内使用ARP欺骗软件对任意一台主机实行ARP欺骗,使其不能访问外网;掌握防范ARP欺骗的MAC 地址与IP地址绑定方法;利用端口扫描软件nmap/xcan扫描目标主机开放端口;使用漏洞扫描工具nessus扫描主机漏洞;使用LC5(L0phtCrack V5)软件破解windows XP系统用户密码;了解冰河木马的操作与运行过程,掌握删除系统木马的方法;观察拒绝服务攻击中UDP泛洪攻击的实验现象;安装并配置天网防火墙,安装并配置入侵检测系统snort。

教学与实验——密码学

教学与实验——密码学 密码学在信息安全方面起着重要的作用,而它又是围绕对称密钥和非对称密钥技术展开着。对称密钥和非对称密钥技术应用在数据加密、身份认证和数字签名等。是保证信息具备保密性、可靠性、完整性和不可抵赖性的有效工具。 标签:对称密钥非对称密钥加密 0 引言 《网络运行与维护》是计算机信息管理专业的一门核心课程。本课的关键内容是密码学,而密码学又是围绕对称密钥和非对称密钥技术展开的。同时对称密钥和非对称密钥的应用非常广泛,这就要求学生对这部分内容掌握得相当扎实。为此有针对性地采取适当的方式开展实验教学。真正做到实验学生做,思路学生想,疑难学生议,错误学生析,使学生的综合能力在实验过程中得到最大限度的提高。 1 对称密码 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。 2 非对称密码 非称加密算法使用两把完全不同但又是完全匹配的一对钥匙——公钥和私钥。在使用非称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。非称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用非对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而

实验一_经典密码学实验_

实验一经典密码学实验 【实验原理】 古典密码算法历史上曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密码算法建立一个初步的印象。 1.替代密码 替代密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代后形成密文。例如:明文字母a、b、c、d ,用D、E、F、G做对应替换后形成密文。 替代密码包括多种类型,如单表替代密码、多明码替代密码、多字母替代密码、多表替代密码等。下面我们介绍一种典型的单表替代密码,恺撒(caesar)密码,又叫循环移位密码。它的加密方法,就是将明文中的每个字母用此字符在字母表中后面第k个字母替代。它的加密过程可以表示为下面的函数: E(m)=(m+k) mod n 其中:m为明文字母在字母表中的位置数;n为字母表中的字母个数;k为密钥;E(m)为密文字母在字母表中对应的位置数。 例如,对于明文字母H,其在字母表中的位置数为8,设k=4,则按照上式计算出来的密文为L: E(8) = (m+k) mod n = (8+4) mod 26 = 12 = L 2.置换密码 置换密码算法的原理是不改变明文字符,只将字符在明文中的排列顺序改变,从而实现明文信息的加密。置换密码有时又称为换位密码。 矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中字母,从而形成密文。例如,明文为attack begins at five,密钥为cipher,将明文按照每行6列的形式排在矩阵中,形成如下形式: a t t a c k b e g i n s

谈现代密码学的教学

第33卷第9期湖南科技学院学报V ol.33 No.9 2012年9月 Journal of Hunan University of Science and Engineering Sep.2012 谈现代密码学的教学 黄琼郭艾侠 (华南农业大学 信息学院,广东 广州 510642) 摘 要:密码学是实现信息安全的一个重要工具。文章就如何提高现代密码学课程的教学效率、激发学生的兴趣,阐述几点感觉和体会。在教学中应注重理论与应用、攻击与防御的紧密结合,以应用入手,带出理论,再辅之以理论在实际中的具体应用。 关键词:信息安全;密码学;数学;教学思想 中图分类号:G642文献标识码:A 文章编号:1673-2219(2012)09-0171-02 0 引 言 近年来,随着计算机、网络、通信等的信息技术迅速发展,出现了大量的电子、计算机设备和应用系统,以及网络信息系统,例如电子商务、电子政务、网上银行、移动通信 等。这些设备和系统与人们的日常生活的联系越来越紧密,成为人们生活中不可或缺的部分。虽然社会的信息化程度越来越高,这些设备和系统在我们的生活中起着越来越重要的作用,但是随之而来的安全问题却不容小觑。近几年信息安全事件频繁发生,信息泄漏给人们的生活造成诸多不良影响和困扰,使得人们对信息安全的关注度也越来越高。如何保障信息安全也成为了一个热点研究问题。然而,无论是过去、现在还是将来,信息安全保障技术以数学和计算机科学为基础,需要相关专业的毕业生来开发并实现这些防护技术。因此,许多高校都开设了信息安全或相关专业,培养优秀毕业生,将来从事信息安全建设工作。 保障信息安全的一个重要手段是密码学。密码技术可以用于实现数据的保密性、完整性、不可篡改性、可用性、不可抵赖性等,也可以用于控制对数据的访问。密码学的重要基础是数学,如抽像代数、数论等,理论性强,是一门相对比较难学的学科。许多学生对如何使用理论知识来解决实际问题还不是很清楚[1]。高校开设这门课程的目的之一是要求学生具备一定的分析问题和解决问题的动手能力,能够进行一些安全实践[2, 3]。笔者就如何激发学生的兴趣、提高信息安全数学基础的教学效率和效果,阐述几点感想与体会,与同行做探讨。 收稿日期:2012-07-05 基金项目:华南农业大学2010年度教育教学改革项目(JG10120)和华南农业大学信息学院教改课题(INFJG09 03)。 作者简介:黄琼(1982-),男,江西南昌人,副教授,博士,研究方向为密码学与信息安全。郭艾侠(1974-),女,安徽宿州人,讲师,研究方向为信息安全。 1 现代密码学的特点 与其它课程相比,现代密码学具有以下特点[5]: (1)密码学是一门具有非常强的理论性的学科,其教学离不开密码理论的讲授,常常需要讲解各种方案的原理。然而,光讲解密码理论的话,学生很容易感觉到枯燥。各种密码方案都具有其应用背景,且学生们多数都对应用较为感兴趣。因此,密码学的教学过程中应该理论与应用并重,以应用引出理论,再以理论指导应用。 (2)现代密码学的内容涉及数论、抽象代数、概率等诸多数学知识,范围较广,潜在地要求学生具有一定的数学基础。 (3)由于密码学的应用很广,如数据库安全、网络安全、操作系统安全等都需要用到密码工具。因此,密码学也就和这些相关课程有着密切的关联。在教学过程中可穿插一些密码学在各个领域的应用。 2 教学感受与体会 针对以上特点,在教学实践中笔者采取了如下的思路和方法。 2.1以数据隐藏为切入点 密码学的发展源于数据的隐藏,早在古罗马时期就出现了数据加密技术“凯撒密码”。除此之外,还有很多经典的古典加密方法,如普莱菲尔密码、维吉尼亚密码等。此类的数据加密技术较容易引起学生的兴趣,二战时期美国与德国、日本之间的“密码战争”的故事更能激发学生对密码术的兴趣。在实际教学中可以用此类的故事展开,然后举一些古典密码的例子,如: 加密方法:凯撒密码 明文:Attack Midway Island Tomorrow 密文:Dwwdfn plgzdb Lvodqg Wrpruurz 密钥:3 使学生掌握“明文”、“密文”、“密钥”这几个概念以及加密、解密是怎么一回事。由此,向学生讲解对称加密的机制,并 171

密码学实验报告总结

密码学实验报告(本文档为Word版本,下载后可自由编辑) 项目名称:××××××××× 项目负责人:××× 联系电话:××××× 编制日期:×××××

密码学实验报告 实验目的:掌握Caesar密码加密解密原理,并利用VC++编程实现。 实验内容:Caesar密码的加密原理是对明文加上一个密钥(偏移值)而得到密文。假设密钥为3,那么字母“a”对应的ASCII码为97,加上3得100正好是字母“d”的ASCII码值, 实验说明:加密实现的两种方式,只限定英文字母(区分大小写),加密时,根据明文字符是小(大)写字母,采用加密运算: 密文字符=“a”或“A”+(明文字符-“a”或“A”+password%26+26)%26 如果输入其他字符,则直接原样输出,不作处理 可以是任意字符 加密时,我们不做任何区分,直接利用Caesar密码算法 密文字符=明文字符+password 解密反之。 实验结果: void CCaesarDlg::OnButton1() //加密按钮 { UpdateData(TRUE); //从界面上的输入的值传入成员变量 m_crypt=m_plaintxt; //密文进行初始化,它与明文的长度是相同的 for(int i=0;i=48&&m_plaintxt.GetAt(i)<=57) //如果输入的字符是数字 { m_crypt.SetAt(i,'0'+(m_plaintxt.GetAt(i)-'0'+m_password%10 +10)%10);

《密码学》教学大纲.docx

《密码学》教学大纲 《Cryptography 》 课程编号: 2180081 学时: 48 学分: 2.5 授课学院:软件学院 适用专业:软件工程 教材(名称、主编或译者、出版社、出版时间): [1]Wade Trappe, Lawrence C. Washington,Introduction to cryptography with coding theory, Prentice-Hall (科学出版社影印 ), 2002 。 [2]Alfred J. Menezes, Paul C. van Oorschot , Scott A. Vanstone, Handbook of applied cryptography, CRC Press, 1997。 主要参考资料: [1]卢开澄,计算机密码学 - 计算机网络中的数据保密与安全,清华大学出版社,2003。 [2]Bruce Schneie 著,吴世忠,祝世雄,张文政等译,何德全审校,应用密码学 - 协议、算法与 C 源程序,机械工业出版社, 2000。 [3]Steve Burnett, Stephen Pain 著,冯登国,周永彬,张振峰,李德全等译,密 码工程实践指南,清华大学出版社, 2001。 [4]Paul Garret 著,吴世忠,宋晓龙,郭涛等译,密码学导引,机械工业出版社,2003。 [5]Wenbo Mao 著, 王继林,伍前红等译,王育民,姜正涛审校,现代密码学理 论与实践,电子工业出版社, 2004。 一.课程的性质、目的及任务 密码学是软件工程专业拓宽、提高性的专业选修课。 大量的信息以数据形式存放在计算机系统中并通过公共信道传输。保护信息的安全已不仅仅是军事和政府部门感兴趣的问题,各企事业单位也愈感迫切。密码技术是信息安全中的关键技术,它的有效使用可以极大地提高网络的安全性。

信息安全专业的密码学教学

信息安全专业的密码学教学 本文介绍了一些常见的误用密码协议的例子,进而探讨了信息安全专业密码学教学中的一些可行性方法。 关键词:信息系统;密码;协议;教学 1简介 由于使用了数学中的有限域和数论理论,因此密码学课程一直被视为是非常数学的。诚然,数学基础对现代密码方案设计和算法理解是至关重要的,但是对于密码系统开发和评估人员来说,一般不需要考虑底层的密码算法,而是需要分析高层密码协议(如密钥分配协议,身份认证协议)的安全性。因此,过分强调数学在密码学中的作用而忽视一般密码知识的重要性,就导致出现了很多有缺陷的密码系统,而这些缺陷一般都不是因为底层密码算法的瑕疵而引起的。故此,如何使信息安全的思想和方法更有效地被系统开发者理解,引起了国内外政府、大学、科研机构的高度关注。我国于本世纪初在一些大学先后开设了信息安全专业,但是如何将密码学从纯粹数学研究或者科学研究领域转变为非数学和科研工作者应用的开发工具,是一个严峻的挑战,而分析和总结非数学专业密码学课程的教学是一项有意义的工作。 2一些例子 本节介绍一些有缺陷的密码系统,从中可以看出缺乏对必要的密码协议的理解将带来的安全隐患。 2.1商场支付卡系统 商家的支付可系统通常用一个PIN码簿加密客户的PIN码。由于系统的敏感性,PIN码簿应周期性地更新。而在早先的装置中,这些系统使用主密钥管理系统,这就需要信用卡认证主机定期下载一个新的会话密钥充当PIN码簿。但不幸的是,商家终端和信用卡认证主机之间通信协议的设计者没有意识到这个问题,在通信协议中不提供对更新会话密钥的下载,因此大多数情况下,会话密钥没有更新。 2.2IBM 4758处理器

古典密码学

古典密码学 爱伦坡所说:密码可破!人类的智慧不可能造成这样的密码,使得人类本身的才智即使运用得当也无法破开它! 一、密码学的发展历程 密码学在公元前400多年就早已经产生了,正如《破译者》一书中所说“人类使用密码的历史几乎与使用文字的时间一样长”。密码学的起源的确要追溯到人类刚刚出现,并且尝试去学习如何通信的时候,为了确保他们的通信的机密,最先是有意识的使用一些简单的方法来加密信息,通过一些(密码)象形文字相互传达信息。接着由于文字的出现和使用,确保通信的机密性就成为一种艺术,古代发明了不少加密信息和传达信息的方法。例如我国古代的烽火就是一种传递军情的方法,再如古代的兵符就是用来传达信息的密令。就连闯荡江湖的侠士,都有秘密的黑道行话,更何况是那些不堪忍受压迫义士在秘密起义前进行地下联络的暗语,这都促进了密码学的发展。 事实上,密码学真正成为科学是在19世纪末和20世纪初期,由于军事、数学、通讯等相关技术的发展,特别是两次世界大战中对军事信息保密传递和破获敌方信息的需求,密码学得到了空前的发展,并广泛的用于军事情报部门的决策。例如在希特勒一上台时,德国就试验并使用了一种命名为“谜”的密码机,“谜”型机能产生220亿种不同的密钥组合,假如一个人日夜不停地工作,每分钟测试一种密钥的话,需要约4.2万年才能将所有的密钥可能组合试完,希特勒完全相信了这种密码机的安全性。然而,英国获知了“谜”型机的密码原理,完成了一部针对“谜”型机的绰号叫“炸弹”的密码破译机,每秒钟可处理2000个字符,它几乎可以破译截获德国的所有情报。后来又研制出一种每秒钟可处理5000个字符的“巨人”型密码破译机并投入使用,至此同盟国几乎掌握了德国纳粹的绝大多数军事秘密和机密,而德国军方却对此一无所知;太平洋战争中,美军成功破译了日本海军的密码机,读懂了日本舰队司令官山本五十六发给各指挥官的命令,在中途岛彻底击溃了日本海军,击毙了山本五十六,导致了太平洋战争的决定性转折。因此,我们可以说,密码学为战争的胜利立了大功。在当今密码学不仅用于国家军事安全上,人们已经将重点更多的集中在实际应用,在你的生活就有很多密码,例如为了防止别人查阅你文件,你可以将你的文件加密;为了防止窃取你钱物,你在银行账户上设置密码,等等。随着科技的发展和信息保密的需求,密码学的应用将融入了你的日常生活。 二、密码学的基础知识 密码学(Cryptogra phy)在希腊文用Kruptos(hidden)+graphein(to write)表达,现代准确的术语为“密码编制学”,简称“编密学”,与之相对的专门研究如何破解密码的学问称之为“密码分析学”。密码学是主要研究通信安全和保密的学科,他包括两个分支:密码编码学和密码分析学。密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。这两者之间既相互对立又相互促进。密码的基本思想是对机密信息进行伪装。一个密码系统完成如下伪装:加密者对需要进行伪装机密信息(明文)进行伪装进行变换(加密变换),得到另外一种看起来似乎与原有信息不相关的表示(密文),如果合法者(接收者)获得了伪装后的信息,那么他可以通过事先约定的密钥,从得到的信息中分析得到原有的机密信息(解密变换),而如果不合法的用户(密码分析者)试图从这种伪装后信息中分析得到原有的机密信息,那么,要么这种分析过程根本是不可能的,要么代价过于巨大,以至于无法进

现代密码学-古典密码实验报告

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

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

古典密码算法实验 在密码编码体制中有两种基本也是古老的编码体制一直沿用至今,它们是代替密码和置换密码,其历史悠久并且是现代密码体制的基本组成部分,在密码学中占有重要地位。古典密码是密码学发展的一个阶段,也是近代密码学产生的渊源,一般把Shannon 在1949 年发表“保密系统的通信理论”之前的时期称为古典密码时期。尽管古典密码大多比较简单,一般可用手工或机械方式实现,且都可用统计分析方法破译,目前已很少采用。但是,古典密码所采用的代替技术和置换技术仍然是现代分组密码算法设计的基础,了解它们的设计原理,有助于理解、设计和分析现代密码。 一、实验目的 通过编程实现经典的代替密码算法和置换密码,包括移位密码、维吉尼亚密码、周期置换密码、列置换密码,加深对代替技术的了解,为现代分组密码实验奠定基础。 二、实验原理 代替(Substitution)是古典密码中基本的处理技巧,就是将明文字母由其他字母表中

古典加密实验报告

古典密码算法 一、实验目的 学习常见的古典密码学算法,通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为深入学习密码学奠定基础。 二、实验要求 分析替代密码算法和置换密码算法的功能需求,详细设计实现替代密码算法和置换密码算法的数据结构和流程,给出测试用例和测试步骤,得出测试和结论。替代密码算法和置换密码算法的实现程序必须提供加密和解密两个接口:int encrypt()和int decrypt()。当加密或者解密成功时返回CRYPT_OK,失败时返回CRYPT_ERROR。 三、实验原理 古典密码算法曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。下面介绍两种算法:替代密码和置换密码。 1.替代密码的原理是使用替代法进行加密,就是将明文由其它的字母、数字或符合所代替后形成密文。这里每个明文字母对应的密文字母可能是一个,也可能是多个。接收者对密文进行逆向替换即可得到明文。 2.置换密码算法的原理是不改变明文字符,而是按照某一规则重新排列消息中的比特或字符顺序,才而实现明文信息的加密。置换密码有时又称为换位密码。 我实验过程中替代密码是单表替换,用字母的下一个字母代替:for(j = 0; j < i; j++)

{ if(96 < Mingwen[j]&&Mingwen[j] < 123) { Miwen[j] = 'a' + (Mingwen[j] - 'a' + 1) % 26; } else { Miwen[j] = 'A' + (Mingwen[j] - 'A' + 1) % 26; } } 置换加密主要是对密钥进行整理,还有就是动态分配二维数组,将明文和密文填充置的过程,换密码关键代码如下: for(a = 0; a < k; a++) { for(b = 0; b < hang; b++) { Miwen[i] = p[b][ord[j]]; i++; } j++; } for(a = 0; a < 26; a++) { for(b = 0; b < k; b++) { if(key1[b] == alphatable[a]) { ord[b] = ind++; } } } 具体加密见下图:

杭电密码学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。

初等数论教学大纲

《初等数论》教学大纲 Elementary number theory 一、本大纲适用专业 数学与应用数学。 二、课程性质与目的 1. 课程目标 初等数论是数学与应用数学专业一门专业选修课。通过这门课的学习,使学生获得关于整数的整除、不定方程、同余、原根与指数的基本知识,掌握数论中的最基本的理论和常用的方法,加强他们的理解和解决数学问题的能力,为今后的实际工作打下良好基础。 2. 与其它课程的关系 本课程是初等数学研究、C语言程序设计A,近世代数等课程的后续课程。 3. 开设学期 按培养方案规定的学期开设。 三、教学方式及学时分配 四、教学内容、重点 第一章整数的可除性 1. 教学目标 理解整数整除的概念、最大公约数的概念、最小公倍数的概念,掌握带余除法与辗转相除法;理解素数与合数的概念;理解和掌握素数的性质、整数关于素数的分解定理、素数的求法;掌握函数[x]和 {x} 的性质。 2. 教学内容 (1)整数整除、剩余定理:带余除法与辗转相除法;最大公约数的概念、性质及求最大公约数的方法;最小公倍数的概念、性质及最小公倍数的求法。(2)素数与合数:素数与合数的概念、素数的性质、整数关于素数的分解定理、素数

的求法;函数[x] {x} 的性质及其应用。 3. 教学方法 讲解教学。 4. 本章重点 辗转相除法,整数的素数分解定理。 5. 本章难点 求最大公因子的方法。 第二章不定方程 1. 教学目标 理解不定方程的概念,理解和掌握元不定方程有整数解的条件,会求一次不定方程的解。 2. 教学内容 (1)一次不定方程,多元一次不定方程的形式,多元一次不定方程有解条件,求简单的多元一次不定方程的解。(2)二元一次不定方程有整数解的条件,求一次不定方程的解。 3. 教学方法 讲解教学。 4. 本章重点 多元一次不定方程有解条件,二元一次不定方程有整数解的条件。 5. 本章难点 不定方程的整数解的形式,求多元不定方程的整数解。 第三章同余、同余式 1. 教学目标 理解整数同余的概念,理解和掌握同余的基本性质、整数具有素因子的条件函数相关性质;理解剩余类与完全剩余系的概念,理解欧拉函数的定义及性质;掌握欧拉定理、费马定理、孙子定理。 2. 教学内容 (1)整数同余:整数同余的概念、同余的基本性质;整数具有素因子的条件;利用同余简单验证整数乘积运算的结果。(2)剩余类与完全剩余系:剩余类与完全剩余系的概念;判断剩余系的方法;欧拉函数的定义及性质;欧拉定理、费马定理。(3)同余式的基本概念、孙子定理。 3. 教学方法 讲解教学。 4. 本章重点 剩余系的判定,欧拉函数的定义及性质,中国剩余定理。 5. 本章难点

相关文档
最新文档