DES 加密、RC4 加密、AES 加密等加密算法的优势及应用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
APICloud
V2EX    程序员

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

  APICloud 2017-03-23 15:58:56 +08:00 6804 次点击
这是一个创建于 3126 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

1.jpg

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

2.jpg

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

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

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

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

3.jpg

定义: 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 算法的优势及应用场景

4.jpg

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

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

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

四、 常用加密算法的对比

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

5.png

6.png

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

32 条回复    2021-05-05 09:49:41 +08:00
jyf007
    1
jyf007  
   2017-03-23 21:19:50 +08:00 via Android   1
DES RC4 都是弱加密算法,应淘汰。
julyclyde
    2
julyclyde  
   2017-03-23 22:42:28 +08:00   1
讨论 des 和 rc4 都是骗稿费的
在现在的算力下,这俩的算法构造是否精妙已经没有讨论意义
phx13ye
    3
phx13ye  
   2017-03-23 22:54:40 +08:00
对称加密和非对称加密都是可逆的吧?
不可逆加密的是指 Bcrypt 和 sha 之类无需密钥的,我这样理解没问题吧,老铁?
kmahyyg
    4
kmahyyg  
   2017-03-23 23:39:44 +08:00 via Android
至少 bcrypt sha256
Akkuman
    5
Akkuman  
   2017-03-23 23:45:20 +08:00 via Android
@phx13ye
@kmahyyg
加密算法和摘要算法还是有区别吧
phx13ye
    6
phx13ye  
   2017-03-23 23:47:10 +08:00
@Akkuman Bcrypt 也是摘要?我见大部分都是说加密算法啊
ryd994
    7
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
    8
Akkuman  
   2017-03-24 00:14:36 +08:00 via Android
@phx13ye 我说的那个 sha256
momocraft
    9
momocraft  
   2017-03-24 00:57:56 +08:00
@phx13ye 考一下, 如果把 bcrypt 加密, 那它的解密操作是什
RqPS6rhmP3Nyn3Tm
    10
RqPS6rhmP3Nyn3Tm  
   2017-03-24 01:46:23 +08:00 via iPhone
在 2017 年了,还能看到有人说 des 安全……
yangqi
    11
yangqi  
   2017-03-24 01:48:10 +08:00
现在的软文都想有点干货,但是也别用过时的内容啊。
czc2004211
    12
czc2004211  
   2017-03-24 02:19:50 +08:00 via Android
我选择 chacha20
msg7086
    13
msg7086  
   2017-03-24 02:45:45 +08:00
一个软文,连截图都不好好做, exo me ?
outloudvi
    14
outloudvi  
   2017-03-24 06:35:37 +08:00 via Android
第一段和最后一段有点不明所以的样子……
kokutou
    15
kokutou  
   2017-03-24 07:53:05 +08:00 via Android
明天被老板炒鱿鱼系列~
fucker
    16
fucker  
   2017-03-24 08:06:52 +08:00
原来广告里面也能讨论技术啊
loading
    17
loading  
   2017-03-24 08:24:38 +08:00 via Android
就这软文,更不敢用你们的产品了。
不发还好……
solrted
    18
solrted  
   2017-03-24 08:26:59 +08:00 via Android
这里有多少 SS 用户,估计大多都知道这些加密方式的优劣!
RobertYang
    19
RobertYang  
   2017-03-24 08:29:39 +08:00 via Android
去百度搜来的?
fyyz
    20
fyyz  
   2017-03-24 08:56:09 +08:00 via Android
非常不相信你们的产品。做的思路就不对。
先不说你们这种什么对于采用什么加密算法的探讨,第一段里说保护程序不破解的方法是加密。黑人问号???
程序大致上可以分为服务器端程序和客户端程序。
客户端的程序破解不需要看源码,看函数表,通过 dll 注入等方法绕过授权验证,当然还有脱壳什么的。
服务器端程序,需要做服务器安全措施,比如说防火墙,用户提交字段验证什么的。
你看,没有任何一点和代码加密有关。
再说,就算代码加密了,给其他程序员的话,你肯定要给他明文代码,如果给他加密后的,也肯定会给他解密的 key ,那么他拿到明文照样可以泄露出去。
Biny
    21
Biny  
   2017-03-24 09:56:47 +08:00
好垃圾的软文,鉴定完毕
wzxjohn
    22
wzxjohn  
   2017-03-24 10:19:05 +08:00 via iPhone   1
垃圾而且错误漏洞百出的软文。
实话实说,第一次听有人说 RC4 是目前最安全的加密算法之一。
你说你软也就罢了,别误导人啊!
nilai
    23
nilai  
   2017-03-24 13:45:59 +08:00
好垃圾的软文,鉴定完毕
v2exhehehehe
    24
v2exhehehehe  
   2017-03-24 14:45:40 +08:00
现代加密学应用可以看看

Crypto101: https://www.crypto101.io/
Cryptographic Right Answers : https://gist.github.com/tqbf/be58d2d39690c3b366ad
现代密码学实践指南: 这个随便搜一下就有了
zzh1823
    25
zzh1823  
   2017-03-24 15:48:41 +08:00
@phx13ye BCrypt 是给密码做哈希的算法,可以叫加密哈希算法,和加密算法是两回事。
xvx
    26
xvx  
   2017-03-24 15:54:50 +08:00 via iPhone
为何不用 AES ?前面的貌似已经被淘汰了。
type
    27
type  
   2017-03-24 17:28:38 +08:00
非对称的被楼主吃了么?
xiaoc19
    28
xiaoc19  
   2017-03-24 19:27:45 +08:00
AES 还得对工作模式进行筛选的时代,还在讨论 DES , RC4 这不是在搞笑,
麻烦先学点现代密码学吧
xbb7766
    29
xbb7766  
   2017-03-24 20:57:43 +08:00 via Android
难怪我觉得像在看十年前的教材

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

软件技术基础教程 - Google Books Result
https://books.google.com/books?isbn=7302116989
周肆清, 曹岳辉, 李利明 - 2005
例如,一个 512 位的密钥被认为是安全的,然而一个由 16 位密钥产生的数据块可能会 立刻被破坏。密钥加密类似于玩 ... 均用到 DES 算法。 DES 算法具有极高的安全性, 到目前为止,除了用穷举搜索法对 DES 算法进行攻击外,还没有发现更有效的办法。
julyclyde
    30
julyclyde  
   2017-03-25 08:40:23 +08:00
@xbb7766 你看的这本是十年前抄前人的教材。 DES 算法在 1999 年被首次公开穷举破解
h503mc
    31
h503mc  
   2021-05-05 09:47:47 +08:00 via Android
h503mc
    32
h503mc  
   2021-05-05 09:49:41 +08:00 via Android
@phx13ye 不小心点了回复键
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1071 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 23:04 PVG 07:04 LAX 16:04 JFK 19:04
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86