零、加密基础
2015-12-03 15:49
267 查看
1、 根据密钥类型将加密分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。
非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。
2、 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:
1、 根据密钥类型将加密分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。
非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。
2、 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
SHA1:一种单向加密算法
3、 常见的非对称加密算法如下:
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
4、 加密算法的选择:
1、 由于非对称加密算法的运行速度比对称加密算法的速度慢很多,
当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
2、 对称加密算法不能实现签名,因此签名只能用非对称算法。
3、 由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,
因此当数据量很小时,我们可以考虑采用非对称加密算法
4、 如果对于大文件加密采用RSA算法执行速度要非常非常慢;
如果对加密文件密码安全性要求不高,可以采用DES算法,速度会有明显的提升
5、 在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,
这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
6、 如果在选定了加密算法后,那采用多少位的密钥呢?
一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,
一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。
非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。
2、 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:
1、 根据密钥类型将加密分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。
对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。
非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。
2、 对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
SHA1:一种单向加密算法
3、 常见的非对称加密算法如下:
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
4、 加密算法的选择:
1、 由于非对称加密算法的运行速度比对称加密算法的速度慢很多,
当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
2、 对称加密算法不能实现签名,因此签名只能用非对称算法。
3、 由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,
因此当数据量很小时,我们可以考虑采用非对称加密算法
4、 如果对于大文件加密采用RSA算法执行速度要非常非常慢;
如果对加密文件密码安全性要求不高,可以采用DES算法,速度会有明显的提升
5、 在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,
这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
6、 如果在选定了加密算法后,那采用多少位的密钥呢?
一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,
一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。
相关文章推荐
- 听说程序员要写十万行代码哦(随笔)
- 强制转成横屏
- sina auth2 code
- 动画效果浏览相册中的图片
- 静态库与动态库
- webservice初探——webservice是什么
- arm-linux-gcc在编译应用程序时,如何查找默认的头文件路径
- MySQL创建SCOTT用户及初始化数据
- 一些与OWL相关的推理机的区别(如:Jess、Jena、Pellet等)
- iOS Crash文件的解析(一)
- 开发ActiveX控件调用另一个ActiveX系列2——调试ActiveX
- 一个nes松鼠大战游戏实现
- UITouch 触摸
- dd备份裸设备相关
- Android:获取手机应用程序信息工具类
- 来兄弟连的点滴—兄弟连IT教育
- Linux下php+mysql+apache安装 tar文件解压
- JavaScript_DOM编程艺术第二版学习笔记-第5章
- Ceph 读写路径源代码分析(1)
- xcode 各版本下载地址