密码学基础

密码学基础1密码学基础密码学是研究数据的加密及其变换的学科。它包括两个分支:密码编码学和密码分析学,密码编码学主要研究对信息进行变换,以保护信息在传递过程

大家好,欢迎来到IT知识分享网。

1密码学基础

密码学是研究数据的加密及其变换的学科。它包括两个分支:密码编码学和密码分析学,密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,密码分析学主要研究如何分析和破译密码。

待加密的消息称为明文,他经过一个以密钥(key)为参数的函数变换,这个过程称为加密,这个加密的函数变换称为加密算法,加密后的信息称为密文。通过对密文进行解密的到明文的过程称为解密,用到的解密方法称为解密算法。

从密码学的发展历程来看:分为古典密码及现代密码两类。

密码学基础

2古典密码算法

古典密码学主要有两大类:替代密码、置换密码。

替代密码:将明文的字符替换为为密文的另一种字符,通过反向替换进行解密;

置换密码:明文中的字母按顺序替换为对应的密文中的另一种字符。

比较经典的古典密码有:滚筒密码,掩格密码、棋盘密码、凯撒密码、圆盘密码,维吉尼亚密码。

1、滚筒密码:

为了保证通信信息的密码性,古希腊人通过使用一根叫scytale的棍子,将信息进行加密。送信人先将一张羊皮条绕棍子螺旋形卷起来,然后把要写的信息按某种顺序写在上面,接着打开羊皮条卷,通过其他渠道将信送给收信人。如果不知道棍子的粗细是不容易解密里面的内容的,但是收信人可以根据事先和写信人的约定,用同样的scytale的棍子将书信解密。

2、掩格密码:

16世纪米兰的物理学和数学家Cardano发明的掩格密码,可以事先设计好方格的开孔,将所要传递的信息和一些其他无关的符号组合成无效的信息,使截获者难以分析出有效信息。

3、棋盘密码

我们可以建立一张表,使每一个字符对应一数 (该字符所在行标号+列标号)。这样将明文变成形式为一串数字密文。

4、凯撒密码

在罗马帝国时期,凯撒大帝曾经设计过一种简单的移位密码,用于战时通信。这种加密方法就是将明文的字母按照字母顺序,往后依次递推相同的字母,就可以得到加密的密文,而解密的过程正好和加密的过程相反。

原理:把一个字母替换为它后面固定位置的另一个字母(单表代换密码)。

A B C D E F G …… X Y Z

D E F G H I J …… A B C

明文:Caesar cipher is a shift substitution

密文:FDHVDU FLSKHU LV D VKLIW VXEVWLWXWLRQ

5、圆盘密码

人们对凯撒密码进一步改善,只要将字母按照不同的顺序进行移动就可以提高激活成功教程的难度,增加信息的保密程度。如15世纪佛罗伦萨人Alberti发明圆盘密码就是这种典型的利用单表置换的方法加密的方法。凯撒密码与圆盘密码本质都是一样的,都属于单表置换,即一个明文字母对应的密文字母是确定的,截获者可以分析对字母出现的频率,对密码体制进行有效的攻击。Alberti的圆盘理论是古典密码学的主要代表之一, 在粘土圆盘的表面刻上带有空格的字母, 成为最初人类的加密方式, 这种方式至今还无人能激活成功教程。

6、维吉尼亚密码

为了提高密码的破译的难度,人们有发明一种多表置换的密码,即一个明文字母可以表示为多个密文字母,多表密码加密算法结果将使得对单表置换用的简单频率分析方法失效,其中维吉尼亚密码就是一种典型的加密方法。维吉尼亚密码是使用一个词组(语句)作为密钥,词组中每一个字母都作为移位替换密码密钥确定一个替换表,维吉尼亚密码循环的使用每一个替换表完成明文字母到密文字母的变换,最后所得到的密文字母序列即为加密得到的密文。维吉尼亚是古典密码理论发展上的一个重要里程碑,他的理论又被称为多字母编码。

m个移位代换表由m个字母组成的密钥字确定

明文:w e a r d i s c o v e r e d s a v e

密钥:d e c e p t i v e d e c e p t i v e

对应数字:3 4 2 15 19 8 21

密文:Z I C V T WQNGRZGVTWAVZH

3现代密码算法

1、对称加密:

对称密码使用相同的密钥进行加密和解密,作为标准的对称密码主要有DES、三重DES和AES,它们都属于分组密码,即以分组为单位进行处理的密码算法。DES和三重DES的分组长度都是64比特,而AES的分组长度可以为128比特、192比特和256比特中的一种。

DES(Data Encryption Standard)是一种将64比特的明文加密成64比特的密文的对称密码算法,它的密钥长度是56比特,即7个字节。DES 于 1977 年公布,现已被激活成功教程。

3DES

3DES是在 DES 基础算法上的改良,采用 3组 56 bits 共 168 bit 的密钥,对明文数据进行 3次 DES 加密-解密-加密操作,该算法可向下兼容 DES 加密算法。3DES 考虑了兼容性,但计算性能不高,暂时还未被激活成功教程。

AES 是于 2000 年被采用的最新的对称加密标准,采用了 Rijndael 算法。

Rijndael 算法也是一种分组算法,密钥长度规定为 128 bits,192 bits, 256 bits 三种规格。与 DES 不同,Rijndael 算法没有采用 Feistel 网络,而是采用 SPN 结构,并通过多个轮函数实现。

2、非对称加密

非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。典型的是RSA。RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥 。

4认证 技术

单向散列函数:单向散列函数也称为消息摘要函数, 哈希函数。单向散列函数输出的散列值又称为消息摘要 或者 指纹。单项散列函数的经典算法,包括 : MD4\MD5\SHA1\SHA256\SHA512等

单向散列函数的特点:

1、加密后密文的长度是定长的(即对任意长度的消息三列,得到的散列值是定长的)

2、散列计算速度快,非常高效

3、如果明文不一样,那么散列后的结果一定不一样

4、如果明文一样,那么加密后的密文一定一样(对相同数据加密,5、加密后的密文一样)

6、所有的加密算法是公开的

7、具备单向性,不可以逆推反算

MD5

MD5全称是Message Digest Algorithm 5,译为”消息摘要算法第5版”是由Rivest 于1991年设计的单项散列函数

MD5的特点
1、对字符串进行MD5加密可以得到一个32个字符的密文
对输入的信息生成唯一的一个128位散列值(32个字符)
2、加密之后不能根据密文逆推出明文
根据输出值,不能得到原始的明文,即其过程不可逆
明文不同,则散列值一定不同
明文相同,则散列值一定相同
3)MD5已经被激活成功教程

MD5的强抗碰撞性已经被证实攻破,即对于重要数据不应该再继续使用MD5加密。

SHA

安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。有SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512这几种单向散列算法。

SHA-1算法也与MD5类似,都是把输入二进制串分成512位的块,把二进制串的位数存储在最后64位,二者之间填充为0,依次对每个块进行一些列高深的数学运算,最后得到一个160位的二进制串。

SHA算法也是不可逆的。从SHA-1的算法可以简单看出,SHA-1安全性比MD5稍高(160位VS128位),但算法需要时间SHA-1稍慢。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/76712.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信