常用加密算法概述

合集下载

常用加密算法概述

常用加密算法概述

常用加密算法概述常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。

对称加密指加密和解密使用相同密钥的加密算法。

对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。

假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦。

对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。

常见的对称加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES非对称加密指加密和解密使用不同密钥的加密算法,也称为公私钥加密。

假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。

如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。

由于公钥是可以公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。

同时,由于每个用户的私钥是唯一的,其他用户除了可以可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。

非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上1000倍。

常见的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)Hash算法Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。

因此Hash算法常用在不可还原的密码存储、信息完整性校验等。

常见的加密方式总结

常见的加密方式总结

常见的加密⽅式总结对称加密DESDES加密算法是⼀种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密⽤同⼀算法,加密速度快,但是容易破解安全性低。

3DES(Triple DES)是基于DES的对称算法,对⼀块数据⽤三个不同的密钥进⾏三次加密,强度更⾼,加强版DES。

(DES算法⽐较简单,容易破解已不建议使⽤)AES(微信⽤的就是这种加密⽅式)秘钥长度最长256bit,加解密速度快.AES标准⽤来替代原先的DES优点:对称加密的优点是加解密速度快缺点:发送⽅和接收⽅都需要知道唯⼀的秘钥,秘钥容易泄露⾮对称加密RSA(最常见)对称加密,私钥加密公钥解密或相反,私钥可以推导出公钥反之不⾏RSA加解密速度慢不适合频繁和⼤数据的加解密还有⼀些其它场景常⽤的⾮对称加密ECC椭圆曲线加密(区块链钱包中最常使⽤)DSA带数字签名的算法优点:不需要泄露私钥,安全性⾼缺点:加解密计算量增⼤,速度慢使⽤对称加密时需要将秘钥公布给对⽅,这样就存在安全隐患。

⽽使⽤⾮对称加密则很消耗性能,速度慢,请求频繁和数据量⼤的场景不适合。

如何综合两者长处呢?我们可以结合AES 和 RSA⼀起使⽤,当需要公布AES秘钥时使⽤需求⽅的公钥将AES秘钥加密,解密报⽂时使⽤解密出来的AES秘钥解密,这样就能综合两种加密⽅式的优势。

B需要保证获取AES密码的是A,所以加密的必须是A的公钥,这样就只有A可以解密获得AES密码,其他⼈即使获取到了带AES秘钥的密⽂,因为缺少私钥也没有办法获取到密码散列算法(hash算法)md5(最常使⽤)sha1,sha256(sha算法不同的版本)SHA主要适⽤于数字签名标准⾥⾯定义的数字签名算法。

是⼀种⽐MD5的安全性强的算法hash算法因为其具有不可逆性,且输出长度固定。

所以主要⽤于做摘要场景,也就是数字签名。

虽然都已经被破解但是我们可以采⽤多遍⽆规则hash⼀样很难破解或者在保存登陆密码的场景可以加盐值再hash其它base64只是⼀种编码格式,主要⽤于编码http⽆法传输的数据格式。

常用简易数据加密算法

常用简易数据加密算法

常用简易数据加密算法数据加密是一种保护敏感信息不被未授权人员访问的重要手段。

在日常生活中,我们经常需要对一些重要的信息进行保密处理,比如银行账号、密码等。

为了确保数据的安全,我们可以使用一些常用的简易数据加密算法。

1.凯撒密码:凯撒密码是最早的一种简易数据加密算法。

它通过将字母按照一定的位移进行替换来实现加密。

比如,将字母表中的每个字母向后移动3位,A就变成了D,B变成了E,以此类推。

解密时则将字母向前移动3位即可。

虽然凯撒密码容易破解,但对于一些非敏感信息的简单保护还是很有用的。

2.栅栏密码:栅栏密码也是一种常见的简易数据加密算法,它将明文按照一定的规则进行分组,并按照一定顺序将分组内的字符进行排列,从而实现加密。

解密时则将加密后的字符按照相同的规则排列即可。

栅栏密码的优点是简单易懂,但安全性相对较低。

3.异或加密:异或加密是一种比较常见的简易对称加密算法。

它使用异或运算来实现加密和解密过程。

异或运算的特点是相同数字异或后结果为0,不同数字异或后结果为1。

通过对数据和密钥进行异或运算,可以实现简单的加密和解密过程。

4.MD5哈希算法:MD5是一种常用的哈希算法,它将数据转换为一串固定长度的哈希值。

MD5算法具有不可逆性,即无法从哈希值推导出原始数据。

因此,MD5算法常用于对密码进行加密存储。

不过需要注意的是,由于MD5算法的安全性存在一些问题,现在更常用的是SHA-256等更安全的哈希算法。

尽管以上算法都是简易的数据加密算法,但在一些非敏感信息的保护中仍然具有一定的作用。

然而,对于重要的机密信息,我们应该使用更为安全的高级加密算法,如AES、RSA等。

总之,数据加密是保护敏感信息不被未授权访问的重要手段。

在日常生活中,我们可以使用一些常用的简易数据加密算法对一些非敏感信息进行保护。

然而,对于重要的机密信息,我们应该选择更安全的高级加密算法来确保数据的安全。

常见的几种加密算法

常见的几种加密算法

常见的几种加密算法在信息安全领域中,加密算法被广泛应用于保护数据的机密性、完整性和可靠性。

常见的几种加密算法包括对称加密算法、非对称加密算法和哈希算法。

1. 对称加密算法:对称加密算法使用同一个密钥对信息进行加密和解密。

常见的对称加密算法包括DES(Data Encryption Standard)、3DES(Triple Data Encryption Standard)、AES(AdvancedEncryption Standard)等。

对称加密算法速度快且适合加密大数据量,但由于密钥同样需要传输,因此密钥的安全性成为对称加密算法的一个主要问题。

2. 非对称加密算法:非对称加密算法使用一对密钥,即公钥和私钥,分别用于加密和解密。

公钥可以公开,任何人都可以用公钥加密数据,但只有私钥的持有者才能解密数据。

常见的非对称加密算法包括RSA算法、DSA(Digital Signature Algorithm)算法和ECC(Elliptic Curve Cryptography)算法。

非对称加密算法安全性较高,但加密和解密的过程相对较慢,因此通常与对称加密算法结合使用,提高效率。

3. 哈希算法:哈希算法将任意长度的数据映射为固定长度的哈希值,并具有不可逆性和唯一性。

哈希算法常用于验证数据的完整性和真实性,常见的哈希算法有MD5(Message Digest Algorithm 5)、SHA-1(Secure Hash Algorithm 1)和SHA-256等。

哈希算法计算速度较快,但由于将不同长度的数据映射为固定长度的哈希值,可能存在哈希碰撞的问题,即不同的数据产生相同的哈希值。

除了上述几种常见的加密算法,还有一些特殊用途的加密算法,例如同态加密算法、椭圆曲线加密算法等。

同态加密算法可以在不解密的情况下对加密数据进行特定运算,保护数据的隐私性。

椭圆曲线加密算法是一种基于椭圆曲线数学问题的加密算法,具有较高的安全性和性能。

常用简易数据加密算法

常用简易数据加密算法

常用简易数据加密算法摘要:1.引言2.常用简易数据加密算法概述3.常用简易数据加密算法分类3.1 对称加密算法3.2 非对称加密算法4.对称加密算法具体算法介绍4.1 DES 算法4.2 3DES 算法4.3 AES 算法5.非对称加密算法具体算法介绍5.1 RSA 算法5.2 ECC 算法6.简易数据加密算法的应用场景7.总结正文:【引言】在信息时代,数据安全和隐私保护成为了人们日益关注的问题。

数据加密技术是保护数据安全和隐私的有效手段之一。

本篇文章将为大家介绍一些常用的简易数据加密算法。

【常用简易数据加密算法概述】数据加密算法主要分为两大类:对称加密算法和非对称加密算法。

对称加密算法指的是加密和解密使用同一密钥的加密算法,非对称加密算法指的是加密和解密使用不同密钥的加密算法。

【常用简易数据加密算法分类】【3.1 对称加密算法】对称加密算法中,加密和解密使用同一密钥。

常见的对称加密算法有DES、3DES 和AES 等。

【3.2 非对称加密算法】非对称加密算法中,加密和解密使用不同的密钥。

常见的非对称加密算法有RSA 和ECC 等。

【4 对称加密算法具体算法介绍】【4.1 DES 算法】DES(Data Encryption Standard)算法是一种广泛应用的对称加密算法,其密钥长度为56 位,加密后的数据长度为64 位。

【4.2 3DES 算法】3DES(Triple Data Encryption Standard)算法是DES 的改进版,其加密过程采用了三次DES 加密,密钥长度为192 位,加密后的数据长度为256 位。

【4.3 AES 算法】AES(Advanced Encryption Standard)算法是目前应用最广泛的对称加密算法,其密钥长度可以是128 位、192 位或256 位,加密后的数据长度与密钥长度相同。

【5 非对称加密算法具体算法介绍】【5.1 RSA 算法】RSA(Rivest-Shamir-Adleman)算法是一种非常著名的非对称加密算法,其安全性高,广泛应用于网络通信和数据存储等领域。

浅谈常见的七种加密算法及实现

浅谈常见的七种加密算法及实现

浅谈常见的七种加密算法及实现在信息安全领域,加密算法是保护数据安全性的重要手段。

以下是常见的七种加密算法及其实现。

1. 对称加密算法:对称加密算法使用相同的密钥进行加密和解密。

常见的对称加密算法有DES、AES、Blowfish等。

以AES算法为例,其实现如下:```from Crypto.Cipher import AESfrom Crypto.Random import get_random_byteskey = get_random_bytes(16)cipher = AES.new(key, AES.MODE_EAX)plaintext = b'This is a secret message'ciphertext, tag = cipher.encrypt_and_digest(plaintext)print('Ciphertext:', ciphertext)decipher = AES.new(key, AES.MODE_EAX, cipher.nonce)plaintext = decipher.decrypt_and_verify(ciphertext, tag)print('Decrypted plaintext:', plaintext)```2. 非对称加密算法:非对称加密算法使用一对密钥,其中一个用于加密,另一个用于解密。

常见的非对称加密算法有RSA和ElGamal等。

以RSA算法为例,其实现如下:```from Cryptodome.PublicKey import RSAfrom Cryptodome.Cipher import PKCS1_OAEPkey = RSA.generate(2048)private_key = key.export_keypublic_key = key.publickey(.export_keycipher = PKCS1_OAEP.new(key.publickey()ciphertext = cipher.encrypt(b'This is a secret message')print('Ciphertext:', ciphertext)decipher = PKCS1_OAEP.new(key)plaintext = decipher.decrypt(ciphertext)print('Decrypted plaintext:', plaintext)```3.哈希函数:哈希函数将任意长度的输入映射为固定长度的输出,常用于数据完整性校验和数字签名等。

常用加密算法介绍

常用加密算法介绍

常用加密算法介绍加密算法是现代信息安全的基础,它们用于保护数据的机密性、完整性和可用性。

在本文中,我将介绍一些常用的加密算法及其特点。

1.对称加密算法:对称加密算法采用相同的密钥对数据进行加密和解密。

常见的对称加密算法有DES(Data Encryption Standard)、3DES(Triple DES)、AES(Advanced Encryption Standard)等。

这些算法在加密和解密的过程中速度快且效率高,但密钥的管理和分发比较困难。

2.非对称加密算法:非对称加密算法使用一对密钥,即公钥和私钥。

公钥用于加密数据,私钥用于解密数据。

公钥可以公开给任何人使用,而私钥必须保密。

常见的非对称加密算法有RSA(Rivest-Shamir-Adleman)、ElGamal等。

非对称加密算法能够解决对称加密算法中密钥安全分发的问题,但加密和解密的速度较慢。

3.散列函数:散列函数(Hash Function)将输入映射为固定长度的输出,通常是一个固定长度的字符串。

散列函数具有以下特点:输入的微小变化会导致输出的巨大变化;同样的输入会产生同样的输出;给定输出,很难从中推断出输入。

常见的散列函数有MD5、SHA-1、SHA-256等。

散列函数常用于验证数据的完整性和生成密码的摘要。

4.消息认证码(MAC):MAC是一种带有密钥的散列函数,用于验证消息的完整性和真实性。

它使用一个密钥来对消息进行加密,并生成一个固定长度的摘要。

常见的MAC算法有HMAC(Hash-based Message Authentication Code)、CMAC (Cipher-based Message Authentication Code)等。

5.数字签名:数字签名是一种在数字通信中验证消息真实性和完整性的技术。

它使用发送者的私钥对消息进行加密生成签名,接收者使用发送者的公钥进行解密和验证签名。

常见的数字签名算法有RSA、DSA(Digital Signature Algorithm)、ECDSA(Elliptic Curve Digital Signature Algorithm)等。

浅谈常见的七种加密算法及实现

浅谈常见的七种加密算法及实现

浅谈常见的七种加密算法及实现前⾔数字签名、信息加密是前后端开发都经常需要使⽤到的技术,应⽤场景包括了⽤户登⼊、交易、信息通讯、oauth等等,不同的应⽤场景也会需要使⽤到不同的签名加密算法,或者需要搭配不⼀样的签名加密算法来达到业务⽬标。

这⾥简单的给⼤家介绍⼏种常见的签名加密算法和⼀些典型场景下的应⽤。

正⽂1. 数字签名数字签名,简单来说就是通过提供可鉴别的数字信息验证⾃⾝⾝份的⼀种⽅式。

⼀套数字签名通常定义两种互补的运算,⼀个⽤于签名,另⼀个⽤于验证。

分别由发送者持有能够代表⾃⼰⾝份的私钥 (私钥不可泄露),由接受者持有与私钥对应的公钥,能够在接受到来⾃发送者信息时⽤于验证其⾝份。

注意:图中加密过程有别于公钥加密,更多。

签名最根本的⽤途是要能够唯⼀证明发送⽅的⾝份,防⽌中间⼈攻击、CSRF跨域⾝份伪造。

基于这⼀点在诸如设备认证、⽤户认证、第三⽅认证等认证体系中都会使⽤到签名算法 (彼此的实现⽅式可能会有差异)。

2. 加密和解密2.1. 加密数据加密的基本过程,就是对原来为明⽂的⽂件或数据按某种算法进⾏处理,使其成为不可读的⼀段代码,通常称为 “密⽂”。

通过这样的途径,来达到保护数据不被⾮法⼈窃取、阅读的⽬的。

2.2. 解密加密的逆过程为解密,即将该编码信息转化为其原来数据的过程。

3. 对称加密和⾮对称加密加密算法分对称加密和⾮对称加密,其中对称加密算法的加密与解密密钥相同,⾮对称加密算法的加密密钥与解密密钥不同,此外,还有⼀类不需要密钥的散列算法。

常见的对称加密算法主要有DES、3DES、AES等,常见的⾮对称算法主要有RSA、DSA等,散列算法主要有SHA-1、MD5等。

3.1. 对称加密对称加密算法是应⽤较早的加密算法,⼜称为共享密钥加密算法。

在对称加密算法中,使⽤的密钥只有⼀个,发送和接收双⽅都使⽤这个密钥对数据进⾏加密和解密。

这就要求加密和解密⽅事先都必须知道加密的密钥。

1. 数据加密过程:在对称加密算法中,数据发送⽅将明⽂ (原始数据) 和加密密钥⼀起经过特殊加密处理,⽣成复杂的加密密⽂进⾏发送。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常用加密算法概述常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。

对称加密指加密和解密使用相同密钥的加密算法。

对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。

假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。

对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去——如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。

常见的对称加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES非对称加密指加密和解密使用不同密钥的加密算法,也称为公私钥加密。

假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。

如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。

由于公钥是可以公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。

同时,由于每个用户的私钥是唯一的,其他用户除了可以可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。

非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上1000倍。

常见的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)Hash算法Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。

因此Hash算法常用在不可还原的密码存储、信息完整性校验等。

常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1加密算法的效能通常可以按照算法本身的复杂程度、密钥长度(密钥越长越安全)、加解密速度等来衡量。

上述的算法中,除了DES密钥长度不够、MD2速度较慢已逐渐被淘汰外,其他算法仍在目前的加密系统产品中使用。

加密算法的选择前面的章节已经介绍了对称解密算法和非对称加密算法,有很多人疑惑:那我们在实际使用的过程中究竟该使用哪一种比较好呢?我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。

对称加密算法不能实现签名,因此签名只能非对称算法。

由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。

在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

二.加密算法介绍对称加密算法对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。

AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;非对称算法RSA:由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;DSA(Digital Signature Algorithm):数字签名算法,是一种标准的DSS(数字签名标准);ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:抗攻击性强。

相同的密钥长度,其抗攻击性要强很多倍。

计算量小,处理速度快。

ECC总的速度比RSA、DSA要快得多。

存储空间占用小。

ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。

这对于加密算法在IC卡上的应用具有特别重要的意义。

带宽要求低。

当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。

带宽要求低使ECC在无线网络领域具有广泛的应用前景。

RSA和ECC速度比较散列算法散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。

加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。

任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。

散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。

具有这些特性的散列结果就可以用于验证信息是否被修改。

单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:l MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文。

l SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;SHA-1与MD5的比较因为二者均由MD4导出,SHA-1和MD5彼此很相似。

相应的,他们的强度和其他特性也是相似,但还有以下几点不同:l对强行供给的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32位。

使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2128数量级的操作,而对SHA-1则是2160数量级的操作。

这样,SHA-1对强行攻击有更大的强度。

l对密码分析的安全性:由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击。

l速度:在相同的硬件上,SHA-1的运行速度比MD5慢。

对称与非对称算法比较以上综述了两种加密方法的原理,总体来说主要有下面几个方面的不同:l在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。

所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。

l在安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。

对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。

公钥更具有优越性。

l从速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。

是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。

三.加密算法的选择由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。

对称加密算法不能实现签名,因此签名只能非对称算法。

由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。

在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

那采用多少位的密钥呢?RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

四.密码学在现代的应用保密通信:保密通信是密码学产生的动因。

使用公私钥密码体制进行保密通信时,信息接收者只有知道对应的密钥才可以解密该信息。

数字签名:数字签名技术可以代替传统的手写签名,而且从安全的角度考虑,数字签名具有很好的防伪造功能。

在政府机关、军事领域、商业领域有广泛的应用环境。

秘密共享:秘密共享技术是指将一个秘密信息利用密码技术分拆成n个称为共享因子的信息,分发给n个成员,只有k(k≤n)个合法成员的共享因子才可以恢复该秘密信息,其中任何一个或m(m≤k)个成员合作都不知道该秘密信息。

利用秘密共享技术可以控制任何需要多个人共同控制的秘密信息、命令等。

认证功能:在公开的信道上进行敏感信息的传输,采用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份验证。

密钥管理:密钥是保密系统中更为脆弱而重要的环节,公钥密码体制是解决密钥管理工作的有力工具;利用公钥密码体制进行密钥协商和产生,保密通信双方不需要事先共享秘密信息;利用公钥密码体制进行密钥分发、保护、密钥托管、密钥恢复等。

基于公钥密码体制可以实现以上通用功能以外,还可以设计实现以下的系统:安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。

一. AES对称加密:AES加密分组二.分组密码的填充分组密码的填充e.g.:PKCS#5填充方式三.流密码:四.分组密码加密中的四种模式:3.1 ECB模式优点:1.简单;2.有利于并行计算;3.误差不会被传送;缺点:1.不能隐藏明文的模式;2.可能对明文进行主动攻击;3.2 CBC模式:优点:1.不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。

缺点:1.不利于并行计算;2.误差传递;3.需要初始化向量IV3.3 CFB模式:优点:1.隐藏了明文模式;2.分组密码转化为流模式;3.可以及时加密传送小于分组的数据;缺点:1.不利于并行计算;2.误差传送:一个明文单元损坏影响多个单元;3.唯一的IV;3.4 OFB模式:优点:1.隐藏了明文模式;2.分组密码转化为流模式;3.可以及时加密传送小于分组的数据;缺点:1.不利于并行计算;2.对明文的主动攻击是可能的;3.误差传送:一个明文单元损坏影响多个单元;。

相关文档
最新文档