密码的由来
发布网友
发布时间:2022-04-28 21:22
我来回答
共4个回答
热心网友
时间:2022-06-23 06:23
密码是一种用来混淆的技术,它希望将正常的(可识别的)信息转变为无法识别的信息。当然,对一小部分人来说,这种无法识别的信息是可以再加工并恢复的。密码在中文里是“口令”(password)的通称。登录网站、电子邮箱和银行取款时输入的“密码”其实严格来讲应该仅被称作“口令”,因为它不是本来意义上的“加密代码”,但是也可以称为秘密的号码。
热心网友
时间:2022-06-23 06:23
当然是防止别人偷看隐私了
热心网友
时间:2022-06-23 06:24
经典密码学
主条目:经典密码
在近代以前,密码学只考虑到信息的机密性(confidentiality):如何将可理解的信息转换成难以理解的信息,并且使得有秘密信息的人能够逆向回复,但缺乏秘密信息的拦截者或窃听者则无法解读。近数十年来,这个领域已经扩展到涵盖身分认证(或称鉴权)、信息完整性检查、数字签名、互动证明、安全多方计算等各类技术。
其实在公元前,秘密书信已用于战争之中。西洋“史学之父”希罗多德(Herodotus)的《历史》(The Histories)当中记载了一些最早的秘密书信故事。公元前5世纪,希腊城邦为对抗奴役和侵略,与波斯发生多次冲突和战争。于公元前480年,波斯秘密结了强大的军队,准备对雅典(Athens)和斯巴达(Sparta)发动一次突袭。希腊人狄马拉图斯(Demaratus)在波斯的苏萨城(Susa)里看到了这次集结,便利用了一层蜡把木板上的字遮盖住,送往并告知了希腊人波斯的图谋。最后,波斯海军覆没于雅典附近的沙拉米斯湾(Salamis Bay)。
由于古时多数人并不识字,最早的秘密书写的形式只用到纸笔或等同物品,随着识字率提高,就开始需要真正的密码学了。最古典的两个加密技巧是:
移位式(Transposition cipher):将字母顺序重新排列,例如‘help me’变成‘ehpl em’;与
替代式(substitution cipher):有系统地将一组字母换成其他字母或符号,例如‘fly at once’变成‘gmz bu podf’(每个字母用下一个字母取代)。
这两种单纯的方式都不足以提供足够的机密性。凯撒密码是最经典的替代法,据传由古罗马帝国的皇帝凯撒所发明,用在与远方将领的通讯上,每个字母被往后位移三格字母所取代。
加密旨在确保通讯的秘密性,例如间谍、军事将领、外交人员间的通讯,同时也有宗教上的应用。举例来说,早期*徒使用密码学模糊他们写作的部份观点以避免遭受*。666或部分更早期的手稿上的616是新约*经启示录所指的野兽的数字,常用来暗指专**徒的古罗马皇帝尼禄(Nero)。史上也有部份希伯来文密码的记载。古印度欲经中也提及爱侣可利用密码来通信。隐写术也出现在古代,希罗多德记载将信息刺青在奴隶的头皮上,较近代的隐写术使用*墨水、缩影术(en:microdots)或数字水印来隐藏信息。
现代密码学
现代密码学大致可被区分为数个领域。 对称钥匙密码学指的是传送方与接收方都拥有相同的钥匙。直到1976年这都还是唯一的公开加密法。
现代的研究主要在分组密码(block cipher)与流密码(stream cipher)及其应用。分组密码在某种意义上是阿伯提的多字符加密法的现代化。分组密码取用明文的一个区块和钥匙,输出相同大小的密文区块。由于信息通常比单一区块还长,因此有了各种方式将连续的区块编织在一起。 DES和AES是美国联邦*核定的分组密码标准(AES将取代DES)。尽管将从标准上废除,DES依然很流行(triple-DES变形仍然相当安全),被使用在非常多的应用上,从自动交易机、电子邮件到远端存取。也有许多其他的区块加密被发明、释出,品质与应用上各有不同,其中不乏被破解者。
流密码,相对于区块加密,制造一段任意长的钥匙原料,与明文依位元或字符结合,有点类似一次一密密码本(one-time pad)。输出的串流根据加密时的内部状态而定。在一些流密码上由钥匙控制状态的变化。RC4是相当有名的流密码。
密码杂凑函数(有时称作消息摘要函数,杂凑函数又称散列函数或哈希函数)不一定使用到钥匙,但和许多重要的密码算法相关。它将输入资料(通常是一整份文件)输出成较短的固定长度杂凑值,这个过程是单向的,逆向操作难以完成,而且碰撞(两个不同的输入产生相同的杂凑值)发生的机率非常小。
信息认证码或押码(Message authentication codes, MACs)很类似密码杂凑函数,除了接收方额外使用秘密钥匙来认证杂凑值。
[编辑] 公钥密码学
主条目:公钥密码学
公开钥匙密码学,简称公钥密码学,又称非对称钥匙密码学,相对于对称钥匙密码学,最大的特点在于加密和解密使用不同的钥匙。
在对称钥匙密码学中,加密和解密使用相同的钥匙,也许对不同的信息使用不同的钥匙,但都面临钥匙管理的难题。由于每对通讯方都必须使用异于他组的钥匙,当网络成员的数量增加时,钥匙数量成二次方增加。更尴尬的难题是:当安全的通道不存在于双方时,如何建立一个共有的钥匙以利安全的通讯?如果有通道可以安全地建立钥匙,何不使用现有的通道。这个“鸡生蛋、蛋生鸡”的矛盾是长年以来密码学无法在真实世界应用的阻碍。
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源于离散对数问题。近年发展快速的椭圆曲线密码学则基于和椭圆曲线相关的数学难题,与离散对数相当。由于这些底层的问题多涉及模数乘法或指数运算,相对于分组密码需要更多计算资源。因此,公开钥匙系统通常是复合式的,内含一个高效率的对称钥匙算法,用以加密信息,再以公开钥匙加密对称钥匙系统所使用的钥匙,以增进效率。
[编辑] 密码分析
主条目:密码分析
密码分析又称破密术。 密码分析的目的是发现密码机制的弱点,从事者可能是意图*系统恶意的攻击者或评估系统弱点的设计人。在现代,密码算法与协定必须被仔细检查和测试,确定其保证的安全性。
大众普遍误解认为所有加密法都可以被破解。Bell Labs的Claude Shannon在二次世界大战时期便证明只要钥匙是完全随机,不重复使用,对外绝对保密,与信息等长或比信息更长的一次垫是不可能破解的。除了一次垫以外的多数加密法都可以以暴力攻击法破解,但是破解所需的努力可能是钥匙长度的指数成长。
密码分析的方式有很多,因此有数个分类。一个常见的分别法则是攻击者知晓多少信息。在唯密文攻击中,密码分析者只能存取密文,好的现代密码系统对这种情况通常是免疫的。在已知明文攻击中,密码分析者可以存取多个明文、密文对。在选择明文攻击中,密码分析者可以自选任意明文,并被赋予相对应的密文,例如二战时布列颠所使用的园艺法。最后,选择密文攻击中,密码分析者可以自选任意密文,并被赋予相对应的明文
对称钥匙加密的密码分析通常旨在寻找比已知最佳破解法更有效率的方式。例如,以最简单的暴力法破解DES需要一个已知明文与255 解密运算,尝试近半数可能的钥匙。线性分析攻击法对DES需要243 已知明文与243 DES运算,显然比暴力法有效。
公开钥匙算法则基于多种数学难题,其中最有名的是整数分解和离散对数问题。许多公开钥匙密码分析在研究如何有效率地解出这些计算问题的数值算法。例如,已知解出机于椭圆曲线的离散对数问题比相同钥匙大小的整数因子分解问题更困难。因此,为了达到相等的安全强度,基于因子分解的技术必须使用更长的钥匙。由于这个因素,基于椭圆曲线的公开钥匙密码系统从1990年代中期后逐渐流行。
当纯粹的密码分析着眼于算法本身时,某些攻击则专注于密码装置执行的弱点,称为副通道攻击。如果密码分析者可以存取到装置执行加密或回报通行码错误的时间,它就可能使用时序攻击法破解密码。攻击者也可能研究信息的模式与长度,得出有用的信息,称为流量分析,对机敏的敌人这相当有效。当然,社会工程与其它针对人事、社交的攻击与破密术一并使用时可能是最有力的攻击法。
[编辑] 密码学原型
多数的密码学理论研究在探讨密码学原型:具备基本密码学特质的算法以及和其他问题的关连。例如,容易正向运算却难以逆向运算的单向函数。通常而言,密码应用如果要安全,就必须保证单向函数存在。然而,如果单向函数存在,就表示P ≠ NP。既然目前P与NP问题仍是未解,我们就无从得知单向函数是否存在。如果单向函数存在,那安全的准乱数产生器与准乱数函数就存在。 目前已知的密码学原型仅提供基本的机能。通常是机密、信息完整、认证、和不可否认。任何其他机能都是基本算法的组合与延伸,这类组合称为密码系统。例如PGP、SSH、 SSL/TLS、公开钥匙基础建设和数字签名等。 其他密码原型还有加密算法本身、单向排列、暗门排列等。
http://upload.wikimedia.org/wikipedia/commons/4/4d/Lorenz-SZ42-2.jpg
德国的洛伦兹密码机,所使用的二次世界大战加密机密邮件。
热心网友
时间:2022-06-23 06:24
骗人