应用密码学

2024-08-01

应用密码学(精选12篇)

应用密码学 篇1

摘要:建构主义的核心思想是以学生为中心,强调学生对知识的主动探索、主动发现和对所学知识意义的主动建构。该文介绍了基于建构主义的《应用密码学》课程教学设计方案。实践证明该方案符合课程特点,有利于提高学生的学习兴趣。

关键词:建构主义,应用密码学,教学设计

1 建构主义

近年来,认知学习理论的一个重要分支--建构主义学习理论在西方逐渐流行。建构主义也译作结构主义,其最早提出者可追溯至瑞士的皮亚杰。他是认知发展领域最有影响的一位心理学家,他所创立的关于儿童认知发展的学派被人们称为日内瓦学派。建构主义是认知心理学派中的一个分支,作为认知学习理论的新发展,它的产生是当代教育心理学的一场革命,对学习和教学提出了一系列积极的设想。建构主义提倡在教师指导下的、以学习者为中心的学习,也就是说,既强调学习者的认知主体作用,又不忽视教师的指导作用,教师是意义建构的帮助者、促进者,而不是知识的传授者与灌输者。学生是信息加工的主体、是意义的主动建构者,而不是外部刺激的被动接受者和被灌输的对象。在建构主义的教学模式下,目前己开发出比较成熟的有“支架式教学”、“抛锚式教学”和“随机进入教学”等教学方法。

2《应用密码学》课程的特点

密码学是信息安全的基础与核心,它能有效地保障信息的机密性、完整性、认证性和不可否认性,因此受到人们越来越多的重视。现阶段开设《应用密码学》的专业较多,如信息安全、信息与计算科学、计算机和通信等相关专业。《应用密码学》不是一门单纯的学科,它是多门学科融合而成的交叉学科,侧重于密码学的应用。从应用数学的角度看,密码学是数论、抽象代数等理论的一种应用;从通信的角度看,密码学是实现保密通信的一种技术手段;从计算机科学的角度看,密码学是数据安全、计算机安全和网络安全的研究内容;从信息处理的角度看,密码学是信息处理的一种方式。此外,《应用密码学》课程的特点还体现在授课内容的应用性很强,容易激发学生的学习兴趣。

3 基于建构主义的《应用密码学》教学实践

《应用密码学》是趣味性和应用性都很强的一门学科。若采用“以教师为中心,教师讲、学生听”为特征的传统教学模式,会使课程显得枯燥乏味,无法激发学生的学习兴趣,学生的学习主动性无法得到培养。采用建构主义理论来指导该课程的教学设计和实践,让学生成为意义的主动建构者,将能提高学生的学习兴趣,达到事半功倍的教学效果。建构主义认为,理想的学习环境应包括“情境”、“任务”、“协作交流”和“意义建构”四个部分。与其相适应的教学模式概括为:“以学生为中心,在整个教学过程中由教师起组织者、指导者、帮助者和促进者的作用,利用情境、协作、会话等学习环境要素充分发挥学生的主动性、积极性和首创精神,最终达到使学生有效地实现对当前所学知识的意义建构的目的。”下面介绍这门课程的教学设计方案。

3.1 创设情境

教学环境中的情境必须有利于学生对所学内容的意义建构,建构主义强调创设与“主题”相关的、尽可能真实的情境,从而激起学生的兴趣。例如,在讲授绪论时,利用多媒体放映密码战的专题片,学生将会深受吸引,同时也会意识到密码学的重要性。另外,在讲授古典密码体制前,先给出几段密文,它们分别由不同的密码体制加密而成,让学生尝试解密,激发他们的好奇心与求知欲。利用“问题式”的情境创设方式,让学生带着疑问来听讲,教学效果将会事半功倍。

3.2 提供任务

建构主义强调提供给学生“真实的任务”。由于《应用密码学》这门课程涵盖的知识范围非常广,相关的拓展研究也很丰富。在教学的过程中,可以布置任务让学生撰写课程论文。例如,在讲授完密钥管理技术这章后,让学生撰写论文,探讨密钥管理的技术有哪些,各有什么优缺点,如何改进等等。学生为了完成任务,就会通过多种渠道搜集资料,积极主动地对相关问题做进一步的研究和探讨。课程论文的撰写可以帮助学生更好地理解课程内容,锻炼他们的文献搜索能力和知识总结能力,从而能有效扩展知识面。

3.3 协作学习

建构主义指出:协作应贯穿在整个学习活动中。在课堂上可以将学生分组,组织学生讨论,引导学生提出问题、分析问题、解决问题。例如,在讲授完数字签名这章后,让学生分组讨论还有哪些具有特殊功能的数字签名方案,它们应怎样设计,还存在哪些局限性。这样,学生在老师的组织和引导下相互交流探讨,有利于学生创新思维和协作精神的培养,激起思维的火花,集思广益,从而达到教学相长的目标。

3.4 意义建构

通过提供任务与协作学习两个环节,学生不但掌握了与课本内容相关的一些知识点,而且头脑中已建立初步的知识框架。此后,应指导学生返回课本内容,了解课程的安排,在头脑里建立清晰的密码学概念,掌握相应的原理及应用,并能够利用密码学的基本原理来分析和解决实际问题,完成意义建构,为将来的进一步研究奠定良好的理论基础。

4 结束语

该文探讨了建构主义理论对《应用密码学》课程教学的指导作用,从建构主义的立场出发,强调以学生为中心进行教学,在教学过程中充分发挥学生的主动性,让学生有各种机会在不同的情境下去运用他们所学的知识来分析和解决问题。我们的教育方法必须摆脱传统思想的束缚,教学设计应大胆改革和创新。教师应指导学生“学会学习”,使学生的学习能力和创新潜力得到充分发展。

参考文献

[1]Piaget J.Structuralism[M].New York:Basic Books,1970.

[2]路秀华,周霞.密码学选修课课堂教学思考[J].廊坊师范学院学报:自然科学版,2010,10(3):123-125.

[3]余胜泉,杨晓娟,何克抗.基于建构主义的教学设计模式[J].电化教育研究,2000(12):7-13.

[4]杨义先,郑世慧,罗群.现代密码学精品课程建设体会[J].计算机教育,2010(15):73-75.

应用密码学 篇2

一、登录路由器(以思科 2600 路由器为例)

登录路由器与登录交换机相似,也有四种登录方法:一是通过 CONSOLE 口进行登录;二是通过 AUX 口进行登录;三是通过 TELNET 进行登录;四是通过 TFTP 服务器进行登录。在这里我们重点讲一下 CONSOLE 、TELNET 、TFTP,因为使用 AUX 需要专用的 MODEM 来拨号连接,因此现在已经很少使用。

CONSOLE 口的登录方法与交换机一样,也是需要用一根 CONSOLE 线将路由器的 CONSOLE 口与计算机的串口进行连接,然后依次打开“开始”菜单-“所有程序”-“附件”-“通讯”-“超级终端”,首先会弹出一个是否将此程序作为 TELNET 的默认程序,选择“是”,然后会打开一个连接描述的对话框。在“名称”里随便为此次连接取一个名字,如“abc”,然后单击“确定”,会弹出“连接到”对话框。在“连接时使用”的下拉列表中选择你的计算机的串口号,如“COM1”,单击“确定”,会弹出“COM1属性”对话框。单击“还原为默认值”,然后单击确定,系统将自动检测 COM1 上所连接的设备,不过路由器启动的时间相对交换机来说要慢一些。

附:路由器的启动过程(与交换机相似但有不同之处)

加电后,首先会去读取 ROM 中的 BOOTSTRAP 引导程序,将系统引导起来,当找到 FLASH 中的 IOS 系统程序后,会把 IOS 装入 RAM 中并运行。同时会去找 NVRAM (注意此点不同于交换机,路由器的配置文件是单独存放在 NVRAM 中的)中的配置文件,若找到就加载,若没有找到则启动默认的配置。

TELNET 的登录方法与交换机也有相似之处,不过,这里无需再为路由器设置一个 VLAN 了,只需输入同计算机相连接的接口的 IP 地址和特权密码即可。(这个 IP 地址其实就是我们计算机的网关)

TFTP 的登录方法有点特殊,需要运行一个 TFTP 的软件,这个软件名为“CISCO TFTP SERVER V1。1 汉化版”,是一个绿色软件,运行即可使用,无需安装。它还有一个很好的功能,可以备份路由器的 IOS,以防止路由器内的操作系统崩溃时无计可施。确定路由器与计算机之间的网络连接正常(不是用 CONSOLE 口而是用网线连接,并且保证在同一网段内,最后先 PING 一下),在路由器的特权模式下执行 COPY FLASH TFTP 命令,过一段时间即可把 IOS 备份到计算机内,默认此备份文件是放置在 TFTP 软件的文件夹内,

同理,也可以备份配置文件,特权模式下执行 COPY START TFTP 即可。

(关于 IOS 与配置文件的恢复方法,因篇幅较长,故需单独说明,请注意本章后续。)

注意:TELNET 和 TFTP 都是从网络访问路由器,因此需将计算机与路由器进行网络连接,并将计算机的网卡 IP 地址设置为与路由器同一网段。

二、与交换机一样,只要在路由器启动的时候绕过配置文件就可以达到恢复密码的目的。但是,在路由器里面,配置文件是单独存放在一个 NVRAM 里面的,名叫 STARTUP-CONFIG 。我们需要把配置寄存器(即NVRAM )的值改一下,即可让路由器在启动时绕过配置文件了。正常情况下配置寄存器的值是0X2102,只要把此值改为0X2142就可以让路由器不去读取配置文件了。具体步骤如下:

1、给路由器断电,然后再通电,在路由器启动时按下计算机键盘上的 CTRL+BREAK 键(只需要轻轻按一下,如果没有反应就是错过了机会,只有重启一次了。),即可来到路由器的ROM 环境中。

2、在提示符后键入(25系列键入O/R 0X2142,26系列键入CONFREG 0X2142),然后回车,接下来需要重启了,在提示符后键入(25系列键入I,26系列键入RESET)即可重启。

3、重启的过程中询问是否进入配置模式,键入 NO ,不进入配置模式。

4、路由器进入正常工作环境中,键入 ENABLE 或 EN 来到特权模式下,执行 COPY STARTUP-CONFIG RUNNING-CONFIG 命令,把配置文件复制到当前运行的配置文件中。

5、来到全局模式下为路由器设置一个密码,在特权模式下键入 CONF T 命令可以来到全局模式,然后键入 ENABLE PASSWORD *** 即可设置一个密码。

6、继续在全局模式下把配置寄存器的值再改回去,执行 CONFIG-REGISTER 0X2102 命令即可改回配置寄存器的值。

7、键入 END 返回特权模式,执行 COPY RUNNING-CONFIG STARTUP-CONFIG 命令,把当前的配置复制到 NVRAM 中,覆盖原来的配置,此时密码已经恢复了。(如果原来的配置文 件里是密文密码,则要设置密文密码,否则此密码无效,因为密文密码的优先级高于明文密码。设置密文密码的方法是在全局模式下键入 ENABLE SECRET *** 即可。)

8、在特权模式下键入 RELOAD 重启系统,一切 OK 。

费马小定理和素数在密码学的应用 篇3

【关键词】求模运算  RSA算法  米勒拉宾算法  密码学

【中图分类号】G642                              【文献标识码】A      【文章编号】2095-3089(2016)11-0199-02

公元前在古希腊就产生了早期的算术,直到20世纪初才开始使用数论这个词汇。而从早期到中期的这段时间数论却几乎没有什么发展,直到19世纪才由费马、梅森、欧拉、高斯、黎曼、希尔伯特等人发展起来。而且主要内容是寻找素数通项公式,由初等数论向解析数论和代数数论转变,但也产生很多无法解决的猜想。20世纪有些猜想得以解决,但现在仍然有很多结论是以黎曼猜想一类未能被完全证明的猜想为理论基础的,也就是说假使这些猜想是正确的很多理论也会随之正确并有可能上升为定理,一旦猜想是错误的很多理论也会随之覆灭。目前解决大多数猜想的瓶颈就是素数通项公式,有这样一个说法“如果找到一个素数通项公式,一些困难问题就可以由解析数论转回到初等数论范围”,可见,素数在当今还有很大的研究空间,尽管我们无法确定素数通项公式是否存在。而我想就当前日益发展的科技领域谈谈数论中素数的关键地位。

在这个科技化时代,计算机的地位不断上升,人们对计算机的诉求也不断增大,可能作为一个普通的程序员对于计算机内部的数据处理和优化没有太大的需求。而想要使计算机变得更加强大性能更加优异,除了在硬件方面的进步,在优化算法方面,数论方面的知识有着广泛的应用。例如在计算机算术、计算机设计、计算机理论、计算机复杂度等。而这之后,就会有大量的信息在网络世界中流通,而这之中不乏一些机密信息,信息安全就显得日益重要,密码学也就应运而生。20世纪中后期就产生了一种RSA码,这种神奇的密码正是利用了素数成为至今仍有实用价值的密码。

随着人们慢慢注意到素数的特殊性,人们对这种特殊数字的研究也更加深入,素数在密码学的作用也变得越来越大。

一、素数测试

如果用最普通的方法获得素数,无非就是随机获得一个数,然后对其进行素性测试。素数的定义就是除了1和它本身以外没有其它的因子。假定该数字为p。

用简单的计算机语言描述就是:

for (int i=1;i<p;++i)

if(p%i==0) continue;  //p≡0(mod i)即p能被i整除

则p不是素数。

但是这样的方法复杂度高达O(n)。如果加以优化,只需要试除到:

for (int i=1;i<sqrt(p);++i)

if(p%i==0) continue;  //p≡0(mod i)即p能被i整除

这样复杂度就降到了O(sqrt(n))。

但是如果采用了米勒拉宾素性检测法,计算将更加简单。

数学原理如下:

若p为素数,a为整数,且a、p互质。

则有ap-1≡1(mod p)

其等价形式为:      ap≡a(mod p)

证明如下:          令ap-1=k×p+1

则ap=(k×p+1)*a

也即 ap≡a(mod p)

引理:若p为素数(p>2),

如果 x2 ≡1 (mod p) 且x既不是1也不是p-1,则称x为“1模p的非平凡平方根”

欲证明素数没有满足模p余1的非平凡平方根存在。

证明:假设x是一个模p余1的非平凡平方根,则有:

x2≡1(mod p)

(x+1)(x-1)≡0(mod p)

因为x是非平凡的,就有(x+1)与(x-1)和x互质,就是说(x+1)和(x-1)都不能被p整除,因此(x+1)(x-1)不能被p整除,矛盾。证毕

素数没有满足模p余1的非平凡平方根。

即如果一个数模p余1下有非平凡平方根,则n必为合数。

由该引理可知,若存在x2≡1(mod p),则p必为合数。

利用以上这些性质,产生了著名的米勒-拉宾素性检测算法:

定义

x02≡1(mod n)

x12≡1(mod n)

xtt-12≡1(mod n)

xi是满足1<xi<n-1的随机数,在这一计算过程中,如果有任意一个xi≡1(mod n),根据引理,则n必为合数。

二、RSA码

RSA码的发明就是对素数实际运用的例子。由欧几里得证明的算数基本定理可知任何一个自然数都可以分解为素数的乘积。但是将一个大整数分解只能用较小的素数依次尝试,这种方法无疑是很耗时的。大可在一段固定的时间就更换一次,这样的密码策略堪称无懈可击。

接下来有N、a、X、p、q,其获得过程如下:

1.任意选取素数p、q,N=p×q。

2.中间量r=(p-1)×(q-1)。

3.选取a和X两个互质的数,使之满足aX≡1(mod r)。

4.彻底销毁p、q,公开N和a,将X作为解密关键。

小明想把数字A(A要小于N)传送给小芳,他并不是直接把A发出去因为这样有可能会被其他人截获,于是我将A连续乘a次,再除以N,将余数发给小芳。小芳手里有一个小明都不知道的数字X,她将余数连乘X次,然后除以N,得到的余数就是A。

即小明需要执行的程序是:

temp=pow(A,a); temp=temp%N; //temp是一个中间量

然后将temp发给小芳,小芳需要执行的程序是:

temp=pow(temp,X); B=temp%N;

答案B就是当时小明实际想表达的A。

只要素数p、q足够大,N也就很大,a和X的推导过程都是由p和q决定的,只要我销毁p、q,破密的人则需要对N进行整数分解,那将是一个非常庞大的计算量。而且只要N足够大,可以表达的A也就非常大。

这种加密方式其实是公开了打乱一个特定信息的方式,任何人都可以用我公开的方法加密信息,但是由于计算量太大,最终能够整理混乱的信息解出最终答案的人只有我自己。可是有人会说利用现有的费马小定理加上概率测试素数法,在一个较短的可以接受的时间内是可以算出几十位数的分解结果的。即便是一百多位的数,利用现在的网络技术无数台电脑通过交流信息将这个庞大的计算任务细分化,也就是云计算的方式,也是可以解决的。但是试想现在已经计算出的素数位数早已上千位,两个千位级别的素数相乘之后得到的数字恐怕计算机技术有再大的突破也是难以匹敌的。

综上所述RSA码成功的秘诀就是能够获得很大的素数,米勒算法就是一个获得素数的不错算法。将两者结合起来就形成了著名的RSA密码。

参考文献:

[1]张尔光.正整数的方幂的方阵与费马定理——费马定理不成立的必要条件[J].数学学习与研究,2012.12.

[2]袁树雄,韩凤英.密码学基础研究[J].科技资讯,2008.5.

量子密码学应用研究进展 篇4

关键词:量子密码通信,量子密钥,量子密码学,量子不可克隆原理,量子计算机

1 经典密码通信的原理

在通信中保密信道的建立是为了让通信双方进行信息交互, 并且不让第三方破坏或者恶意窃听通信内容。在经典密码通信的模型中, 发送者、接收者和窃听者分别惯用Alice、Bob和Eve表示, 简称为A、B、E。以下是经典密码通信的模型[1]:

通常我们称对消息加密, 即。之后, 密文的合法接收者通过逆变换对得到的密文进行解密, 即可得到原明文, 即。

2 量子密码学简介

传统的密码技术, 无论其体制是否是对称密码的, 都存在一定的缺陷: (1) 基于数学的密码体制一般都是基于某个目前难以解决的数学问题, 故实质上其安全性是受限于当前的计算能力的; (2) 在经典密码体制中很难找到足够的理由, 说明密钥在传输的过程没有被窃取或更改。

以量子力学原理为基础的量子密码体制可以解决传统密码技术中遇到的问题, 这是更为可靠安全的密码体制。我们称利用微观粒子状态来表示的信息为量子信息, 量子力学基本原理是描述量子信息行为的最重要物理基础, 这主要包括海森堡测不准原理、量子不可克隆定理[6]。

(1) 海森堡测不准原理:由于波动性, 在同一时刻微观粒子的位置与动量不能同时以相同的精度测定到确定值, 只能精确测定两者之一[3]。 (2) 量子不可克隆定理:量子系统的任一未知量子态, 在不遭破坏的前提下, 是不可能被克隆到另一量子体系上的[4,5,6]。综上我们自然想到:在不知道量子状态的情况下复制单个量子是不可能的。因为要复制单个量子就必须先要作测量, 而测量就必然会改变量子的状态。

现代密码学是建立在计算复杂性理论基础之上的[7], 因此, 对于基于NP难数学问题而设计的现代公钥密码而言, 量子计算机的潜在威胁是致命的。而对于私钥密码、Hash函数等密码算法来说, 目前尚未发现量子计算的有效攻击方法[8]。

结合现代密码学的观点, 以量子计算复杂度为基础设计的密码系统需要具有抗量子计算的性质。近年来, 国外为应对量子计算机的挑战, 已经提出了“抗量子密码学” (PostQuantum Cryptography) 这个新的学科方向;目前, 抗量子计算密码学的国际学术会议已举行三届, 对该领域的理论研究起到了很好的推动作用[5]。

3 发展简史

2002年, 日本三菱公司利用防盗量子密码技术进行的传送信息获得成功, 其传送距离高达87公里, 这一距离为量子密码技术的实用化提供了可能[9]。2007年, 由奥地利、德国、英国研究人员组成的小组在量子通信研究中, 将通信距离提高到144公里。2008年, Lo等用实验证明, 由于探测器效率的低下, 时间偏移攻击带来的错误率比估计值小, 难以判断此类攻击, 因此提高探测器的效率成为QKD进入实用的瓶颈[10,11,12,13]。

我国科学家在量子信息领域中的许多分支上处于领先水平。国内最早开始这方面研究的是国防科技大学, 早在1995年, 中科院物理所就在国内首次完成了BB84方案的演示性实验;2007年首次利用光量子计算机实现了Shor量子分解算法, 成果发表在美国权威物理学期刊《Physical Review Letters》上;2010年他们与清华大学的联合小组成功实现了世界上当时最远距离 (16公里) 的量子隐形传态, 比此前的世界纪录提高了20多倍。

2007年2月, 加拿大D-Wave公司成功研制出世界上第一台16位商用量子计算机“猎户” (Orion) , 其量子计算芯片由铝和铌元素组成的超导材料制成。直到2011年五月, 公司发布了第一台128-qubit商用量子计算器D-Wave One, 需要液氦散热, 售价一千万美元。量子计算机的快速发展已经大大超过了许多业内人士的预期, 并且将以更加迅猛的势头继续发展。

4 量子通信系统的发展及未来的发展前景

量子通信系统近年来已取得了突飞猛进的发展, 例如Internet及各种局域网的开通、银行业务中电子支付系统的广泛应用等。因此, 安全性就成为应用量子通信系统应该首要考虑的问题之一。

(1) 寻找量子密码应用的新领域。现今量子密码应用领域已经逐步得到扩展。量子密码的新的应用领域包括量子签名、身份认证协议、量子投票等。现今量子计算对现代密码学的威胁主要是体现在公钥密码方面, 由此, 如何将量子力学的优势和公钥体制结合起来是值得探讨的问题。

应用密码学 篇5

关键词:密码学;实践课程;教学改革;演示系统

1引言

应用密码学 篇6

十年护航 商用密码应用成果集体亮相

本报讯(记者 韩勖)8月19日,在《商用密码管理条例》颁布实施10周年之际,由国家密码管理局主办,公安部、国家发改委等8大部门全力支持的国家级展会——“全国商用密码成果展”在北京召开。本次展会主题为“可信计算,安享无忧生活”,展会中,包括国家“三金工程”在内的众多项目及商用密码生产知名厂商都参加了此次展会。

针对本次“成果展”,国家密码管理局相关领导指出,“商用密码产品是保护不涉及国家秘密的信息安全工具,是国家专控的特殊产品,因此,只能由指定的单位按照统一的技术规范研制,才能确保商用密码产品的安全性、可靠性和互通性。”

10年来,我国的商用密码取得了长足发展,商用密码也从最初的基本保障功能,逐步发展为一个巨大的产业链条。产业化道路极大地推动了技术进步,同时也创造了巨大的企业利益。数据显示,2000年,商用密码全国市场不到5亿元,而现在全国的商用密码行业市场已经超过100亿。本次“成果展”给了中国商用密码产业中以网御神州、国民技术等300多家企业,一个集体亮相的机会。

对于当前网络社会面临黑客横行、病毒泛滥的安全挑战,参展的国内安全企业网御神州公司相关负责人表示,大力发展商用密码,加强对商用密码的管理工作,是我国信息化进程对密码安全保障提出的客观要求。“无论是商业密码,还是其他方面的信息化建设,信息安全作为一个非同寻常的产业,自主创新都显得尤为重要,如果没有了自主创新,也就等同于失去了未来的机会。”

数论知识在密码学中的应用 篇7

关键词:RSA数字签名,Rabin算法,应用

密码学中的各种算法几乎都涉及到模指数运算, 那么数论知识就是这些算法的基础。下面我们就简单看一下数论知识在两种常见密码算法中的应用。

1 数字签名算法

我们知道, 在现代公钥中, 别人给你发送信息时, 使用公钥d进行加密, 这样只有拥有私钥e的你能够对其进行解密, 从而收到明文信息。而数字签名的过程与加密算法刚好有点相反, 但原理都是一样的。数字签名是对向他人发送的信息使用私钥e进行加密, 只要对方能用公钥d解开, 就证明信息是由你发送的, 构成了签名机制。一般情况下, 加密消息n时, 首先将它分成比n小的数据分组mi (|mi|

下面我们具体看一下RSA数字签名算法过程:

(1) 选取两个素数p和q, 为了在实际应用中获得最大程度的安全性, 两个素数的长度要求一致且应在1024位以上, 计算n=pq, 和欧拉函数φ (n) = (p-1) (q-1) 。 (2) 随机选取加密密钥e (1

下面我们验证RSA算法的可行性。我们先证明这样一个定理:若p和q是互异质数, ed=1 (mod (p-1) (q-1) ) , a是任意一个正整数,

b≡ae (modpq) , c≡bd (modpq) , 则c≡a (modpq) 。

证明:由ed=1 (mod (p-1) (q-1) ) 可得, ed=k (p-1) (q-1) +1, k∈N,

故c≡bd≡aed≡ak (p-1) (q-1) +1 (modpq) , 下面分四种情况进行讨论:

(1) a既不是p的倍数也不是q的倍数。根据费马小定理得a (p-1) ≡1 (modp) , a (q-1) ≡1 (modq) , 因此ak (p-1) (q-1) ≡1 (modq) , 故pq|a (p-1) (q-1) -1即ak (p-1) (q-1) ≡1 (modpq) 得c≡ak (p-1) (q-1) +1≡a (modpq) 。 (2) a是p的倍数, 但不是q的倍数。根据费马小定理得a (q-1) ≡1 (modq) , 因此ak (p-1) (q-1) ≡1 (modq) , c≡ak (p-1) (q-1) +1≡a (modq) , 故q|c-a, 又因为p|a, 所以c≡ak (p-1) (q-1) +1≡0 (modp) , 所以p|c-a, 故pq|c-a, c≡a (modpq) 。 (3) a是p的倍数, 但不是p的倍数。它的证明和 (2) 类似。根据费马小定理得a (p-1) ≡1 (modp) , 因此ak (p-1) (q-1) ≡1 (modp) , c≡ak (p-1) (q-1) +1≡a (modp) , 故p|c-a, 又因为q|a, 所以c≡ak (p-1) (q-1) +1≡0 (modq) , 所以q|c-a, 故pq|c-a, c≡a (modpq) 。 (4) a同时是p和q的倍数。由pq|a可得c≡ak (p-1) (q-1) +1≡0 (modp) , 故pq|c-a, c≡a (modpq) 。

由上面的定理, 我们就可以容易的验证RSA算法的可行性。

由加密过程知:c≡me (modn) , 故cd≡ (me) d≡med≡mkφ (n) +1 (modn) 。

1) 若m与n互素, 则由欧拉定理:mφ (n) ≡1 (modn) ;mkφ (n) ≡1 (modn) 。则mφ (n) +1≡m (modn) , 即cd≡m (modn)

2) (m, n) ≠1, 那就意味着:m要么是p的倍数, 要么是q的倍数。不妨设m≡tp, 则 (m, q) ≡1, 再由欧拉定理mφ (q) ≡1 (modq) , 则mkφ (q) ≡1 (modq) , 进而mkφ (q) ·φ (p) ≡1 (modq) , 即mkφ (n) ≡1 (modq) 。因此, 存在整数r, 使得mkφ (n) =1+rq, 两边同乘以m=tp, 得mkφ (n) +1=m (modn) , 从而cd≡m (modn) 。

以上推导过程说明每个分组明文mi经过加密得到密文ci, 再经过解密得到xi时, 有mi≡xi (modpq) 。我们只需限制0≤mi≤n和0≤xi≤n, 就可以保证mi≡xi (modpq) 。RSA的安全性在于对一个大素数n, 没有有效的方法能够将其分解, 从而在已知n与d的情况下无法获得e, 同样在已知n与e的情况下无法求得d, 即破译难度等价于分解两个大素数乘积, 因此该算法具有较高的安全性。

2 Rabin算法

RSA算法是基于指数同余的, 而Rabin算法是基于二次同余的。在Rabin算法中e和d为定值:具体算法如下:选择两个大素数p和q, 要求p和q都是4的倍数加

3 计算

n=pq, 公钥是n, 对外公布。私钥是 (p, q) , 自己保存。发送方发送c=m2 (modn) ;接收方用 (p, q) 计算

下面我们看看解密的正确性。

设y是二次剩余方程x2≡c (modp) 的根, 有y2≡c (modp)

而接收方做了这样解密的正确性得以验证。同理可以验证

算法的解密过程是寻找C模n的平方根, 这个问题等价于n的因子分解。它的缺点是加密函数不是单射, 解密具有不确定性, 合法用户不能确切知道到底哪一个是真正的明文。如果加密之前在明文消息中插入一些冗余信息, 比如用户的身份数字、日期、时间或者事先约定的某个数值等, 则可以帮助收信者准确地识别解密后的明文。

密码学中的算法还有很多, 都是基于大数的素分解的困难问题和离散对数的困难问题来设计算法, 所以几乎每个算法中都涉及数论的知识, 本文只是通过密码学中最基本、最简单的算法作为例子让大家看到数论知识在密码学中的广泛应用。

参考文献

[1]陈恭亮.信息安全数学基础[M].北京:清华大学出版社, 2004.

[2]胡向东, 魏琴芳.应用密码学[M].北京:电子工业出版社, 2006.

[3]杨波, 线代密码学[M].北京:清华大学出版社, 2007.

[4]李用江, 李蔚, 朱晓妍, 等.一个新的强RSA假设下的数字签名方案[J].西安电子科技大学学报, 2007.

[5]高胜.Rabin密码体制分析[J].长江大学学报 (自科版) , 2007.

代数方程在密码学中的应用 篇8

明文→加密器→密文→普通信道→解密器→明文

矩阵运算是完成这个加密过程的基本工具, 具体过程如下:

1 加密

(1) 根据明文字母的所对应得表值, 把明文信息转换成数字, 通常Hill密码加密是使用26个字母表A—Z见表1 (也可以不只26个, 如还有数字、标点符号等) 。

(2) 通信双方选择一个二阶可逆整数方阵A, 这个方阵就称为Hill密码的加密矩阵, 它是整个加密过程的“密钥” (只有通信双方掌握, 是加密的关键) 。

(3) 把明文字母按照文字的顺序逐对分组。若Hill密码的加密矩阵为二阶矩阵, 则明文字母2个一组 (可以按照实际情况扩大至每n个明文字母为一组) 。若最后一组只有一个字母, 则补充一个没有实际意义的哑字母, 这样使得每一组都由2个明文字母组成.查出每个明文字母的表值, 构成一个二维列向量α。

(4) A乘以α, 得到一个新的二维列向量β=Aα, 由β的两个分量反查字母表值得到的两个字母即为密文字母。

以上4步即为Hill密码的加密过程。

例如:对于明文为MI MA XUE;加密矩阵求这段明文的Hill密码。

将明文相邻2个字母分为一组:MI MA XU EE.最后一个字母是哑字母, 它是为使最后一组的字母数为2而添加的, 无实际意义。查出每对字母的表值, 并构造2维列向量:

把加密矩阵A分别乘以这4个列向量, 得到:

对这4个列向量反查字母表, 但是这4个列向量中存在着一些数不是表值 (大于25) , 无法在26个字母表中查到, 我们可以Hill密码6运算, 即:对这不在表中的数, 加减26的整数倍, 使其能够转化为0—25之间的一个整数, 从而进行查表对应, 如:

通过查表, 这4个新的二维列向量对应的字母为:EA OC NK OO.它就是明文“MI MA XUE”的密文。

2 解密

顾名思义, 解密过程就是上述加密过程的逆过程。这就涵盖了在模运算下如何解方程组Aα=β这一问题。我们知道, 对于一个n阶方阵A可逆的充要条件是det A≠0。在模m运算的条件下矩阵的可逆与一般意义的矩阵可逆略有不同。

在模m的运算下, 单位矩阵E (mod m) 也与通常的单位矩阵E有所不同:

E (mod m) 表示, 矩阵里的每一个元素减去m的整数倍后, 就可以化成单位矩阵。例如:

记整数集合Z={0, 1, 2, …, m-1}, m为一正整数, 模m可逆定义如下:

定义1对于n阶方阵A, 其中A中的元素均属于属于集合Z, 如果存在一个方阵B, B中的元素也均属于集合Z, 满足:

则称A为模m可逆, B称为为方阵A的模m逆矩阵, 记作:B=A-1 (modm) 。

定义2对于集合Z中的一个元素a, a为整数, 如果存在集合Z中的一个元素b, 满足ab=1 (modm) , 就把b称为a的模m倒数, 记作b=a-1 (modm) .容易知道:Z中存在着模26倒数的整数以及其相应的倒数如下表2所示:

定理:元素属于Z的方阵A模m可逆的充要条件是m和det A没有公共素数因子。

推论:元素均属于集合Z的方阵A模26可逆的充分必要条件是det A (mod m) 不能被2和13整除。

定理:设且模A26可逆, 则:

其中 (ad-bc) -1是 (ad-bc) (mod26) 的倒数。显然 (ad-bc) (mod26) 为Z中的数。

这样, 在模26意义下, 求解方程组Aα=β的问题即可解决:

例:要将上述加密后的密文EA OC NK OO解密, 只要把这个加密过程逆转回去, 即3将1密2文1按同2样方式3分1组2, 查1它们8的表==3值1即得下列列向量:4 230 3==4 23 0 94 2

上例所选取的加密矩阵, det A=3不能被2和13整除, 所以加密矩阵模26可逆。它对应的模26逆矩阵可以通过以下运算得到:

查表知:3-1 (mod 26) =9

这样, 利用上面描述的方法, 破译出明文为MI MA XU E E。

3 密码的破译

密码破译的过程顾名思义, 就是找到加密矩阵A及A-1, 前面讨论的加密与解密过程, 可以看作是在二维向量空间内进行线性变换与其逆变换。每个明文对应的向量都是一个Z上的二维向量, 该向量乘以加密矩阵A后仍然是一个Z上的二维向量。由于我们要求所选取的加密矩阵A应该为可逆矩阵, 所以, 有线性代数的知识可以知道, 如果知道了两个明文对应的二维线性无关向量以及它们各自对应的密文向量, 就能通过运算找出它的加密矩阵A及A-1。

例如:某军截获敌方的一份密文, 破译部门通过大量的统计分析与语言分析确认为Hill密码体系, 观察其中出现频数最高的双字母是CD和LW, 而在明文语言中, 出现频数最高的双字母是AZ和BC.试找出该密文相应的加密矩阵。

因为, 密文与明文的对应如下:

, 它有模26倒数, 所以, β1, β2在模26意义下线性无关。

同样地, 它有模26倒数, 所以, α1, α2在模26意义下线性无关。

记, P= (β1, β2) , C= (α1, α2)

则:P=AC,

因此, 找出加密矩阵后即可以完整地破译截获的密文。

参考文献

[1]姜启源.数学模型[M].北京:高等教育出版社, 1993.

[2]胡章柱.密码转换问题的探究[J].数学通讯, 2004 (2m) :23.

应用密码学 篇9

信息网络国际化、社会化、开放化和个人化的特点,决定了它在给人们提供高效率、高效益、高质量的"信息共享"的同时,也投下了不安全的阴影。随着政府和人民对网络环境和网络资源依赖程度的不断加深,信息泄露、黑客入侵、计算机病毒传播甚至于威胁国家安全的问题会出现得越来越多。

密码技术作为保障信息安全的核心技术,在古代就已经得到应用但仅限于外交和军事等重要领域。目前随着现代计算机技术的飞速发展,密码技术正在不断向更多其他领域渗透。密码技术不仅能够保证机密性信息的加密,而且完成数字签名、身份验证、系统安全等功能。所以使用密码技术不仅可以保证信息的机密性而且可以保证信息的完整性,还可以防止信息被篡改、伪造和假冒。

1 加密技术

加密的目的是为了保护信息的保密性、完整性和安全性,简单地说就是信息的防伪造与防窃取。信息加密原理是将信息格式转化为密文,然后传输或存储密文,当需要时再重新转化为明文。加密技术分为两类,即专用密钥加密/对称加密和公共密钥加密/非对称加密。

1.1 专用密钥加密/对称加密

对称加密的特点:专用密钥加密具有对称性,即加密密钥也可以用于解密。使用对称加密方法将简化加密的处理,通讯双方都不必彼此研究和交换专用的加密算法,而是采用相同的加密算法并只交换共享的专用密钥。

对称加密的限制:对称加密技术存在着在通信双方之间确保密钥安全交换的问题。此外,当某一通讯方有‘n’个通讯关系,那么他就要维护‘n’个专用密钥(即每把密钥对应一通讯方)。对称加密方式存在的另一个问题是无法鉴别通信发起方或通信最终方。

因为通信双方共享同一把专用密钥,通信双方的任何信息都是通过这把密钥加密后传送给对方的。

加密标准:数据加密标准(DES)是目前广泛采用的对称加密方式之一,该标准是由美国国家标准局提出的。该标准主要应用于银行业中的电子资金转帐(EFT)领域。DES的密钥长度为56位,三重DES是D ES的一种变形。这种方法使用两个独立的56位密钥对交换的信息(如EDI数据)进行3次加密,从而使其有效密钥长度达到112位。

RCZ和RC4方法是RSA数据安全公司的对称加密专利算法。RCZ和RC4不同于DES,它们采用可变密钥长度的算法。通过规定不同的密钥长度,RCZ和RC4能够提高或降低安全的程度,一些电子邮件产品(如Lotus Notes和Apple的open Colla boration Environment)已采用了这些算法。

1.2 公共密钥加密/非对称加密

非对称加密的特点:公共密钥加密使用两个不同的密钥,因此是一种不对称的加密系统。用在非对称算法中的密钥在数学上是相关的,一个密钥不能从另一个计算出来。在非对称加密体系中,密钥被分解为一对(一把公开密钥即加密密钥和一把专用密钥即解密密钥)。这对密钥中的任何一把都可作为公开密钥(加密密钥)通过非保密方式向他人公开,而另一把则作为专用密钥(解密密钥)加以保存。公开密钥用于对机密信息的加密,专用密钥则用于对加密信息的解密。

专用密钥只能由生成密钥对的一方掌握,公开密钥可广泛发布,但它只对应于生成该密钥的一方。RSA算法是非对称加密领域内最为著名的算法,但是它存在的主要问题是算法的运算速度较慢。

因此,在实际的应用中通常不采用这一算法对信息量大的信息(如大的EDI交易)进行加密。对于加密量大的应用,使用对称加密方法进行加密,而公开密钥加密算法通常用于对称加密方法密钥的加密。

2 网络信息安全问题

网络与信息安全是一个综合、交叉的学科领域,要涉及到安全体系结构、安全协议、密码理论、信息分析、安全监控、应急处理等各个方面,还要利用数学、电子、信息、通信、计算机等诸多学科的长期知识积累和最新发展成果。信息安全要综合利用数学、物理、通信和计算机诸多学科的长期知识积累和最新发展成果,进行自主创新研究,加强顶层设计,提出系统的、完整的,协同的解决方案。

网络信息安全面临的威胁是多方面的,具有无边界性、突发性、蔓延性和隐蔽性等新的特点。网络模糊了地理、空间上的边疆概念,使得网上的冲突和对抗更具隐蔽性。对计算机网络的攻击往往是在没有任何先兆的情况下突然发生的,而且会沿着网络迅速蔓延。对网络信息安全防御的困难还在于,一个攻击者仅需要发起一个成功的攻击,而防御者则需要考虑所有可能的攻击,而且这种攻击是在动态变化的。因此,仅从技术上解决网络信息安全是有一定风险的。

国际标准化组织(ISO)将"信息安全"定义为:为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因而遭到破坏、更改和泄露。简单说,信息安全的基本属性有可靠性、保密性、完整性、可用性和可控性。

信息保密性是指信息不被泄漏给非授权的个人和实体,或供其使用的特性。信息的保密性包括文件的保密性、传输过程中的保密性等两个方面。

信息的完整性是指信息在存储或传输时不被修改、不被破坏,不被插入、不延迟、不乱序和不丢失的特性。

信息可用性是指信息可被合法用户访问并能按要求顺序使用的特性。

信息可控性是指授权机关可以随时控制信息的机密性。每一个用户只能访问自己被授权可以访问的信息。同时对系统中可利用的信息及资源也要进行相应的分级,确保信息的可控性。

信息的可靠性是指以用户认可的质量连续服务于用户的特性。这不仅是要保护信息的安全可用,还和信息系统本身的可靠性有关。

实际上不论是局域网还是广域网,都是一种系统,所以系统安全问题的解决,必然是一项系统工程,必须采用系统工程学的方法、运用系统工程学的原理来设计网络信息安全体系。解决网络信息安全的基本策略是技术、管理和法制并举。技术是核心,要通过关键技术的突破,构筑起国家信息安全技术防范体系。管理是关键,根据"木桶原理",信息安全链条中任何一个环节的脆弱都有可能导致安全防护体系的失效,必须要加强各管理部门和有关人员间的密切合作。法制是保障,通过建立信息安全法规体系,规范信息化社会中各类主体的行为,以维持信息化社会的正常运作秩序。

3 密码是解决网络信息安全的关键技术

网络环境下信息的保密性、完整性、可用性和抗抵赖性,都需要采用密码技术来解决。密码技术是信息安全技术的核心,它主要由密码编码技术和密码分析技术两个分支组成。密码编码技术的主要任务是寻求产生安全性高的有效密码算法和协议,以满足对消息进行加密或认证的要求;密码分析技术的主要任务是破译密码或伪造认证信息,实现窃取机密信息或进行诈骗破坏活动。这两个分支既相互对立又相互依存,正是由于这种对立统一关系,才推动了密码学自身的发展。目前人们将密码理论与技术分成两大类,一类是基于数学的密码理论与技术,包括公钥密码、分组密码、序列密码、认证码、数字签名、Hash函数、身份识别、密钥管理、PKI技术、VPN技术等;另一类是非数学的密码理论与技术,包括信息隐藏、量子密码、基于生物特征的识别理论与技术等。

网络信息安全体系的构建要求我们必须合理的使用多种密码技术,这样才能保证信息的可靠性、保密性、完整性、可用性和可控性。

3.1 使用信息隐藏和公钥密码、分组密码等密码技术保证信息的保密性

信息隐藏对于在网络中保护信息不受破坏起到重要作用,信息隐藏是把机密信息隐藏在大量信息中不让对手发觉的一种方法。主要侧重于隐写术、数字水印、潜信道、隐匿协议、可视密码等方面的理论与技术的研究。

3.2 使用Hash函数保证信息的完整性

Hash函数(也称杂凑函数或杂凑算法)就是把任意长的输入消息串变化成固定长的输出串的一种函数。Hash函数主要用于完整性校验和提高数字签名的有效性,目前己有很多方案。这些算法都是伪随机函数,任何杂凑值都是等可能的,输出并不以可辨别的方式依赖于输入。

3.3 使用数字签名和各种身份验证技术保证信息的可控性

数字签名是对电子形式的消息签名的一种方法。基于公钥密码体制和私钥密码体制都可以获得数字签名,特别是公钥密码体制的诞生为数字签名的研究和应用开辟了一条广阔的道路。关于数字签名技术的研究,目前主要集中在基于公钥密码体制的数字签名技术的研究。数字签名的研究内容非常丰富,主要有RSA数字签名算法、E1Gama1数字签名算法、椭圆曲线数字签名算法和有限自动机数字签名算法等。数字签名的应用已经涉及到法律问题,美国联邦政府的部分州己制定了数字签名法,一些国家如法国和德国也己经制定了数字签名法,我国的电子签名法也在2004年颁布。

3.4 使用PKI和VPN保证信息的可靠性及可用性

简单的说,PKI技术就是利用公钥理论和技术建立的提供信息安全服务的基础设施。PKI是解决信任和加密问题的基本解决方案,本质就是实现了大规模网络中的公钥分发问题,建立了大规模网络中的信任基础。PKI是创建、管理、存储、分发和撤消基于公钥加密的公钥证书所需要的一套硬件、软件、策略和过程的集合。PKI为开放的Internet环境提供了四个基本的安全服务:

(1)认证,确认发送者和接收者的真实身份;

(2)数据完整性,确保数据在传输过程中不能被有意或无意地修改;

(3)不可抵赖性,通过验证,确保发送方不能否认其发送消息;

(4)机密性,确保数据不能被非授权的第三方访问。

另外,PKI还提供了其他的安全服务,主要包括以下两个:

(1)授权,确保发送者和接收者被授予访问数据、系统或应用程序的权力;

(2)可用性,确保合法用户能正确访问信息和资源。

VPN是利用接入服务器(Access Server)、广域网上的路由器或VPN专用设备在公用的WAN上实现虚拟专网的技术。也就是说,用户觉察不到他在利用公用WAN获得专用网的服务。如果强调其安全性,可以认为VPN是综合利用了认证和加密技术,在公共网络(比如Internet)上搭建一个只属于自己的虚拟专用安全传输网络,为关键应用的通信提供认证和数据加密等安全服务。如果将VPN的概念推广一步,我们可以认为凡是在公共网络中实现了安全通信(主要包括通信实体的身份识别和通信数据的机密性处理)的协议都可以称之为VPN协议。到目前为止,VPN己经在网络协议的多个层次上实现,从数据链路层、网络层、传输层一直到应用层。特别是IPSec标准的制定,对实施VPN奠定了坚实的基础。

4 结束语

我们必须正确理解密码学在网络和信息安全中的地位。密码技术仅仅是解决信息和信息系统安全的关键技术之一,单靠密码技术不能彻底解决信息和信息系统的安全问题,安全问题涉及到人、技术、管理和操作等多方面的因素。安全系统的防御等级遵循"木桶"原理,取决于其最薄弱的环节。总而言之,在解决信息和信息系统安全这个问题上,密码技术不是万能的,但离开密码技术是万万不能的。

参考文献

[1]杨明,谢希仁,等.密码编码学与网络安全:原理与实践(第二版)[M].北京:电子工业出版社,2001.

[2]JessGarms,DanielSummerfield.Professional-JavaSecurity[M].北京:电子工业出版社,2002.

[3]STEVE B,STEPHEN B.Cryptography[M].New York:McGraw-Hill,2001.

[4]冯登国.密码分析学[M].北京:清华大学出版社,2000.

[5]王育民,刘建伟.通信网的安全-理论与技术[M].西安:西安电子科技大学出版社,1999.

应用密码学 篇10

1 网络信息安全的重要性

网络信息安全这个词早就出现过, 但是一直没有被重视。直到网络迅速发展并普及, 通讯保密进入到大众的视野里。而在当今的社会, 网络信息安全得到了极大的重视。它影响着社会安全、财产安全以及个人生活等, 因此, 人们需要防范的地方有很多, 比如黑客行为、电子谍报、计算机犯罪、信息丢失、网络协议、信息战等。网络信息安全问题不仅影响社会生产和人们的生活, 同时也会对国家安全、国防军事、国家政治外交以及机关单位的正常运转产生极大影响。现如今, 网络信息系统作为一个国家经济、政治、文化、社会活动的神经中枢和基础平台, 一旦遭到破坏, 无法运转, 将会对国家造成极大影响, 比如国防能力降低、通讯系统中断、国家金融体系瘫痪等, 严重的话甚至会导致国家经济崩溃、政治动荡、社会秩序混乱等, 后果不堪设想。

总之, 人们日常生活中所涉及的密码面临非常严重的威胁, 尤其是一种“群体威胁”, 这种威胁就像垃圾邮件一样, 不针对个人。职业窃贼并不是专门破解个人的账号, 他对个人情况一无所知, 他的目的是汇集一套破解过的账号密码清单, 通常是拿去卖钱。密码窃贼则使用破解工具, 会先从安全防护措施较低的网站下手, 等软件猜对了之后, 它再用同样的密码及其变体去猜你的更加安全的账号, 比如银行账号。所以说对于密码学的研究具有非常重要的价值和意义。

2 加密技术及其分类

密码学就是研究怎样通过一定的手段去较为隐秘地传递某些重要信息, 它与计算机科学、数学等息息相关。而密码学技术包括了破译密码和编制密码两种技术科学, 主要以编制密码为主, 其中加密是确保信息的安全性和完整性的重要手段。它主要是将重要信息通过密文的形式进行存储或者传输, 在接收后运用某些手段解析出来。加密主要分为了对称加密和非对称加密。

(1) 对称加密, 又称专用密钥加密, 具有对称性, 因为它既可以用于加密, 也可以用于解密。运用这种加密技术可以简化加密方式, 双方只需要共享专用密钥即可, 而不再需要彼此交换和研究专用加密算法。

(2) 非对称加密, 又称公共密钥加密, 具有不对称性, 是使用两个不相同的密钥。它们虽然从数学上来看是相关的, 但是却不能通过其中一个算出另一个。其中一把可以当作加密密钥向他人公开, 另一把则是当作解密密钥进行保存。加密密钥对信息进行加密, 而解密密钥则是对信息进行解密。

3 密码学的研究现状

密码学贯穿于网络信息安全整个过程, 在保障信息的机密性、可鉴别性、完整性、保护盒信息抗抵赖等方面发挥着极其重要的作用, 可以毫不夸张地说, 对密码学或密码技术一无所知的人是不可能从技术层面完全理解信息安全的。

在当前世界中, 密码学被公认为属于一个很神秘的“存在状态”。近些年以来, 密码学领域已取得了丰硕的研究成果, 尤其是2016年以来, 我国的一些高校, 例如西安电子科技大学在密码学领域获得了突破性的进步——GGH综合业务网理论及关键技术, 对GGH映射本身以及基于GGH映射的各类高级密码应用进行了颠覆性的否定。这个被攻破的GGH, 原本是一个有望成为国际密码学研究新技术的密码映射方案。这一突破的重大意义, 可以这样打个比方:GGH方案的提出者, 就像是建筑行业里的地基团队, 他们设计并挖掘了看起来非常安全保险、足够深的地基, 人们翘首期盼施工团队在他们挖下的地基上盖出摩天大厦来, 但西安电子科技大学开展的密码分析学就类似于监理团队, 发现了地基设计图纸的大问题, 并指出了挖好的地基存在隐患和问题, 无法在上面建造大楼, 如果强行建造, 必然是楼毁人亡。

另外, 密码学领域中的数字证书伪造方面也取得了明显的进步, 频繁发生的SSL中间人证书攻击就属于是一种真正的数字证书伪造过程, 例如当年的“Flema (火焰) ”病毒事件, 火焰病毒正是利用碰撞攻击对自身进行数字签名, 伪造了证书, 杀毒软件鉴定其证书时以为是来自微软。而这种碰撞攻击在计算上是不可行的, 但是又是不可避免的, 这主要是由于采用了散列函数, 散列函数又称Hash函数或杂凑函数, 它是一种单向加密函数算法, 从明文到密文不可逆的映射, 也就是说只有加密过程, 是不能破解的。

4 密码学技术在网络信息安全中的应用

网络信息安全中的核心技术是密码学技术, 很多网络问题都需要它来解决, 比如确保网络信息的完整性、保密性、抗依赖性以及可用性。要想构建网络信息安全体系, 就需要使用多种密码技术, 只有这样, 才能确保信息的可用性、可控性、完整性、保密性以及可靠性。

4.1 信息隐藏技术

运用信息隐藏技术保护网络信息具有极其重要的作用, 这会让很多机密信息不能被轻易发现和破坏。这种技术主要侧重于潜信道、数字水印、可视密码、隐匿协议、隐写术等。

4.2 Hash函数技术

所谓Hash函数技术, 指的是能够将任何长度的消息串转换为固定长度的消息串输出出去的技术。这种技术主要用于提高身份验证的有效性以及校验网络信息的完整性, 它在网络信息安全中的应用主要表现为文件校验、数字签名以及鉴权协议等。

4.3 身份验证技术

身份验证技术是确保网络信息安全的一种较为可靠的方法, 其中最重要的要属数字签名了。数字签名的获取可以通过公钥密码体制或者是私钥密码体制, 这种方法简单、便捷、安全、可靠, 深受大众的喜爱。而且很多国家都将数字签名列入到法律里, 受到了国家的保护。

5 结语

综上所述, 密码学技术在网络信息安全中起到了至关重要的作用, 具有不可撼动的地位。但是, 仅仅依靠密码学技术并不能完全杜绝网络信息安全问题, 因为这个问题涉及多个方面, 包括人、操作、管理、技术等。因此, 人们在平时上网时自己也要加以注意, 时刻保护自己的网络信息, 再配合密码学技术, 这样才能保障信息的安全。

参考文献

[1]李文峰, 杜彦辉.密码学在网络安全中的应用[J].信息网络安全, 2009 (4) :40-42.

[2]吕彩霞.密码学技术在网络信息安全中的应用[J].科技广场, 2011 (9) :104-107.

[3]刘亚卓, 王钰博, 翟晓宁, 等.浅论密码学在网络信息安全中的应用[J].电脑知识与技术, 2015, 2 (2) :41-42.

[4]杨柳.密码学在网络信息安全中的应用[J].通讯世界, 2016, 3 (5) :216.

应用密码学 篇11

关键词: 单片机 电子密码锁 教学应用

引言

单片机是计算机发展的一个分支领域,它诞生时就以体积小、功能强、可靠性高等优点迅速地应用于自动化控制领域,并逐步取代传统控制系统。它是从事家用电器、仪器仪表、机电控制等领域工作的技术人员必须掌握的技术。单片机的学习要比一般的编程困难,主要原因在于完成一个单片机系统,不仅要掌握编程技术,而且要知道如何针对不同的应用场合选择适合的方案和器件,以及用软件控制这些器件工作。

在单片机课程教学中,针对现代高职学生的特点,不能采用本科那种以知识体系传授为主的教学方法,而是侧重学生单片机应用能力的培养和训练。本文以单片机控制的电子密码锁设计为例,介绍了项目教学法在单片机课程中的应用。

1.单元目标

通过电子密码锁的设计项目训练,学生实现以下目标,如表1所示:

表1 项目训练目标

2.项目训练过程设计

2.1明确训练任务

训练要求学生设计基于单片机的电子密码锁,具体要求如下:

(1)通过键盘输入密码,如果输入密码正确,则将锁打开;(2)显示器采用LED数码管;(3)如果密码输入错误,显示器将出现错误提示;(4)如果密码输入错误次数超过三次,蜂鸣器报警并且将键盘锁定。

2.2划分软硬件功能

单片机系统由软件和硬件两部分组成。在应用系统中,有些功能既可由硬件实现,又可用软件完成。硬件的使用可以提高系统实时性和可靠性;使用软件实现可以降低系统成本,简化硬件结构。因此在总体考虑时,必须综合分析以上因素,合理地制定硬件和软件任务的比例。划分软硬件功能进一步将学生任务具体化。

根据控制要求划分控制系统软、硬件功能分别如下:硬件电路设计主要包括键盘电路设计,LED显示电路设计,开锁电路设计和报警电路设计;软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。

2.3硬件电路设计

2.3.1键盘电路设计

选用行列式键盘,减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,一般都采用这样的方法。其原理如图1所示:

图1 矩阵键盘

如图1所示,4条行线与4条列线的交叉处互不相通,而是通过一个按键连通,利用这种行列式矩阵结构只需要4条行线和4条列线,即可组成具有4×4个按键的矩阵键盘。键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有键按下后,下一步就要识别按下的是哪一个按键。

密码锁键盘具体的功能设计如表2所示:

表2 按键功能

2.3.2LED显示电路设计

密码锁的显示选用串行显示方式,仅用单片机的一个串行口,利用74LS247驱动数码管发光显示数码,用74LS138控制位选信号,实现单片机的显示功能,显示电路的原理图如图2所示。

图2 LED显示电路

2.3.3开锁电路设计与仿真

用发光二极管的亮、灭表示是否开锁成功,其仿真电路图如图3所示。当P2.0口输出为低电平时,二极管发光,表示开锁成功,否则开锁失败。

图3 开锁电路

2.3.4报警电路设计与仿真

图4 报警电路

报警模块主要由蜂鸣器组成。设计选用压电式蜂鸣器,压电式蜂鸣器在工作时需要约100mA的驱动电流。当89C51的P2.1口输出为低电平时,蜂鸣器发声,当89C51输出为高电平时,蜂鸣器不发声。

2.4软件设计

2.4.1软件设计思路

电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,做出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。

密码的设定方法如下:程序中可将密码固定在40H—45H中,假设初设密码为“123456”共6位密码。由于采用两个按键完成密码的输入,一个按键作为功能键,另一个按键作为数字键。输入时,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都输入完毕;再输入确认键,表示密码的输入过程结束。然后进入密码的判断比较处理过程并给出相应的处理结果。

2.4.2软件设计

2.4.2.1键盘扫描子程序

键盘扫描程序流程图如图5所示:

图5 键盘扫描程序流程图

2.4.2.2显示部分子程序

LED顯示流程图如图6所示:

图6 LED显示流程图

2.4.2.3密码比较和报警程序

输入密码比较及输错报警流程图如图7所示:

图7 密码比较和报警流程

结语

本文以单片机电子密码锁设计为例论述了项目教学法在单片机教学中的实施过程。通过该项目的训练,学生掌握矩阵式键盘的接口设计方法,矩阵式键盘的按键识别方法,LED的动态显示方法,LED显示器的接口设计方法,为学生单片机课程的后续学习奠定基础。

参考文献:

[1]刘继光.单片机应用技术[M].北京邮电大学出版社,2013.

[2]郭天祥.51单片机C语言教程[M].电子工业出版社,2009.

[3]朱芙菁,田影.单片机原理及应用技术[M].航空工业出版社,2010.

单向壳核函数在密码学中的应用 篇12

关键词:公钥密码,密钥交换,单向壳核函数

在密码学中,密钥是至关重要的,倘若密钥丢失任何加密系统都是脆弱的。在传统的对称密码中,要求消息交换双方共享密钥,并且此密钥不为他人所知。此外,密钥要经常变动,以防止攻击者知道。但是密钥在不安全的信道中传输时,我们如何将密钥准确无误的发送给指定的人,同时还要保证密钥的机密性,这也成为对称密码中的一个困难问题。虽然公钥密码可以很好的解决这个问题,但是公钥密码必须依赖于单向函数,但是如何合理的解决单向函数和单向陷门函数之间的矛盾,一直都是公钥密码中的难题。由此,本文将给出一种新颖的公钥密码体制――单向壳核函数,这种新型函数利用了单向函数设计的简单性,同时还不需要增加陷门的信息,所以这种函数在密钥交换中将会起到重要的作用。

1 单向壳核函数介绍及密钥约定方案

1.1 单向壳核函数的引入

根据传统的单向函数的定义我们知道,对于给定x,计算y=f(x)是容易的,而给定y,计算x是困难的。然而对于单向陷门函数而言,知道了陷门,计算x使y=f(x)则是容易的。由此可见,函数的单向性和陷门性是矛盾的。

我们结合了单向函数和单向陷门函数的特点,创造性的提出了一种更综合,更灵活的函数———单向壳核函数,这里我们先定义壳函数S和核函数C,同时相应地定义了二者的逆变换:剥壳函数S-1和剥核函数C-1。壳核函数SC(X)为壳函数S与核函数C的复合运算,且必须满足SC(x)=S.C(x)=S(C(x))的条件。

1.2 单向壳核函数的密钥约定方案

根据引入的单向壳核函数的思想,如果Alice和Bob想要约定会话密钥,有如下三种方案可以选择:

方案1:

1)Alice公开约定核函数C(x)和壳核函数SC(x),保密壳函数S(x);

2)Bob任意选择x,计算C(x)和SC(x),并将C(x)发给Alice;

3)Alice收到C(x),使用保密的壳函数S(x),计算出SC(x)。

由此,Alice和Bob约定了会话密钥SC(x)。

方案2:

1)Alice公开约定核函数C(x)和壳核函数SC(x),保密剥壳函数S-1(x);

2)Bob任意选择x,计算C(x)和SC(x),并将SC(x)发给Alice;

3)Alice收到SC(x),使用保密的剥壳函数S-1(x),计算出C(x)。

由此,Alice和Bob约定了会话密钥C(x)。

方案3:

1)Alice公开约定壳核函数SC(x)和S'C(x),保密剥壳函数S-1(x)和壳函数S'(x);

2)Bob任意选择x,计算SC(x)和S'C(x),并将SC(x)发给Alice;

3)Alice收到SC(x),首先使用保密的剥壳函数S-1(x),计算出C(x),然后再使用保密的壳函数S'(x),计算出S'C(x)。

由此,Alice和Bob约定了会话密钥S'C(x)。

2 结束语

本文主要介绍了单向壳核函数在密钥交换中的应用,对于这种新的公钥密码体制我们给出了3种密钥约定方案,单向壳核函数的构造方案以及安全性分析会在其他文章中介绍。

参考文献

[1]王衍波,薛通.应用密码学[M].北京:机械工业出版社,2003.

[2]Trappe W.密码学与编码理论[M].王全龙,王鹏,林昌露,译.北京:人民邮电出版社,2008.

上一篇:计算机辅助教学CAI下一篇:传承问题