常用算法的分类以及加密算法的选用

1.分类
加密算法首先分为两种:单向加密、双向加密。
单向加密是不可逆的,也就是只能加密,不能解密。通常用来传输类似用户名和密码,直接将加密后的数据提交到后台,因为后台不需要知道用户名和密码,可以直接将收到的加密后的数据存储到数据库。
双向加密算法通常分为对称性加密算法和非对称性加密算法,对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行 加解密了。非对称算法与之不同,发送双方a,b事先均生成一堆密匙,然后a将自己的公有密匙发送给b,b将自己的公有密匙发送给a,如果a要给b发送消 息,则先需要用b的公有密匙进行消息加密,然后发送给b端,此时b端再用自己的私有密匙进行消息解密,b向a发送消息时为同样的道理。
2.常用算法
几种对称性加密算法:aes,des,3des
des是一种分组数据加密技术(先将数据分成固定长度的小数据块,之后进行加密),速度较快,适用于大量数据加密,而3des是一种基于des的加密算法,使用3个不同密匙对同一个分组数据块进行3次加密,如此以使得密文强度更高。
相较于des和3des算法而言,aes算法有着更高的速度和资源使用效率,安全级别也较之更高了,被称为下一代加密标准。
几种非对称性加密算法:rsa,dsa,ecc
rsa和dsa的安全性及其它各方面性能都差不多,而ecc较之则有着很多的性能优越,包括处理速度,带宽要求,存储空间等等。
几种线性散列算法(签名算法):md5,sha1,hmac
这几种算法只生成一串不可逆的密文,经常用其效验数据传输过程中是否经过修改,因为相同的生成算法对于同一明文只会生成唯一的密文,若相同算法生成的密文不同,则证明传输数据进行过了修改。通常在数据传说过程前,使用md5和sha1算法均需要发送和接收数据双方在数据传送之前就知道密匙生成算法,而hmac与之不同的是需要生成一个密匙,发送方用此密匙对数据进行摘要处理(生成密文),接收方再利用此密匙对接收到的数据进行摘要处理,再判断生成的密文是否相同。
3.加密算法选用
对于各种加密算法的选用:
由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,rsa建议采用1024位的数字,ecc建议采用160位,aes采用128为即可。
对于几种加密算法的内部实现原理,有兴趣的可以细细研究。而对于其实现而言,网上有很多开源版本,比较经典的是porlassl其它语言如java,objc也都有相应的类库可以使用。

有了物联网以后AI的新发展趋势是什么
物联网技术在工业自动化智能工厂中的作用
iOS10.2越狱来了,越么?
奇瑞新能源旗下重磅车型——10万元级纯电SUV全新瑞虎e焕新上市
索尼正式发布了旗下新机Xperia 10 Plus采用了21:9带鱼屏设计
常用算法的分类以及加密算法的选用
使用JRMPClient模块进行测试
触摸屏与施耐德PLC之间MODBUS无线通讯
鱼和熊掌可兼得!全新Air Book评测:超高性价比的2K屏轻薄本
解答与PCB“过孔”有关的疑难问题
随着补贴的退坡与消失 国家对新能源汽车市场开始“放手教育”
Imagination的桌面GPU来了:这次要攻坚Windows游戏市场
基于Nios软CPU内核的FPGA非线性校正方案
你升级了吗?iOS 12更新率已超75%:比iOS 11提前三周
氩弧焊的工作原理_氩弧焊的优点和缺点
下半年三家顶级旗舰之争!三星Note8 VS iPhone8 VS 华为Mate10,谁才是龙头老大?
耳机跑步容易掉怎么办?推荐这几款稳固舒适的运动耳机
台积电的3nm工艺将在2022年下半年大规模量产
多次脉冲智能电缆故障测试仪的故障波形判断方法
码相机遥控功能