0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解读保护数据安全的八种软件加密算法

5RJg_mcuworld 来源:未知 作者:李威 2017-11-28 10:18 次阅读

伴随着人工智能物联网时代的到来,数据应用变得频繁起来,数据安全应该如何保护?软件加密算法都有哪些,这些算法在哪些方面得到了应用?慢慢读下去,你会发现围绕在我们身边的“小密码”。

对称加密算法

对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。

DES加密算法

DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。这样,只有掌握了和发送方相同密钥的人才能解读由DES加密算法加密的密文数据。因此,破译DES加密算法实际上就是搜索密钥的编码。对于56位长度的密钥来说,如果用穷举法来进行搜索的话,其运算次数为256。

随着计算机系统能力的不断发展,DES的安全性比它刚出现时会弱得多,然而从非关键性质的实际出发,仍可以认为它是足够的。不过,DES现在仅用于旧系统的鉴定,而更多地选择新的加密标准。

3DES加密算法

3DES是三重数据加密算法块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。

3DES是DES向AES过渡的加密算法,加密算法,其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,M代表明文,C代表密文,这样:

3DES加密过程为:C=Ek3(Dk2(Ek1(M)))

3DES解密过程为:M=Dk1(EK2(Dk3(C)))

AES加密算法

AES加密算法是密码学中的高级加密标准,该加密算法采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

AES加密算法被设计为支持128/192/256位(/32=nb)数据块大小(即分组长度);支持128/192/256位(/32=nk)密码长度,,在10进制里,对应34×1038、62×1057、1.1×1077个密钥。

非对称加密算法

不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。

RSA加密算法

RSA加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一。RSA是第一个能同时用于加密和数宇签名的算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA加密算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

DSA加密算法

DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却做不到。DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,它比RSA要快很多.

ECC加密算法

椭圆加密算法(ECC)是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。解椭圆曲线上的离散对数问题的最好算法是Pollard rho方法,其时间复杂度为,是完全指数阶的。

不可逆加密算法

不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS等。

MD5加密算法

MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。对MD5加密算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成—个128位散列值。

MD5被广泛用于各种软件的密码认证和钥匙识别上。MD5用的是哈希函数,它的典型应用是对一段信息产生信息摘要,以防止被篡改。MD5的典型应用是对一段Message产生fingerprin指纹,以防止被“篡改”。如果再有—个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于操作系统的登陆认证上,如UNIX、各类BSD系统登录密码、数字签名等诸多方。

SHA1加密算法

SHA1是和MD5一样流行的消息摘要算法。SHA加密算法模仿MD4加密算法。SHA1设计为和数字签名算法(DSA)一起使用。

SHA1主要适用于数字签名标准里面定义的数字签名算法。对于长度小于2“64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。SHA1不可以从消息摘要中复原信息,而两个不同的消息不会产生同样的消息摘要。这样,SHA1就可以验证数据的完整性,所以说SHA1是为了保证文件完整性的技术。

SHA1加密算法可以采用不超过264位的数据输入,并产生一个160位的摘要。输入被划分为512位的块,并单独处理。160位缓冲器用来保存散列函数的中间和最后结果。缓冲器可以由5个32位寄存器(A、B、C、D和E)来表示。SHA1是一种比MD5的安全性强的算法,理论上,凡是采取“消息摘要”方式的数字验证算法都是有“碰撞”的——也就是两个不同的东西算出的消息摘要相同,互通作弊图就是如此。但是安全性高的算法要找到指定数据的“碰撞”很困难,而利用公式来计算“碰撞”就更困难一目前为止通用安全算法中仅有MD5被破解。

当然除上述加密算法以外,也存在着其他方法,小编找到了一张图表,以做补充。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 加密算法
    +关注

    关注

    0

    文章

    215

    浏览量

    25547
  • 数据安全
    +关注

    关注

    2

    文章

    681

    浏览量

    29940

原文标题:数据时代,嵌入式工程师必须知道的八大加密算法

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RC4加密算法的FPGA设计与实现

    RC4加密算法的FPGA设计与实现 RC4算法是一密匙长度可变的加密算法.因其实现方便,安全性高,广泛应用于无线网络通信. 信息
    发表于 08-11 11:48

    上位机软件保护

    USB接口通讯,同时在单片机上实现一些数据的存储和简单算法。这种软件加密锁最大的优势就是价格低,但安全漏洞特别多。  由于普通单片机是无法防拷贝,防复制和防剖片破解的,所以所有放在单片
    发表于 02-12 16:31

    硬件加密软件加密哪个更好?

    个人认为:现在信息安全真的是备受考验呀,各种加密也变得日益重要,软件加密的优点是低成本,不过再强大的软件加密也有被黑的潜质,硬件加密相比来说
    发表于 10-19 17:42

    LKT5103高速软件加密

    运行的输入数据,这样LKT5103 升级版32位高速软件加密锁就成了软件产品的一部分。从根本上杜绝了程序被破解的可能。LKT5103 升级版32位高速软件加密锁具有行业内最顶级的
    发表于 01-07 14:27

    程序保护的话 是不是加密算法越复杂,安全性越好呢?

    我是一名技术人员,想问问程序保护的话 是不是加密算法越复杂 安全性越好呢?使用RSA或者ECC等非对称算法是不是可绝对保证安全呢?
    发表于 05-27 15:34

    设计软件加密方法有哪些

    你辛苦做出来的id软件加密就这么轻松被改了开发人员一般设计软件加密方法:读id—复杂算法计算—对比之前存储的对应数据(与id相关)—判断芯片是否合法。由于读id时很多人直接用id起始地
    发表于 07-19 08:05

    软件加密技术和注册机制加密基础

    密码系统的安全性只在于密钥的保密性,而不在算法的保密性。  对纯数据加密的确是这样。对于你不愿意让他看到这些数据
    发表于 07-19 07:33

    DES加密算法是什么

    一、加密算法1、 DES加密算法DES数据加密标准,是一使用密钥加密的块
    发表于 07-22 09:13

    软件加密算法都有哪些,这些算法在哪些方面得到了应用

    伴随着人工智能、物联网时代的到来,数据应用变得频繁起来,数据安全应该如何保护软件加密算法都有哪些,这些
    发表于 12-21 07:04

    介绍一有效的软件加密算法

    软件加密算法有何功能呢?如何对软件加密算法进行测试呢?
    发表于 01-20 07:31

    嵌入式软件加密算法的相关资料分享

    嵌入式软件加密算法
    发表于 02-11 07:11

    基于AES加密算法的信息安全研究(AEC与ECC结合)

    使用AES 对称加密算法加密明文数据ECC 非对称加密算法加密密钥并生成数字签名,从而既保障了数据
    发表于 10-31 11:32 13次下载
    基于AES<b class='flag-5'>加密算法</b>的信息<b class='flag-5'>安全</b>研究(AEC与ECC结合)

    软件加密算法都有哪些,这些算法在哪些方面得到了应用?

    3DES是三重数据加密算法块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一
    的头像 发表于 12-24 09:27 7771次阅读
    <b class='flag-5'>软件加密算法</b>都有哪些,这些<b class='flag-5'>算法</b>在哪些方面得到了应用?

    Go常用的加密算法详细解读

    【导读】本文介绍了常用的加密算法,并对这些加密算法结合实际 golang 代码段进行了详细解读。 前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式”和”数
    的头像 发表于 09-01 14:47 2986次阅读

    加密算法的选择对于加密安全有多重要?

    加密算法的选择对于加密安全至关重要,因为它直接影响到数据保护的有效性和可靠性。以下是几个关键点来说明加密
    的头像 发表于 12-17 15:59 76次阅读