百科狗-知识改变命运!
--

信息加密技术及其安全性探讨_信息加密技术

泡在奶味里1年前 (2023-12-20)阅读数 18#综合百科
文章标签密钥算法

0 前言  目前的互联网系统中,黑客常用的典型攻击方式有扫描、监听、密码分析、软件漏洞、恶意代码、拒绝服务,而常见的安全防御技术有信息加密、CA认证、存取控制、监控、审计和扫描(针对恶意代码)。其中密码分析与信息加密是攻击与防御的核心技术。提及信息安全,我们往往首先联想到密码技术。密码技术的重要性在网络安全领域是不可取代的。

1 密码技术及安全标准

密码技术是对传输或存储中的数据进行重新编码,以防止第三方窃取、篡改数据的一门技术。它结合了数学、通信学、计算机科学等多种学科于一体,通过数据加密、数字签名、身份认证等方式,在纷繁复杂的网络环境下对信息进行保护,保证其机密性、完整性和可用性。

1.1 加密算法的种类

数据加密算法种类繁多,究其发展史,经历了古典算法、对称密钥算法以及公开密钥算法三个阶段。古典算法中有替换加密、代码加密、变位加密等,该类算法简单易行,但已不能满足当下的安全性要求,逐渐淡出应用。

对称密钥加密算法又称为单密钥算法,该算法加密与解密使用同一个密钥,或者从其中一个密钥可以轻易推出另一个。目前著名的对称加密算法有美国数据加密标准DES、高级加密标准AES和欧洲数据加密标准IDEA等。对称密码从加密方式上又可以分为分组密码和序列密码两种。

公开密钥加密算法又可以称作非对称密钥算法。该算法中,加密密钥和解密密钥是不同的,加密密钥公开,解密密钥私下保存。在得到公钥的情况下,想要推导出私钥理论上是不可能的。该类算法的设计往往来自复杂的数学难题。代表性算法有基于大数分解的RSA,基于离散对数的DSA,基于椭圆曲线离散对数的ECC。

1.2 加密算法的安全判定标准

安全性是衡量一个加密算法优劣的首要因素。失去了安全保证,再完善的密码系统也没有意义。要保证安全性,一个加密算法应做到以下三点:在明文和加密密钥已知的前提下,可以轻易算出密文;密文和解密密钥已知的情况下,可轻易算出明文;解密密钥未知时,由密文推导出明文理论上是不可能的。

关于加密信息的安全性定义,Shannon提出了通信中的理论安全与实际安全两个概念。理论安全要求在解密密钥未知的情况下,无论得到多少数量的密文,由此推测出明文的可能性与直接猜测明文是一样的。Shannon证明要实现理论安全,必须让加密密钥的长度不小于明文,这在进行大规模数据加密时是难以实现的。实际安全是指密文已知而解密密钥未知的前提下,对于计算能力与可用资源有限的破解者,即使使用最佳的破译算法,也无法在他所需要的有效时间内破解出明文和密码。我们目前应用的加密标准,都是基于实际安全设计的。

2 几种代表性加密算法

我们在两类加密体系中,试举几种代表性的加密算法,通过对其特点的比较,解析其优点与安全漏洞所在,在此基础上提出一些解决方案与新的加密思路。

2.1 对称密钥加密

对称密钥加密算法中最具代表性的是DES算法,该算法的优势在于机制简单,加密解密迅速,算法公开,可以对大批量传输的数据进行加密操作;缺点是密钥较短(仅有56位),保密系数不高,且因算法公开,其安全保障主要取决于密钥的保密程度,因此必须有可靠的信道来传送密钥,在有大量用户的情况下密钥的分发和管理会变得异常复杂,且不能实现数字签名,因此不适合在开放的网络环境中单独使用。

二十多年来DES算法广泛应用于全球贸易、金融等民用领域,如智能卡(IC卡)与POS机之间的双向认证、信用卡持卡方PIN的加密传输等。如今该算法的许多缺陷慢慢变得不容忽视,针对它的解密方法也日渐有效化。针对该算法密钥短的缺陷,相关组织曾经提出80位密钥、双密钥(究其效果相当于双倍密钥长度)以及三重DES算法。DES在安全性上尽管较为脆弱,但由于芯片的大量生产目前仍在继续使用。长远而言,AES将会取代它,成为新一代的加密标准。

信息加密技术及其安全性探讨_信息加密技术

IDEA算法是在1990年公布的一种迭代密码分组算法,类似于三重DES,密钥长度为128位,若干年内在并非高度保密的领域仍可适用。由于它只使用逐位异或和模运算,因此具有使用软件实现和硬件实现一样迅速的优势。

2.2 公开密钥加密

我们知道,公钥加密算法的设计都是基于复杂难解的数学难题,其安全性取决于一种特殊函数:单向陷门函数。这是一种单向函数,在一个方向上容易计算,但逆向求值却异常困难。但如果它的陷门已知,则反向求值也会十分容易。在公钥体系中,这个陷门即是用来解密的私有密钥。符合以上条件且目前被公认为是安全有效的公钥加密算法有RSA、DSA以及ECC。

RSA是公开密钥体系中最具典型意义的算法,它的安全性依赖于大数因子分解的极度困难。RSA加密采用的公钥和私钥都是两个大素数的函数,大素数均要大于100个十进制位,得到密钥后应将两个素数丢弃。RSA也可用于数字签名,其公私钥的使用与加密刚好相反。RSA算法思路简洁,易于使用,安全性好,缺点在于产生密钥较为麻烦,受到大素数选取的限制,很难做到一次一密,且加密速度太慢,较对称密钥算法要慢上几个数量级。选取合适的大数是保障安全性的关键。但是目前还无法从理论上证明破译RSA的难度与大数分解等价,也无法确定大数分解是NPC问题。随着计算机计算能力的扩大以及大数分解方法的进步,对素数位数的要求会越来越高。RSA实验室认为个人应用要768比特位,公司应用要1024比特位以上才有安全保证。

DSA算法基于离散对数的数字签名标准。它仅仅对于数字签名有用,不能对数据进行加密运算。

ECC算法基于椭圆曲线离散对数运算,较之RSA、DSA安全强度更高,在解密和签名上的计算速度要快得多,且对存储空间和带宽的要求都较低,将会在IC卡与无线网络领域获得广泛应用。一般认为,ECC技术一旦被广泛掌握,ECC算法将会代替RSA,成为新一代通用的公钥加密算法。

在以上三种数学方法之外,多种数学理论被引入公钥加密算法的研究。如混沌理论,因其蝴蝶效应(即对初始状态的极端敏感性)、伪随机性、拓朴性,与加密系统有着天然的相似度与联系,非常适合应用于一次一密的公钥体系。然而,目前多数混沌密码算法发布不久就被破解,亟待找到更合适的应用思路和更优良的运算模型。

什么是DES算法?和什么是RSA算法?其特点是什么?

区块链使用Hash函数实现了交易信息和地址信息的不可篡改,保证了数据传输过程中的完整性,但是Hash函数无法实现交易信息的 不可否认性 (又称拒绝否认性、抗抵赖性,指网络通信双方在信息交互过程中, 确信参与者本身和所提供的信息真实同一性 ,即所有参与者不可否认或抵赖本人的真实身份,以及提供信息的原样性和完成的操作与承诺)。区块链使用公钥加密技术中的数字签名机制保证信息的不可否认性。

数字签名主要包括签名算法和验证算法。在签名算法中,签名者用其私钥对电子文件进行签名运算,从而得到电子文件的签名密文;在验证算法中,验证者利用签名者的公钥,对电子文件的签名密文进行验证运算,根据验证算法的结果判断签名文件的合法性。在签名过程中,只有签名者知道自己的私钥,不知道其私钥的任何人员无法伪造或正确签署电子文件;在验证过程中,只有合法的签名电子文件能有效通过验证,任何非法的签名文件都不能满足其验证算法。

常用的数字签名算法包括RSA数字签名、DSA数字签名、ECDSA数字签名、Schnorr数字签名等算法。

? 我们以RSA数字签名来介绍:可能人们要问RSA签名和加密有什么 区别 呢?加密和签名都是为了安全性考虑,但略有不同。常有人问加密和签名是用私钥还是公钥?其实都是对加密和签名的作用有所混淆。简单的说, 加密 是为了 防止信息被泄露 ,而 签名 是为了 防止信息被篡改 。

? 例子:A收到B发的消息后,需要进行回复“收到”-- RSA签名过程 :

? 首先: A生成一对密钥(公钥和私钥),私钥不公开,A自己保留。公钥为公开的,任何人可以获取。

? 然后: A用自己的私钥对消息加签,形成签名,并将加签的消息和消息本身一起传递给B。

? 最后: B收到消息后,在获取A的公钥进行验签,如果验签出来的内容与消息本身一致,证明消息是A回复的。

在这个过程中,只有2次传递过程,第一次是A传递加签的消息和消息本身给B,第二次是B获取A的公钥,即使都被敌方截获,也没有危险性,因为只有A的私钥才能对消息进行签名,即使知道了消息内容,也无法伪造带签名的回复给B,防止了消息内容的篡改。

综上所述,来源于书本及网络,让我们了解的有直观的认识。

分类: 电脑/网络

解析:

DES算法全称为Data Encryption Standard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。

DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为两步:

1?初始置换

其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长3 2位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:L0=D58D50……D8;R0=D57D49……D7。

2?逆置换

经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。

RSA算法简介

这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。

RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。

密钥对的产生。选择两个大素数,p 和q 。计算:

n = p * q

然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用Euclid 算法计算解密密钥d, 满足

e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )

其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。

加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)