首页 > 编程语言 >加密算法总结

加密算法总结

时间:2022-10-10 23:33:56浏览次数:61  
标签:总结 公钥 加密 RSA 密钥 散列 加密算法

1.加密算法的分类
根本不考虑解密问题;
私用密钥加密技术:对称式加密(Symmetric Key Encryption):对称式加密方式对加密和解密使用相同的密钥。通常,这种加密方式在应用中难以实施,因为用同一种安全方式共享密钥很难。如:RC4、RC2、DES 和 AES 系列加密算法;
公开密钥加密技术:非对称密钥加密(Asymmetric Key Encryption):非对称密钥加密使用一组公共/私人密钥系统,加密时使用一种密钥,解密时使用另一种密钥。公共密钥可以广泛的共享和透露。当需要用加密方式向服务器外部传送数据时,这种加密方式更方便。如:RSA;
数字证书。(Certificate):数字证书是一种非对称密钥加密,但是,一个组织可以使用证书并通过数字签名将一组公钥和私钥与其拥有者相关联。
2.加密算法的介绍
2.1 对称加密

对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高。
AES与3DES的比较

 

2.2 非对称加密

RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。

ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:
抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍。
计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。
存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。
下面两张表示是RSA和ECC的安全性和速度的比较。

 

RSA和ECC安全模长得比较

 

2.3 散列算法

散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果,无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。
单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:
MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文。
SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值;
对称与非对称算法比较
以上综述了两种加密方法的原理,总体来说主要有下面几个方面的不同:
在管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。
在安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。
从速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍

3. 加密算法的选择
1.由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
2.对称加密算法不能实现签名,因此签名只能非对称算法。
3.由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
4.在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
5.如果是 RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。
ps:

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64并不是安全领域的加密算法,其实Base64只能算是一个编码算法,对数据内容进行编码来适合传输。标准Base64编码解码无需额外信息即完全可逆,即使你自己自定义字符集设计一种类Base64的编码方式用于数据加密,在多数场景下也较容易破解。Base64编码本质上是一种将二进制数据转成文本数据的方案。

SSH 加密原理

SSH 共有两种登录方式:

1.口令验证登录 服务器生成公钥和私钥 客户端发起连接请求,服务器将公钥发给客户端 客户端生成口令(服务器密码),并用服务器发来的公钥加密,发送给服务器 服务器通过私钥解密,拿到口令(服务器密码) 如果正确则认证成功 2.密钥验证登录 客户端生成公钥和私钥,将公钥提前部署在服务器上 客户端发起连接请求 服务器随机生成一个字符串,用本地的公钥加密,发送给客户端 客户端通过私钥解密,将解密后的字符串发送给服务器 服务器验证本地字符串和客户端发来的字符串的一致性,如果通过,则认证成功

 

标签:总结,公钥,加密,RSA,密钥,散列,加密算法
From: https://www.cnblogs.com/xuweiqibky/p/16777828.html

相关文章

  • Java 多线程知识的简单总结
    Java提供了多线程编程的内置支持,让我们可以轻松开发多线程应用。Java中我们最为熟悉的线程就是main线程——主线程。一个进程可以并发多个线程,每条线程并行执行不同的任......
  • Class 7 视觉AI训练营参营总结与感想
    title:Class7参营总结与感想excerpt:达摩院特别版-视觉AI训练营tags:[阿里云,达摩院,AI,应用,视觉,oss存储,API,车辆部件识别,车辆损伤识别,车险图片......
  • Class 7 ECS 7天实践训练营参营总结与感想
    title:Class7参营总结与感想excerpt:云上实践云上成长ECS7天实践训练营tags:[阿里云,在家学习,进阶班]categories:[学习,阿里云]index_img:https://......
  • (总结)linux安装expect(包括gcc&tcl)
    1.安装gcc首先到​​http://vault.centos.org/6.3/os/x86_64/Packages/​​下载用到的rpm包,包括:ppl-0.10.2-11.el6.x86_64.rpm 、cloog-ppl-0.15.7-1.2.el6.x86_64.rpm 、......
  • 阶段性总结
    前言上次写总结还是2021年末,本来应该等3个月后,2022年底做一个2022年终总结的,不过正好最近旧的工作告了一个段落,新的工作正要开始。那便以此为契机,做一下总结和进一步的规......
  • spring day02 xml开发总结以及注解开发总结
    第三方资源配置管理管理DataSource连接池对象【第一步】添加Druid连接池依赖<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><......
  • vim 快捷键总结 2022年10月10日19:57:23
    ==vscode中查看函数定义和引用:gdgodefinitiongrgoreference==vim中折叠代码:zczipclosezozipopen衍生(不常用):zCzipclose递归折......
  • mybatis动态sql语句拼接总结
    mybatis中如果需要在where后面追加条件判断语句中有多个判断条件我们可以在if条件后面写上类似三元运算符的关系表达式其中a.pub_timeISNOTNULL为条件如果......
  • 2022.10.7 Java第五次课总结
    继承java的继承与C++的继承的区分java中的继承是单项继承,区分与C++的多项继承,这种继承避免了C++继承中可能出现的冲突的问题,单项继承父类所有的属性,子类对于好的属性可以......
  • 10月10日内容总结——函数参数和名称空间
    目录一、函数参数一、位置参数位置形参位置实参二、默认参数(关键字参数)关键字形参关键字实参三、可变长形参(可变长度的形参)四、可变长实参(可变长度的实参)五、命名关键字参......