信息安全技术-密码学密码算法概述

信息安全技术
密码学密码算法概述
专业:计算机科学与技术
班级:06442班
学号:0644218
姓名:王佳
日期:2009-12-08
密码学[1](在西欧语文中之源于希腊语kryptós,“隐藏的”,和gráphein,“书写”)是研究如何隐密地传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。著名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。密码学是信息安全等相关议题,如认证、访问控制的核心。密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。
直到现代以前,密码学几乎专指加密(encryption)算法:将普通信息(明文,plaintext)转换成难以理解的资料(密文,ciphertext)的过程;解密(decryption)算法则是其相反的过程:由密文转换回明文;加解密包含了这两种算法,一般加密即同时指称加密(encrypt 或encipher)与解密(decrypt或decipher)的技术。
加解密的具体运作由两部分决定:一个是算法,另一个是密钥。密钥是一个用于加解密算法的秘密参数,通常只有通讯者拥有。历史上,密钥通常未经认证或完整性测试而被直接使用在密码机上。
密码协议(cryptographic protocol)是使用密码技术的通信协议(communication protocol)。近代密码学者多认为除了传统上的加解密算法,密码协议也一样重要,两者为密码学研究的两大课题。在英文中,cryptography和cryptology都可代表密码学,前者又称密码术。但更严谨地说,前者(cryptography)指密码技术的使用,而后者(cryptology)指研究密码的学科,包含密码术与密码分析。密码分析(cryptanalysis)是研究如何破解密码学的学科。但在实际使用中,通常都称密码学(英文通常称cryptography),而不具体区分其含义。
口语上,编码(code)常意指加密或隐藏信息的各种方法。然而,在密码学中,编码有更特定的意义:它意指以码字(code word)取代特定的明文。例如,以‘苹果派’(apple pie)替换‘拂晓攻击’(attack at dawn)。编码已经不再被使用在严谨的密码学,它在信息论或通讯原理上有更明确的意义。在汉语口语中,电脑系统或网络使用的个人帐户口令(password)也常被以密码代称,虽然口令亦属密码学研究的范围,但学术上口令与密码学中所称的钥匙(key)并不相同,即使两者间常有密切的关连。
对称钥匙密码学指的是传送方与接收方都拥有相同的钥匙。直到1976年这都还是唯一的公开加密法。
现代的研究主要在分组密码(block cipher)与流密码(stream cipher)及其应用。分组密码在某种意义上是阿伯提的多字符加密法的现代化。分组密码取用明文的一个区块和钥匙,输出相同大小的密文区块。由于信息通常比单一区块还长,因此有了各种方式将连续的区块编织在一起。 DES和AES是美国联邦政府核定的分组密码标准(AES将取代DES)。尽管将从标准上废除,DES依然很流行(triple-DES变形仍然相当安全),被使用在非常多的应用上,从自动交易机、到远端存取。也有许多其他的区块加密被发明、释出,品质与应用上各有不同,其中不乏被破解者。
流密码,相对于区块加密,制造一段任意长的钥匙原料,与明文依位元或字符结合,有点类似一次一密密码本(one-time pad)。输出的串流根据加密时的内部状态而定。在一些流密码上由钥匙控制状态的变化。RC4是相当有名的流密码。
密码杂凑函数(有时称作消息摘要函数,杂凑函数又称散列函数或哈希函数)不一定使用到钥匙,但和许多重要的密码算法相关。它将输入资料(通常是一整份文件)输出成较短的固定长度杂凑值,这个过程是单向的,逆向操作难以完成,而且碰撞(两个不同的输入产
信息认证码或押码(Message authentication codes, MACs)很类似密码杂凑函数,除了接收方额外使用秘密钥匙来认证杂凑值。
数据加密标准 (DES)[2]是一种加密算法(一种加密信息的方法),1976年被美国联邦政府的联邦信息处理标准(FIPS)所选中,随后既在国际上广泛流传开来。这个算法因为包含一些机密设计元素,相关的短密钥长度以及被怀疑内含美国国家安全局(NSA)的后门而在开始是有争议的,DES因此收到强烈的学院派式的审查,并以此推动了现代的分组密码及其密码分析。
DES现在已经不视为一种安全的加密算法,因为它使用的56位秘钥过短,以现代计算能力,24小时内即可能被破解。也有一些分析报告提出了该算法的理论上的弱点,虽然实际情况未必出现。该标准在最近已经被高级加密标准(AES)所取代。
高级加密标准(Advanced Encryption Standard,AES)[3],又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以Rijndael之命名之,投稿高级加密标准的甄选流程。(Rijndael的发音近于 "Rhine doll")AES加密算法(使用128,192,和256位元密钥的版本)的安全性,在设计结构及密钥的长度上俱已到达保护机密资讯的标
准。最高机密资讯的传递,则至少需要192或256位元的密钥长度。用以传递国家安全资讯的AES实作产品,必须先由国家安全局审核认证,方能被发放使用。)
AES与3DES的比较[4]
公开钥匙密码学,简称公钥密码学[5],又称非对称钥匙密码学,相对于对称钥匙密码学,最大的特点在于加密和解密使用不同的钥匙。
在对称钥匙密码学中,加密和解密使用相同的钥匙,也许对不同的信息使用不同的钥匙,但都面临钥匙管理的难题。由于每对通讯方都必须使用异于他组的钥匙,当网络成员的数量增加时,钥匙数量成二次
方增加。更尴尬的难题是:当安全的通道不存在于双方时,如何建立一个共有的钥匙以利安全的通讯?如果有通道可以安全地建立钥匙,何不使用现有的通道。这个“鸡生蛋、蛋生鸡”的矛盾是长年以来密码学无法在真实世界应用的阻碍。
1976年, Whitfield Diffie与Martin Hellman发表开创性的论文,提出公开钥匙密码学的概念:一对不同值但数学相关的钥匙,公开钥匙(公钥, public key)与私密钥匙(私
, private key or secret key)。在公钥系统中,由公开钥匙推算出配对的私密钥匙于计算上是不可行的。历史学者David Kahn这样描述公开钥匙密码学;“从文艺复兴的多字符取代法后最革命性的概念。”
在公钥系统中,公钥可以随意流传,但私钥只有该人拥有。典型的用法是,其他人用公钥来加密给该接受者,接受者使用自己的私钥解密。Diffie与Hellman也展示了如何利用公开钥匙密码学来达成Diffie-Hellman钥匙交换协定。
1978年,MIT的Ron Rivest、Adi Shamir和Len Adleman发明另一个公开钥匙系统,RSA。直到1997年的公开文件中大众才知道,早在1970年代早期,英国情报机构GCHQ的数学家James H. Ellis便已发明非对称钥匙密码学,而且Diffie-Hellman与RSA都曾被Malcolm J. Williamson与Clifford Cocks分别发明于前。这两个最早的公钥系统提供优良的加密法基础,因而被大量使用。其他公钥系统还有Cramer-Shoup、Elgamal、以及椭圆曲线密码学等等。
除了加密外,公开钥匙密码学最显著的成就是实现了数字签名。数字签名名符其实是普通签章的数字化,他们的特性都是某人可以轻易制造签章,但他人却难以仿冒。数字签名可以永久地与被签署信息结合,无法自信息上移除。数字签名大致包含两个算法:一个是签署,使用私密钥匙处理信息或信息的杂凑值而产生签章;另一个是验证,使用公开钥匙验证签章的真实性。RSA和DSA是两种最流行的数字签名机制。数字签名是公开钥匙基础建设(public key infranstructures, PKI)以及许多网络安全机制(SSL/TLS, VPNs等)的基础。
公开钥匙算法大多基于计算复杂度上的难题,通常来自于数论。例如,RSA源于整数因子分解问题;DSA源于离散对数问题。近年发展快速的椭圆曲线密码学则基于和椭圆曲线相关的数学难题,与离散对数相当。由于这些底层的问题多涉及模数乘法或指数运算,相对于分组密码需要更多计算资源。因此,公开钥匙系统通常是复合式的,内含一个高效率的对称钥匙算法,用以加密信息,再以公开钥匙加密对称钥匙系统所使用的钥匙,以增进效率。
公钥的形式就是数字证书。
优点:与对称密钥加密相比,优点在于无需共享的通用密钥,解密的私钥不发往任何用户。即使公钥在网上被截获,如果没有与其匹配的私钥,也无法解密,所截获的公钥是没有任何用处的。
RSA加密算法[6]在公钥加密标准和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ro
n Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
分解极大整数的难度决定了RSA算法的可靠性。换言之,分解极大整数愈困难,RSA算法愈可靠。假如有人到一种很快的分解因子的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。
1983年麻省理工学院在美国为RSA算法申请了专利。其已于2000年9月21日失效。
在速度上,比起DES和其它对称算法来RSA要慢得多。实际上甲一般使用一种对称算法来加密他的信息,然后用RSA来加密他的比较短的对称密码,然后将用RSA加密的对称密码和用对称算法加密的消息送给乙。
这样一来对随机数的要求就更高了,尤其对产生对称密码的要求非常高,因为否则的话可以越过RSA来直接攻击对称密码。
U盾(USBKey)是中国工商银行推出的一种用于在网络上以客户端的形式识别客户身份的数字证书。它结合IC卡与数字证书、数字签名等技术。U盾采用1024位的非对称RSA加
【7】。U盾的私钥(唯一序列号)直接在IC卡中产生,将CA中心颁发的安全数字证书下载到卡中与私钥相对应。用户在使用网上银行系统时,通过U盾的加密通道确认客户身份。在进行网上交易时,数据先送入插入电脑USB接口的U盾,并使用私钥进行数字签名,然后再传送到网上银行进行验证。
NTRU(Number Theory Research Unit) 公钥密码算法[9]是在20 世纪90 年代中期,由数学家小组Jeffrey Hoffstein、JillPipher 和Joseph Silverman 设计的[ 12 ] 。NTRU 已被接受为IEEE P1363 标准, 被标准化在文档Working Group forStandards in Public Key Cryptography 中。
NTRU 算法使用多项式代数及两个不同数的模。它的安全性基于多项式、不同模混合运算的相互作用,也依赖于最大格及寻最短向量的困难性。
NTRU 性能分析如下:
(1) 效率较RSA 为高。NTRU 加密、解密一个长度为N的信息分组需要O (N2 ) 次操作。RSA 需要O (N3 ) 操作。所以,NTRU 比RSA 快至少100 倍。
(2) 安全性介于RSA 和ECC 之间(表2 中同一行表示相同的安全水平)
NTRU 与ECC、RSA 的安全性比较
RSA NTRU ECC
512 167 113
1024 263 160
2048 503 282
(3) NTRU 的密钥生成速度比RSA 00 倍;加密代码只须20 行C 代码,解密代码只须52 行C 代码。但NTRU 也有缺点,解密可能失败,但通过对系统参数仔细选择,解密失效的概率可小于5 ×105 。
NTRU算法的安全性是基于数论中在一个非常大的维效格中寻一个很短向量的数学难题。NTRU算法与RSA等算法相比具有更高的运算速度,更快的密钥生成速度和更少的存储空间,尽管在安全性方面与RSA相比有一些缺陷, 但也有弥补的方法,因此NTRU算法将会有更广阔的应用前景。[8]
椭圆曲线密码学[10](Elliptic curve cryptography,缩写为ECC)是基于椭圆曲线数学的一种公钥密码的方法。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。
ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA——提供相当的或更高等级的安全。ECC的另一个优势是可以定义之间的双线性映射,基于Weil 对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。
在2005年2月16日,NSA宣布决定采用椭圆曲线密码的战略作为美国政府标准的一部分,用来保护敏感但不保密的信息。NSA推荐了一组被称为Suit B的算法,包括用来密钥交换的Menezes-Qu-Vanstone椭圆曲线和Diffie-Hellman椭圆曲线,用来数字签名的椭圆曲线数字签名算法。这一组中也包括AES和SHA。
[11]

本文发布于:2024-09-21 13:27:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/771460.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:钥匙   加密   密码学
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议