下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

密码学的基础与应用之密码学的基本概念

作者:课课家教育     来源: http://www.kokojia.com点击数:2180发布时间: 2019-02-28 10:46:39

标签: 信息安全工程师密码学密码学基础与应用密码学概念

软考,您想通过吗?一次通过才是硬道理

     1.基本概念

  密码学是一种研究如何隐秘地传递信息的学科,是一种研究编制密码和破译密码的技术,随着先进科学技术的应用,密码学在编码与破译的斗争实践中慢慢地发展了起来并成为一门综合性的尖端技术科学。密码学一般都被认为是数学和计算机科学的一个分支,和信息论有着密切的关系。

密码学的基础与应用之密码学的基本概念_信息安全工程师_密码学_密码学基础与应用_密码学概念_课课家

  密码学(Cryptology)是一门古老的科学。从人类社会出现战争时密码便随之出现了,从这以后就开始慢慢地成为了一门独立的学科。科学技术的发展和战争的剌激都在密码学形成和发展的过程中起了积极的推动作用。电子计算机刚出现的时候就便被用于密码破译,从此密码就进入了电子时代。香农(C.D.Shannon)在1949年发表了《保密系统的通信理论》这个著名的论文,将密码学放置在坚实的数学基础之上,标志着密码学作为一门科学的形成。而密码新时代的开创是由于1976年W.Diffie和M.Hellman提出公开密钥密码。1977年美国联邦政府颁布数据加密标准(DES),这是密码史上的一个创举。1994年美国联邦政府颁布密钥托管加密标准(EES),1994年美国联邦政府颁布数字签名标准(DSS), 2001年美国联邦政府颁布高级加密标准(AES)。我国国家密码管理局也一直都高度重视密码标准的管理工作,在2000年时就开始组织相关规范的一个组织编写工作,先后用白皮书的形式发布了系列技术标准,规范了商用密码产品的研发与应用。在2011年时,密码行业标准化技术委员会经过国标委的批准后成立了,这标志着密码标准化工作正式被纳入到国家标准管理体系。SM2椭圆曲线公钥密码算法、SM3密码杂凑算法和SM4分组密码算法是我国目前许可且大力推广应用的通用密码算法。同时,SMl分组密码算法允许在智能电网、居民健康卡、社会保障等领域使用,SM7分组密码算法可以被电子标签、重要门禁系统等领域采用,ZUC祖冲之密码算法也可以在通信领域采用。这些都是密码发展史上的一个个重要的里程碑。

  密码编制学(Cryptography)和密码分析学(Cryptanalysis)分别是研究密码编制和密码破译的学科 ,这两者结合起来共同组成了密码学(Cryptology)。

  2.基本安全目标

  密码学作为信息安全的关键技术,网络安全使用密码来辅助完成传递敏感信息的相关问题,因此密码学需要有安全的目标制定,其安全目标主要包括保密性(confidentiality)、完整性(integrity) 和可用性(availability)。

密码学基本安全目标

  (1)保密性

  保密性是指信息能确保只有被合法用户访问,而不被泄露给非授权的用户、实体或者过程,以及供其利用的特性。也就是说信息只能被授权用户使用的同时还要防止信息泄漏给非授权个人或实体。"访问"在这里是指不仅可以读,也能浏览、打印或者简单地了解一些特殊资源是否存在。

  如今常用的一些保密技术有:防侦收(能使对手侦收不到有用的信息)、防辐射(防止有用的信息在各种途径当中辐射出去)、数据加密(用加密算法在密钥的控制下对信息进行加密处理。这样就算对手能得知加密后的信息也会由于没有密钥而读不懂有效的信息)、物理保密(运用各种物理方法,比如限制、隔离、掩蔽、控制等措施,保护信息不被批露)等等。

  (2)完整性

  完整性是指只能由授权方或以授权的方式进行修改所有的资源,即信息面没有经过授权就不能进行改变的特性。信息在存储或传输过程中确保能不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失的特性。完整性是一种面向信息的安全性,需要保持信息可以正确生成正确存储以及传输,也就是要求保持信息的原样。

  完整性要求信息不能受到各种原因的破坏,而保密性要求信息不被泄露给未授权的人,因此,完整性与保密性是不同。影响网络信息完整性的主要因素有:设备故障、误码(传输、处理和存储过程中产生的误码,定时的稳定度和精度降低而造成的误码,各种干扰源造成的误码)、人为攻击、计算机病毒等。

  (3)可用性

  在适当的时候可以由授权方访问所有资源,即信息可以被授权实体访问并且按照需求使用的特性,这个就是可用性。允许授权用户或实体在信息服务需要时可以使用的特性,或者是网络部分受损或需要降级使用时,依旧可以为授权用户提供有效服务的特性。可用性是信息系统面向用户的安全性能。向用户提供服务是信息系统最基本的功能,而用户的需求是随机的、多方面的、有时还会有时间要求。一般用系统正常使用时间和整个工作时间之比来度量可用性。

  可用性还应该满足以下要求:身份识别与确认、访问控制(对用户的权限进行控制,只能访问相应权限的资源,防止或限制通过用隐蔽通道的非法访问)。

  保密性是为了防止某些不希望知道信息内容的人从信息传输媒介获取信息而将信息隐藏起来;完整性主要是用来保证信息在传输过程中保证它的正确性;而可用性是能保证具有授权的一方可以访问所有的资源。这三者之间各司其职,均在密码学的安全目标当中具有非常重要的地位,共同为密码学的安全性增加一定的高度。

  3.密码体制

  密码体制也叫密码系统,是指能完整地解决信息安全中的机密性、数据完整性、认证、身份识别、可控性及不可抵赖性等问题中的一个或几个的一个系统。对一个密码体制的正确描述,需要用数学方法清楚地描述其中的各种对象、参数、解决问题所使用的算法等。

  密码技术的基本思想是伪装信息,使未授权者不能理解它的真实含义。所谓伪装就是对数据进行一组可逆的数学变换。伪装前的原始数据称为明文(Plaintext),伪装后的数据称为密文(Ciphertext),伪装的过程称为加密(Encryption)。加密在加密密钥(Key)的控制下进行。用于对数据加密的一组数学变换称为加密算法。发信者将明文数据加密成密文,然后将密文数据送入网络传输或存入计算机文件,而且只给合法收信者分配密钥。合法收信者接收到密文后,施行与加密变换相逆的变换,去掉密文的伪装恢复出明文,这一过程称为解密(Decryption)。解密在解密密钥的控制下进行。用于解密的一组数学变换称为解密算法,而且解密算法是加密算法的逆。因为数据以密文形式在网络中传输或存入计算机文件,而且只给合法收信者分配密钥。这样,即使密文被非法窃取,因为未授权者没有密钥而不能得到明文,因此未授权者也不能理解它的真实含义,从而达到确保数据秘密性的目的。同样,因为未授权者没有密钥也不能伪造出合理的明密文,因此篡改数据必然被发现,从而达到确保数据真实性的目的。与能够检测发现篡改数据的道理相同,如果密文数据中发生了错误或毁坏也将能够检测发现,从而达到确保数据完整性的目的。

  一个密码系统,通常简称为密码体制(Cryptosystem),由五部分组成(如图(3-1)。

  (1)明文空间M,它是全体明文的集合。

  (2) 密文空间C,它是全体密文的集合。

  (3) 密钥空间K,它是全体密钥的集合。其中每一个密钥K均由加密密钥Ke和解密密钥Kd组成,即K=<Ke,Kd>

  (4) 加密算法E,它是一族由M到C的加密变换。

  (5) 解密算法D,它是一族由C到M的解密变换。

  对于每一个确定的密钥,加密算法将确定一个具体的加密变换,解密算法将确定一个具体的解密变换,而且解密变换就是加密变换的逆变换。对于明文空间M中的每一个明文M,加密算法E在密钥Ke的控制下将明文M加密成密文C:

  C=E(M, Ke)

  而解密算法D在密钥Kd的控制下将密文C解密出同一明文M:

  M=D(C, Kd)=D(E(M,Ke)Kd)

  图(3-1)密码体制

  如果一个密码体制的Kd=Ke,或自其中一个很容易推出另一个,则称为单密钥密码体制或对称密码体制或传统密码体制。否则称为双密钥密码体棋。进而,如果在计算上且不能由Ke推出,这样将Ke公开也不会损害Kd的安全,于是便可将Ke公开。这种密码体制称为公开密钥密码体制,简称为公钥密码体制。公开密钥密码体制的概念于1976年由W.Diffe和M.Hellman提出。它的出现是密码发展史上的一个里程碑。

  如果能够根据密文系统地确定出明文或密钥,或者能够根据明文"密文对系统地确定出密铝,则我们说这个密码是可破译的。研究密码破译的科学称为密码分析学。密码分析者攻击密码的方法主要有以下三种。

  (1)穷举攻击。所谓穷举攻击是指,密码分析者采用依次试遍所有可能的密钥对所获得的密文进行解密,直至得到正确的明文:或者用一个确定的密钥对所有可能的明文进行加密,直至得到所获得的密文。显然,理论上,对于任何实用密码只要有足够的资源,都可以用穷举攻击将其攻破。从平均角度讲,采用穷举攻击破译一个密码必须试遍所有可能密钥的一半。

  值得注意的是,如果分析者不得不采用穷举攻击时,他们往往会首先尝试那些可能性最大的密钥。例如,基于用户为了容易记忆往往会选择一些短的数据或有意义的数据作为口令(如姓名、生日、电话号码、邮件地址等)这样的事实,黑客在攻击用户口令时往往首先尝试这些短的和有意义的口令。这一事实告诉我们,为了口令的安全用户不应选择这种短的数据或有意义的数据作为口令。

  (2) 数学分析攻击。所谓数学分析攻击是指密码分析者针对加解密算法的数学基础和某些密码学特性,通过数学求解的方法来破译密码。数学分析攻击是对基于数学难题的各种密码的主要威盼。为了对抗这种数学分析攻击,应当选用具有坚实数学基础和足够复杂的加解密算法。

  (3)基于物理的攻击。侧信道密码分析利用密码系统实现时泄露的额外信息,推导密码系统中的秘密参数。主要方法包括功耗攻击、电磁场攻击和时间攻击等。其中功耗攻击是最常用的手段之一,包括简单功耗分析攻击(SimplePower Analysis attacks, SPA)和差分功耗分析攻击(Differential Power Analysis attacks,DPA),与传统密码分析学相比,这些攻击手鼓攻击效果显著。有效性远高于基于数学进行密码分析的方法,因此给密码设备带来了严重的威胁。

  此外,根据密码分析者可利用的数据资源来分类,可将攻击密码的类型分为以下

  四种:

  (1)仅知密文攻击(Ciphertext-only attack)。所谓仅知密文攻击是指密码分析者仅根据截获的密文来破译密码。因为密码分析者所能利用的数据资源仅为密文,因此这是对密码分析者最不利的情况。

  (2)已知明文攻击(Known-plaintext attack) 。所谓己知明文攻击是指密码分析者根据己经知道的某些明文-密文对来破译密码。例如,密码分析者可能知道从用户终端送到计算机的密文数据从一个标准词"LOGIN" 开头。又例如,加密成密文的计算机程序文件特别容易受到这种攻击。这是因为诸如"BEGIN"、"END"、"IF"、"THEN"、"ELSE"等词的密文有规律地在密文中出现,密码分析者可以合理地猜测它们。再例如,加密成密文的数据库文件也特别容易受到这种攻击。这是因为对于特定类型的数据库文件的字段及其取值往往具有规律性,密码分析者可以合理的猜测它们。如学生成绩数据库文件一定会包含诸如姓名、学号、成绩等宇段,而且成绩的取值范自在0-100 之间。近代密码学认为,一个密码仅当它能经得起己知晓文攻击时才是可取的。

  (3)选择明文攻击( Chosen-plaintext attack) 。所谓选择明文攻击是指密码分析者能够选择明文并获得相应的密文。这是对密码分析者十分有利的情况。计算机文件系统和数据库系统特别容易受到这种攻击,这是因为用户可以随意选择明文,并获得相应的密文文件和密文数据库。例如, Windows 环境下的数据库SuperBase 的密码就被作者用选择明文方法破译。如果分析者能够选择明文并获得密文,那么他将会特意选择那些最有可能恢复出密钥的明文。

  (4) 选择密文攻击(Chosen…ciphertext attack) 。所谓选择密文攻击是指密码分析者能够选择密文并获得相应的明文。这也是对密码分析者十分有利的情况。这种攻击主要攻击公开密钥密码体制,特别是攻击其数字签名。一个密码,如果无论密码分析者截获了多少密文和用什么技术方法进行攻击都不能被攻破,则称为是绝对不可破译的。绝对不可破译的密码在理论上是存在的,这就是著名的"一次一密"密码。但是,由于在密钥管理上的困难"一次一密"密码是不实用的。理论上,如果能够利用足够的资源,那么任何实际可使用的密码又都是可破译的。如果一个密码,不能被密码分析者根据可利用的资源所破译,则称为是计算上不可破译的。因为任何秘密都有其时效性,因此,对于我们更有意义的是在计算上不可破译( Computationlly unbreakable) 的密码。

  总体来讲,密码体制分为私用密钥加密技术(对称加密)和公开密钥加密技术(非对称加密),通常的密码体制采用移位法、代替法和代数方法来进行加密和解密的变换,可以采用一种或几种方法结合的方式作为数据变换的基本模式。密码体制在密码学基础与应用中起着重要的作用,各种的密码的发明都需要密码体制来支撑。

  以上就是小编整理的关于密码学基础与应用的知识点了,另外,密码基础中古典密码的知识点在信息安全工程师之《古典密码》篇,如果大家想了解的话可以去搜索来看,也可以在我们课课家教育平台来学习更多的教程内容。

赞(14)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程