课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,企业和其他用户都开始关注自己的网络数据信息安全,下面我们就一起来了解一下,信息安全都有哪些加密算法可以使用。
Base64编码是一种用64个字符(其实是65个字符,“=”是填充字符)来表示任意二进制数据的方法,编码后的数据是一个字符串。
原理
准备一个包含64个字符的数组,其中包含的字符为:A-Z、a-z、0-9、+、/。
64个字符需要6位二进制来表示,表示成数值为0~63。
对二进制数据进行处理,每3个字节一组,一共是3x8=24bit,再划为4小组,每小组正好6个bit,然后查表,获得相应的4个字符,就是编码后的字符串。
如果数据的字节数不是3的倍数,需在原数据后面添加1个或2个零值字节,使其字节数是3的倍数。然后,在编码后的字符串后面添加1个或2个等号“=”,表示所添加的零值字节数。解码的时候,会自动去掉。
特点
Base64编码是可逆的编码方式,从编码的方式即可逆推出解码的方式。
Base64编码会把3字节的二进制数据编码为4字节的文本数据,长度增加33%。
标准的Base64编码后可能出现字符“+”和“/”,在URL中就不能直接作为参数。
可以自己定义64个字符的排列顺序,这样就可以自定义Base64编码。
Base64编码的长度永远是4的倍数。
应用
Base64适用于小段内容的编码,比如数字证书签名、Cookie的内容等。
Base64也会经常用作一个简单的“加密”来保护某些数据(标准Base64编码解码无需额外信息即完全可逆),而真正的加密通常都比较繁琐。
HTML内嵌Base64编码图片:绝大多数现代浏览器都支持一种名为 Data URLs 的特性,允许使用Base64对图片或其他文件的二进制数据进行编码,将其作为文本字符串嵌入网页中。
电子邮件系统:SMTP协议一开始是基于纯ASCII文本的,对于二进制文件(比如邮件附件中的图像、声音等)的处理并不好,所以后来新增MIME标准来编码二进制文件,使其能够通过SMTP协议传输。
RSA
RSA是目前有影响力的公钥加密算法,对极大整数做因数分解的难度决定了RSA算法的可靠性。
原理
RSA公钥密码体制描述如下:(m为明文,c为密文,利用欧拉公式)
选取两个大素数p,q。p和q保密。
计算n=pq,r=(p-1)(q-1)。n公开,r保密。
随机选取正整数1
计算d,满足de=1(mod r).d是保密的解密密钥
加密变换: c=m^e mod n
解密变换: m=c^d mod n
特点
两个密钥:一个是公开密钥,另一个是私有密钥。
安全性高,密钥越长,它就越难破解。
安全性
针对RSA流行的攻击一般是基于大数因数分解。1999年,RSA-155 (512 bits)被成功分解,花了五个月时间(约8000 MIPS年)和224 CPU hours在一台有3.2G中央内存的Cray C916计算机上完成。
2009年12月12日,编号为RSA-768(768 bits, 232 digits)数也被成功分解[10]。这一事件威胁了现通行的1024-bit密钥的安全性,普遍认为用户应尽快升级到2048-bit或以上。
应用
加密:公钥加密私钥解密,主要用于将数据资料加密不被其他人非法获取,保证数据安全性。使用公钥将数据资料加密,只有私钥可以解密。即使密文在网络上被三方获取由于没有私钥则无法解密。从而保证数据安全性。
认证(签名):私钥加密公钥解密,主要用于身份验证,判断某个身份的真实性(没有被篡改)。使用私钥加密之后,用对应的公钥解密从而验证身份真实性。(例如SSH登录)
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。