简叙密码发展史(0):密码学概述——基本概念科普
Author:zhoulujun Date:
什么是密码?
密码(Cryptology)是一种用来混淆的技术,它希望将正常的、可识别的信息转变为无法识别的信息。密码学是一个即古老又新兴的学科,密码学一词源自希腊文“krypto's”及“logos”两字,直译即为“隐藏”及“讯息”之意。
在《辞海》(1999年版)中对密码是这样释意的:
“按特定法则编成,用以对通信双方的信息进行明密变换的符号”。换而言之,密码是隐蔽了真实内容的符号序列。就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码,这种独特的信息编码就是密码。
什么是商用密码?
根据1999年10月7日国务院发布实施的《商用密码管理条例》第一章第二条规定:“本条例所称商用密码,是指对不涉及国家秘密内容的信息进行加密保护或者安全认证所使用的密码技术和密码产品”。
商用密码是商用密码技术和商用密码产品的总称。凡是不涉及国家秘密内容的信息,又需要用密码加以保护的,均可以使用商用密码。
密码的作用
码一般用于信息通信传输过程中的保密和存储中的保密。
随着计算机和信息技术的发展,密码技术的发展也非常迅速,应用领域不断扩展。密码除了用于信息加密外,也用于数据信息签名和安全认证。这样,密码的应用也不再只局限于为军事、外交斗争服务,它也广泛应用在社会和经济活动中。当今世界已经出现了密码应用的社会化和个人化趋势。例如:
可以将密码技术应用在电子商务中,对网上交易双方的身份和商业信用进行识别,防止网上电子商务中的“黑客”和欺诈行为;
应用于增值税发票中,可以防伪、防篡改,杜绝了各种利用增值税发票偷、漏、逃、骗国家税收的行为,并大大方便了税务稽查;
应用于银行支票鉴别中,可以大大降低利用假支票进行金融诈骗的金融犯罪行为;
应用于个人移动通信中,大大增强了通信信息的保密性等
等等
什么是加密?什么是解密?
出于信息保密的目的,在信息传输或存储中,采用密码技术对需要保密的信息进行处理,使得处理后的信息不能被非受权者(含非法者)读懂或解读,这一过程称为加密。在加密处理过程中,需要保密的信息称为“明文”,经加密处理后的信息称为“密文”。加密即是将“明文”变为“密文”的过程;与此类似,将“密文”变为“明文”的过程被称为解密。
什么是密钥?
密钥是一组信息编码,它参与密码的“运算”,并对密码的“运算”起特定的控制作用。密钥是密码技术中的重要组成部分。在密码系统中,密钥的生成、使用和管理至关重要。密钥通常是需要严格保护的,密钥的失控将导致密码系统失效。
密码算法?
密码算法是实现密码对信息进行“明”“密”变换的一种特定的规则。不同的密码算法有不同的变换规则。因此,密码算法也是加密算法、解密算法、签名算法和认证算法等各类算法的统称。
对称加密(Symmetric Cryptography)
对称加密是加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。其是最快速、最简单的一种加密方式。
对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
非对称加密简介:
非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。
非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。
比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。
目前最常用的非对称加密算法是RSA算法,是Rivest, Shamir, 和Adleman于1978年发明,他们那时都是在MIT。
安全协议
安全协议是建立在密码算法基础上的一种交互协议,它借助密码机制,通过两个或多个参与者的交互实现某个特定的安全目标,最终为安全通信提供保障。这体现了密码机制和安全协议的相互依存关系,密码机制需要借助安全协议发挥作用,安全协议则需要依赖密码机制实现安全目标。可以说,安全协议对于我们就是信息时代的“护身符”,借助这些“护身符”,我们能保护自己免受隐私泄露、财产损失等一系列危害。
具有代表性的安全协议主要有:
人类社会已经进入信息时代,社会和经济发展对信息资源、信息技术以及信息产业的依赖程度越来越高。以互联网为载体的信息资源随着互联网的大规模扩张而膨胀,由此带来的安全问题早已让我们应接不暇。21世纪,无论对于个人还是国家来说,都是一场又一场的信息化战争。在这些战争中,信息交流空前繁荣,随之也带来了应接不暇的信息安全问题。从个人隐私,到商业资源,再到国家机密,每时每刻都在发生信息的流动,都需要对信息进行相应的保护。因此,信息安全是和平时代国家经济发展的基础。
实现信息安全,必须依赖一系列能实现特定目标(比如:身份认证、消息完整性、匿名通信、抗抵赖、抗拒绝服务、授权等)的安全方案,通常来说,这些实现特定目标的方案以安全协议的形式广泛应用在实际系统中。简单来说,安全协议是建立在密码算法基础上的一种交互协议,它借助密码机制,通过两个或多个参与者的交互实现某个特定的安全目标,最终为安全通信提供保障。这体现了密码机制和安全协议的相互依存关系,密码机制需要借助安全协议发挥作用,安全协议则需要依赖密码机制实现安全目标。可以说,安全协议对于我们就是信息时代的“护身符”,借助这些“护身符”,我们能保护自己免受隐私泄露、财产损失等一系列危害。
那么信息时代我们都有哪些强有力的“护身符”呢?从安全协议的实现目的来看,这些“护身符”通常包括基础的安全协议,比如认证协议、密钥交换协议、秘密共享协议、零知识证明协议,以及将基础安全协议应用到实际场景中的应用安全协议(如:安全多方计算协议和安全通信协议)。具有代表性的安全协议主要有:
(一)认证协议
互联网代表了人类文明的最新成就,但是在互联网世界里,人们没姓名、没身份、没荣耻、没道德、没法律、没人权,甚至连隐私都没有,在这个“野蛮”世界里,不存在任何秩序可言。而认证协议则是为这个世界重建秩序的最根本手段。从最简单的口令,到最复杂的数字签名;从你具有的生物特征,到你的习惯特征,几乎都被用来进行“你”就是“你”的证明。不仅是实体的认证,消息的认证同样重要,而对消息认证来讲,本质也是保证消息的原始内涵、来源以及去向的认证问题。认证的作用有多大呢?可以说,如果实现了这个目标,那么网络世界里泛滥的冒充、抵赖、信息篡改等一系列威胁都不存在了。实用的身份认证协议有Schnorr协议、Okamoto协议、Guillou-Quisquater协议和Feige-Fiat-Shamir协议等。
(二)密钥交换协议
在认证这一最基础的“护身符”保护下,我们希望达到更多安全目标。而密钥协商协议就是以建立安全密钥为目标的协议。根据认证方式的不同,密钥协商协议可以分为基于公钥证书的、基于身份的、基于对称密码体制的和基于口令的;而根据参与者的数量,又可以分为两方、三方(通常包含一个可信第三方)以及群组的密钥交换协议。密钥交换协议的核心是,每个协议参与者产生一个带有陷门的消息(陷门是参与者自己持有的秘密),最终根据交互的消息协议各方计算出一个共同的密钥,而只通过公开交互的部分消息,非协议参与方无法获得这个密钥。通常这些陷门(即秘密)的安全基于求解某个数学难题的困难性,如最常用的Diffe-Hellman密钥协商协议基于求解特定代数群上元素的离散对数困难问题。此外,还有MQV协议、KEA以及一些基于口令和身份的密钥交换协议。
(三)秘密共享协议
通过运行密钥交换协议,我们获得了一个安全的密钥。而在现实生活中的某些场合,比如卫星的控制发射、保险柜的打开、公司作出重大决策、重要关卡通行等,对于能触发以上事件的重要秘密信息,如主密钥、根私钥等,我们并不希望这些关系重大的决定或事件的发生仅仅由某个人擅自决定,而需要两个或者多个人经过慎重考虑之后同时参与才能生效时,我们需要一些方式来进行秘密的共享。简单来说,我们希望这些重要秘密由多个人共同保管,而且在使用时,需要规定数量或超过规定数量的秘密信息保管人在场,才可以合成秘密信息,并有效使用。而“秘密共享”就是为了解决此类问题而提出的。另一方面,秘密共享还会增加系统的鲁棒性。也就是说,少于特定数量的秘密碎片不能帮助敌手得到真实的秘密。我们常用的秘密共享协议有Shamir秘密共享协议、Asmuth-Bloom秘密共享协议以及其他一些考虑特殊需求的秘密共享协议。
(四)零知识证明协议
所谓零知识证明,简单来讲就是,证明者试图让验证者相信某个论断是正确的,却不向验证者泄露任何自己不希望泄露的信息。举一个有趣的例子,我们假设现在需要向一个色盲证明他手里拿的两个大小质量相同、颜色不同的小球。由于色盲无法辨别颜色,我们如何通过一些交互让色盲相信两个小球颜色不同,而不泄露球的颜色呢?我们可以这样做:让色盲一手拿一个小球,我们告诉色盲,左右手小球各自的颜色;接着,色盲可以把手背过身去,并决定是否交换两个球在左右两个手的位置;最后,色盲再次将两个球放在证明者面前,叫证明者再次告知各自的颜色。尽管色盲不知道两个小球真实的颜色究竟是什么,但是色盲可以随机选择是否交换两个小球的位置,而通过对比证明者的两次回答,色盲可以判断两个小球是否颜色不同。通过这样的操作,色盲可以判断出小球确实颜色不同,而我们并没有泄露小球的颜色。这一思想由Goldwaser,Micali和Rocko提出,并被广泛应用在大量的安全协议设计中,比如身份认证、电子现金、电子投票和群组签名等。
(五)公平交换协议
公平交换,就是保证参与交换协议的双方以一种公平的方式交换信息,使得参与者要么都能得到对方的信息,要么都得不到对方的信息。这类协议考虑在电子交易、电子支付和电子选举等场景中交互的各方,由于各自利益目标不一致,各方都会想办法让自己的利益最大化,而这一过程可能会损害到对方的利益。为了避免此类情形发生,保证交易双方的利益安全,确保无任何一方以损害对方利益为代价获取了不该获取的信息或物品,诞生了公平交换协议。其中,承诺方案是一种常见的基本模块。简单来说,一个承诺方案是包含两个阶段的两方协议,在承诺阶段,承诺者就一个特定的消息产生一个对应的承诺,在打开阶段,验证者可以验证承诺者所做承诺的正确性。举一个例子,我们可以把承诺阶段看作把某个消息写在纸上并封存在一个信箱里,信箱交给验证者保管;在打开阶段,承诺者用钥匙打开信箱,并把纸条交给验证者。通过承诺协议,既可以保证承诺消息的隐藏性,又可以保证承诺的消息无法被承诺者篡改。它们对应了承诺方案的两个基本安全条件:隐藏性和绑定性。所以承诺方案为公平交换协议提供了所需的公平性保证。最为典型的承诺方案是比特承诺方案和Pedersen承诺方案。
(六)安全多方计算协议
安全多方计算指的是,拥有秘密输入且互不信任的n方,在不泄露各自私有信息的前提下进行的多方合作计算。因而,安全多方计算协议是一个分布式的多方交互协议,它开创了一种全新的网络协作计算模式,它自1980年代经由我国的首个图灵奖获得者姚期智提出以来,已得到许多研究并被广泛应用到电子选举、门限签名以及电子拍卖等场合中。
(七)安全通信协议
通信协议是我们最熟悉的协议,也是互联网中最常见的协议。可以说有信息流动的地方就有通信协议的存在。此类协议运行在计算机通信网络中以保证信息的安全交换。这类协议大量使用基础安全协议,比较有代表性的协议包括Kerberos认证协议、X.509协议、IPSec协议、TLS/SSL协议、SET协议、PGP协议和HTTPS协议等。如果说前六类协议都是看不见的“护身符”,那安全通信协议就是我们可以实实在在感受得到的“护身符”。它无时无刻不存在于我们日常的信息交互中,并通过对基础协议的融合,为我们提供最直观的安全保护。安全协议的内容远不仅限于以上所述,可以说,有多少安全需求,就会产生多少种安全协议,但是不管安全需求如何演变,这些安全协议都是为了让我们能够在复杂多变而又处处闪烁着刀光剑影的虚拟世界里保护我们最根本的利益。所以,安全协议当之无愧是我们行走在湖的“护身符”,也是信息时代得以安身立命的根本。(兰晓)
参考内容:
什么是密码? https://sca.gov.cn/sca/zxfw/2016-11/18/content_1002408.shtml
转载本站文章《简叙密码发展史(0):密码学概述——基本概念科普》,
请注明出处:https://www.zhoulujun.cn/html/theory/algorithm/encryption/8615.html