首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

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

    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

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

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

    Crypto101: https://www.crypto101.io/
    Cryptographic Right Answers :
    现代密码学实践指南: 这个随便搜一下就有了
        25
    zzh1823   2017-03-24 15:48:41 +08:00
    @phx13ye BCrypt 是给密码做哈希的算法,可以叫加密哈希算法,和加密算法是两回事。
        26
    xvx   2017-03-24 15:54:50 +08:00 via iPhone
    为何不用 AES ?前面的貌似已经被淘汰了。
        27
    type   2017-03-24 17:28:38 +08:00
    非对称的被楼主吃了么?
        28
    xiaoc19   2017-03-24 19:27:45 +08:00
    AES 还得对工作模式进行筛选的时代,还在讨论 DES , RC4 这不是在搞笑,
    麻烦先学点现代密码学吧
        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 算法进行攻击外,还没有发现更有效的办法。
        30
    julyclyde   2017-03-25 08:40:23 +08:00
    @xbb7766 你看的这本是十年前抄前人的教材。 DES 算法在 1999 年被首次公开穷举破解
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1312 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 23:38 · PVG 07:38 · LAX 15:38 · JFK 18:38
    ♥ Do have faith in what you're doing.