DES 加密、RC4 加密、AES 加密等加密算法的优势及应用

2017-03-23 15:58:56 +08:00
 APICloud

1 篇文章, 1 部小说被盗取,全靠维( si )权( bi )捍卫自己的原创权利。程序员捍卫自己珍贵的代码,全靠花式的加密算法。代码加密有多重要?程序员半年做出的产品,盗版者可能半天就能完全破解。

加密算法的本质,首先是为了对数据进行保密并防止篡改,其次更具有了身份验证的功能。像是你跟女友约定好的话术,这句话一说出来,她就知道是什么意思,并且知道说话的人是你,但任何其他人根本不知道你们在说什么。

根据密钥类型的不同,加密算法分为对称和非对称两种。对称加密系统是指加密和解密均采用同一把密钥,就像上文说到的你和女友的小密文,你们互相对对方说“今天月色很美”,对方就明白意思是“我爱你”。非对称密钥则采取加密钥匙和解密要是不同的方式。

对称加密算法是最常用的加密算法,优势在于算法公开,计算量小,加密效率高。常用的对称加密算法有 DES 、 RC4 、 AES 等。

一、 DES 算法的优势及应用场景

定义: DES 算法又被称为美国数据加密标准,是 1972 年美国 IBM 公司研制的对称密码体制加密算法。明文按 64 位进行分组,密钥长 64 位,其中 56 位参与 DES 运算, 8 位为校验位。

优势: DES 算法具有极高安全性,到目前为止,除了用穷举搜索法对 DES 算法进行攻击外,还没有发现更有效的办法。然而它的缺点是分组短、密钥短、密码生命周期短、运算速度较慢。

案例: DES 算法最常用的场景是银行业,如银行卡收单,信用卡持卡人的 PIN 的加密传输, IC 卡与 POS 间的双向认证、金融交易数据包的 MAC 校验等,均用到 DES 算法。另外,在 POS 、 ATM 、磁卡及智能卡( IC 卡)、加油站、高速公路收费站等领域, DES 算法也被广泛应用,以此来实现关键数据的保密。

二、 RC4 算法的优势及应用场景

定义: RC4 算法作为目前最安全的加密算法之一,在 1987 年被 RSA 三人组中的头号人物罗纳德所创建。密钥长度是可变的,可变范围为 1-256 字节(8-2048 比特),但一般为 256 字节。

优势: RC4 算法的特点是算法简单,运行速度快,该算法的速度可以达到 DES 加密的 10 倍左右,且具有很高级别的非线性。

案例: RC4 算法的运用很广泛,起初是用于保护商业机密,到上世纪九十年代,其算法被发布在互联网中,扩大了使用范围。 App 开发平台 APICloud 将 RC4 算法用于代码加密功能,开发者在平台中编译时可选择这个功能,自动为 Html 、 Javascript 、 Css 代码加密,同时该 App 在运行过程中实时解密, App 退出即焚,不留下解密痕迹。 APICloud 代码加密功能不改变代码量大小,不影响运行效率,针对代码的加密方案不会修改开发者的任何代码,加密后的代码不会比加密前多出一个字节,同时, APICloud 在端底层嵌入了特殊的处理方案,保证代码加密前后, App 的运行效率、使用体验不受影响。

APICloud 采取先进的动态加解密算法在“二进制”级别进行对称加密,编译一次,仅生效一次,保证了代码的安全,防止代码被反编译,被篡改,被窃取数据,被盗版,保护知识产权。 APICloud 这项加密技术一经推出,切实的为 APICloud 的开发者解决了代码加密的问题,使开发者更放心,更专心。

http://www.apicloud.com

三、 AES 算法的优势及应用场景

定义: AES 算法是高级加密标准的缩写,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的 DES ,已经被多方分析且广为全世界所使用。

优势: AES 具有比 DES 更好的安全性、效率、灵活性,在软件及硬件上都能快速地加解密,相对来说较易于实作,且只需要很少的存储器。

案例:使用 AES 算法最著名的是英特尔处理器,也就是说我们每一个人的电脑里都用到了 AES 算法进行加密。英特尔内含的 AES 指令集包含六条指令,据英特尔介绍, AES 指令集让至强处理器更加灵活、高效而安全, E7 处理器可提速 4 倍。

四、 常用加密算法的对比

这么多种对称加密算法,那它们之间的区别是什么呢?

总结一下,无论选择哪种加密算法,最终都是为了保证程序员的代码安全,捍卫自己的产品原创性。最后,编程改变世界!

6278 次点击
所在节点    程序员
32 条回复
jyf007
2017-03-23 21:19:50 +08:00
DES RC4 都是弱加密算法,应淘汰。
julyclyde
2017-03-23 22:42:28 +08:00
讨论 des 和 rc4 都是骗稿费的
在现在的算力下,这俩的算法构造是否精妙已经没有讨论意义
phx13ye
2017-03-23 22:54:40 +08:00
对称加密和非对称加密都是可逆的吧?
不可逆加密的是指 Bcrypt 和 sha 之类无需密钥的,我这样理解没问题吧,老铁?
kmahyyg
2017-03-23 23:39:44 +08:00
至少 bcrypt sha256
Akkuman
2017-03-23 23:45:20 +08:00
@phx13ye
@kmahyyg
加密算法和摘要算法还是有区别吧
phx13ye
2017-03-23 23:47:10 +08:00
@Akkuman Bcrypt 也是摘要?我见大部分都是说加密算法啊
ryd994
2017-03-24 00:13:40 +08:00
使用 AES 算法最著名的是英特尔处理器,也就是说我们每一个人的电脑里都用到了 AES 算法进行加密。 what? 你逗我? helloworld 还要 AES? Intel 有 AES-NI 加速 AES 操作而已好么
@phx13ye Wiki: bcrypt is a password hashing function...
Akkuman
2017-03-24 00:14:36 +08:00
@phx13ye 我说的那个 sha256😂
momocraft
2017-03-24 00:57:56 +08:00
@phx13ye 考慮一下, 如果把 bcrypt 稱為加密, 那它的解密操作是什麼
RqPS6rhmP3Nyn3Tm
2017-03-24 01:46:23 +08:00
在 2017 年了,还能看到有人说 des 安全……
yangqi
2017-03-24 01:48:10 +08:00
现在的软文都想有点干货,但是也别用过时的内容啊。
czc2004211
2017-03-24 02:19:50 +08:00
我选择 chacha20
msg7086
2017-03-24 02:45:45 +08:00
一个软文,连截图都不好好做, exo me ?
outloudvi
2017-03-24 06:35:37 +08:00
第一段和最后一段有点不明所以的样子……
kokutou
2017-03-24 07:53:05 +08:00
明天被老板炒鱿鱼系列~
fucker
2017-03-24 08:06:52 +08:00
原来广告里面也能讨论技术啊
loading
2017-03-24 08:24:38 +08:00
就这软文,更不敢用你们的产品了。
不发还好……
solrted
2017-03-24 08:26:59 +08:00
这里有多少 SS 用户,估计大多都知道这些加密方式的优劣!
RobertYang
2017-03-24 08:29:39 +08:00
去百度搜来的?
fyyz
2017-03-24 08:56:09 +08:00
非常不相信你们的产品。做的思路就不对。
先不说你们这种什么对于采用什么加密算法的探讨,第一段里说保护程序不破解的方法是加密。黑人问号???
程序大致上可以分为服务器端程序和客户端程序。
客户端的程序破解不需要看源码,看函数表,通过 dll 注入等方法绕过授权验证,当然还有脱壳什么的。
服务器端程序,需要做服务器安全措施,比如说防火墙,用户提交字段验证什么的。
你看,没有任何一点和代码加密有关。
再说,就算代码加密了,给其他程序员的话,你肯定要给他明文代码,如果给他加密后的,也肯定会给他解密的 key ,那么他拿到明文照样可以泄露出去。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/349770

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX