必威体育Betway必威体育官网
当前位置:首页 > IT技术

对称与非对称加密算法

时间:2019-10-23 18:16:08来源:IT技术作者:seo实验室小编阅读:73次「手机版」
 

对称加密算法

一、对称加密算法 

   指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括DES、3DES、AES、DESX、blowfish、、RC4、RC5、RC6。

   DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

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

   AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

                         

二、非对称加密算法

指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。常见的非对称加密算法:RSA、DSA(数字签名用)、ECC(移动设备用)、Diffie-Hellman、El Gamal。

      RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;

      DSA(digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);

      ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

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

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

(2)计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。

(3)存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。

(4)带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

三、散列算法(Hash算法---单向加密算法)

散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。

Hash算法:特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。

单向散列函数一般用于产生消息摘要,密钥加密等,常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1。

     MD5(message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文。

     SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;

     SHA-1与MD5的比较

因为二者均由MD4导出,SHA-1和MD5彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:

(1)对强行供给的安全性:最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^(128)数量级的操作,而对SHA-1则是2^(160)数量级的操作。这样,SHA-1对强行攻击有更大的强度。

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

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

四、 加密算法的选择

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

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

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

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

 那采用多少位的密钥呢?

 RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

文章最后发布于: 2018-08-30 10:31:47

相关阅读

对称加密算法和非对称加密算法的完美结合

第一 对称加密: 对称加密是指,加密方和解密方使用同样的秘钥来进行加密和解密。在对称加密算法中,数据发信方将明文(原始数据)

AES 加密算法的原理详解

本教程摘选自 https://blog.csdn.net/qq_28205153/article/details/55798628 的原理部分。 AES简介 高级加密标准(AES,Advance

对称矩阵与反对称矩阵

对称矩阵:沿对角线两边的元素,对称相等。反对称矩阵:矩阵的转置等于原来所有矩阵元素与-1相乘。反对称矩阵:设A为n维方阵,若有A′=−A,

密码学-非对称加密体系-简介及RSA

非对称加密体系 简介: 非对称加密也称之为公钥密码,密钥分为两种分别为加密密钥和解密密钥,发送者使用加密密钥加密数据,消息接收者

des加密算法(c语言版)

main.cpp #include<stdio.h> #include<string.h> #include"tables.h" //数据表 //置换函数 //参数: In:待置换数据指针 //Out:置

分享到:

栏目导航

推荐阅读

热门阅读