常用数据加密和解密方法汇总

转帖|行业资讯|编辑:杨鹏连|2021-05-19 11:06:21.007|阅读 207 次

概述:说到软件安全保护,数据加密技术是网络中最基本的安全技术,小编为大家介绍了常用数据加密和解密方法汇总,并推荐几款给力的加密解密软件保护工具,希望对您有所帮助。

# 31款JAVA开发必备控件和工具 # 热门开发工具JetBrains系列产品限时优惠中>>

       数据加密技术是网络中最基本的安全技术,主要是通过对网络中传输的信息进行数据加密来保障其安全性,这是一种主动安全防御策略,用很小的代价即可为信息提供相当大的安全保护。

一、加密的基本概念 

"加密",是一种限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。
加密的基本功能包括:
1. 防止不速之客查看机密的数据文件;
2. 防止机密数据被泄露或篡改;
3. 防止特权用户(如系统管理员)查看私人数据文件;
4. 使入侵者不能轻易地查找一个系统的文件。

数据加密是确保计算机网络安全的一种重要机制,虽然由于成本、技术和管理上的复杂性等原因,目前尚未在网络中普及,但数据加密的确是实现分布式系统和网络环境下数据安全的重要手段之一。

数据加密可在网络OSI七层协议(OSI是Open System Interconnect的缩写,意为开放式系统互联。国际标准组织(国际标准化组织)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。)的多层上实现、所以从加密技术应用的逻辑位置看,有三种方式:

①链路加密:通常把网络层以下的加密叫链路加密,主要用于保护通信节点间传输的数据,加解密由置于线路上的密码设备实现。根据传递的数据的同步方式又可分为同步通信加密和异步通信加密两种,同步通信加密又包含字节同步通信加密和位同步通信加密。

②节点加密:是对链路加密的改进。在协议传输层上进行加密,主要是对源节点和目标节点之间传输数据进行加密保护,与链路加密类似.只是加密算法要结合在依附于节点的加密模件中,克服了链路加密在节点处易遭非法存取的缺点。

③端对端加密:网络层以上的加密称为端对端加密。是面向网络层主体。对应用层的数据信息进行加密,易于用软件实现,且成本低,但密钥管理问题困难,主要适合大型网络系统中信息在多个发方和收方之间传输的情况。

二、数据加密的应用 
1、  媒体加密:DRM
2、  文件加密:文本加密、pdf、word
3、  数据加密:ASP.NET(C#)中的数据加密
4、  硬件加密:加密狗

三.加密技术发展趋势 

①私用密钥加密技术与公开密钥加密技术相结合:鉴于两种密码体制加密的特点,在实际应用中可以采用折衷方案,即结合使用DES/IDEA和RSA,以DES为"内核",RSA为"外壳",对于网络中传输的数据可用DES或IDEA加密,而加密用的密钥则用RSA加密传送,此种方法既保证了数据安全又提高了加密和解密的速度,这也是目前加密技术发展的新方向之一。

②寻求新算法:跳出以常见的迭代为基础的构造思路,脱离基于某些数学问题复杂性的构造方法。如刘尊全先生提出的刘氏算法,是一种基于密钥的公开密钥体制,它采用了随机性原理构造加解密变换,并将其全部运算控制隐匿于密钥中,密钥长度可变。它是采用选取一定长度的分割来构造大的搜索空间,从而实现一次非线性变换。此种加密算法加密强度高、速度快、计算开销低。

③加密最终将被集成到系统和网络中,例如IPV6协议就已有了内置加密的支持,在硬件方面,Intel公司正研制一种加密协处理器。它可以集成到微机的主极上。

四、加密技术的分类 

加密类型可以简单地分为四种:
1. 根本不考虑解密问题; 
2. 私用密钥加密技术:对称式加密(Symmetric Key Encryption):对称式加密方式对加密和解密使用相同的密钥。通常,这种加密方式在应用中难以实施,因为用同一种安全方式共享密钥很难。如:RC4、RC2、DES 和 AES 系列加密算法。
3. 公开密钥加密技术:非对称密钥加密(Asymmetric Key Encryption):非对称密钥加密使用一组公共/私人密钥系统,加密时使用一种密钥,解密时使用另一种密钥。公共密钥可以广泛的共享和透露。当需要用加密方式向服务器外部传送数据时,这种加密方式更方便。如: RSA

4. 数字证书。(Certificate):数字证书是一种非对称密钥加密,但是,一个组织可以使用证书并通过数字签名将一组公钥和私钥与其拥有者相关联。 

五、对称加密之DES加密与解密 

1、对称加密 

对称加密,是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码)。因此,通信双方都必须获得这把钥匙,并保持钥匙的秘密。

单钥密码系统的安全性依赖于以下两个因素:

第一、加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的。
第二、加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性,因此,我们没有必要确保算法的秘密性(事实上,现实中使用的很多单钥密码系统的算法都是公开的),但是我们一定要保证密钥的秘密性。
DES(Data Encryption Standard)和TripleDES是对称加密的两种实现。
DES和TripleDES基本算法一致,只是TripleDES算法提供的key位数更多,加密可靠性更高。
DES使用的密钥key为8字节,初始向量IV也是8字节。

TripleDES使用24字节的key,初始向量IV也是8字节。

两种算法都是以8字节为一个块进行加密,一个数据块一个数据块的加密,一个8字节的明文加密后的密文也是8字节。如果明文长度不为8字节的整数倍,添加值为0的字节凑满8字节整数倍。所以加密后的密文长度一定为8字节的整数倍。

2、加密解密过程 


Figure 1. DES加密解密过程

上图是整个DES和TripleDES算法的加密解密过程,下面以TripleDES为例,结合dotnet分析加密解密的各个步骤,并给出相关实现代码。

说到软件安全保护,小编为大家推荐几款给力的加密解密软件保护工具,希望对您有所帮助。


慧都科技响应“全面加强知识产权保护,推动构建新发展格局”号召,加密解密产品为您的应用程序保驾护航!在线购买享受限时特惠,Go!>>

★VMProtect

VMProtect是新一代的软件保护实用程序,具有内置的反汇编程序,可与Windows和Mac OS X可执行程序配合使用,还可以链接编译器创建的MAP文件,以快速选择代码片段进行保护。

VMProtect的基本原则是通过使应用程序代码和逻辑非常复杂以进行进一步分析和破解,从而有效保护应用程序代码免受检查。VMProtect的主要软件代码保护机制适用于:虚拟化,变异和组合保护,涉及应用程序代码的突变以及随后的虚拟化。

VMProtect与其他软件保护程序的主要区别在于:它能够使用不同的方法保护代码的不同部分:部分代码可以虚拟化,另一部分进行模糊处理,使用组合方法保护关键片段。

VMProtect中使用的虚拟化方法的关键优势:

  1. 执行虚拟化代码片段的虚拟机嵌入到受保护应用程序的结果代码中——VMProtect保护的应用程序不需要第三方库或模块来运行
  2. VMProtect允许使用多个不同的虚拟机来保护同一应用程序的不同代码片段——黑客必须分析多个虚拟机的体系结构

网络评价:加密的安全级别非常高,破解难度很大,但是加密数据多,需要注意系统的性能。

【下载试用】
【在线购买】
【咨询客服】

★Themida

Themida是先进的Windows软件保护系统,它被用于满足软件开发人员对于所开发应用程序安全保护的需求,使其远离被先进的逆向工程和软件破解的危险。

通过Themida,集中在软件保护器所具有的主要弱点,从而提供了解决这些问题的完整解决方案。Themida使用SecureEngine®保护技术,当以最高优先级运行时,实施前所未见的保护技术,以保护应用程序免受高级软件破解。

Themida

SecureEngine®会破坏可用于受保护应用程序的所有当前破解工具,并确保受保护的应用程序仅在安全的环境中运行。

Themida

Themida的主要特点:

•检测/欺骗任何类型的调试器的反调试器技术 •任何Ring3和Ring0转储器的反内存转储器技术 •每个受保护应用程序中的加密算法和密钥不同
•反API扫描程序技术,可避免重建原始导入表 •目标应用中的自动反编译和加扰技术 •先进的Mutator引擎
•反“调试器隐藏器”技术 •目标应用中的反内存修补和CRC技术 •针对文件和注册表监视器的反监视技术
•SDK与保护层的通信 •适用于任何静态和交互式拆卸器的反拆卸技术 •目标应用程序中的动态加密

网络评价:用好其虚拟机保护功能,将关键敏感代码用虚拟机保护起来,能很好提高强度。

【下载试用】
【在线购买】
【咨询客服】

★WinLicense

WinLicense是一个功能强大的保护系统,专为希望保护其应用程序免受高级逆向工程和软件破解的软件开发人员而设计。开发人员不需要任何源代码更改或编程经验来使用WinLicense保护其应用程序。WinLicense使用SecureEngine®保护技术,该技术能够以最高优先级运行其代码,以实现前所未有的保护技术; 这可以保护任何具有最高安全级别的应用程序。

WinLicense的主要特点:

  1. 保护功能:WinLicense的主要目标是涵盖软件保护中的所有当前漏洞,例如过时的保护技术、操作系统限制执行等等。
  2. 试用/许可功能:WinLicense提供最广泛的选项和功能,以便为应用程序创建试用版和注册版。WinLicense还提供自动处理所有可能情况的功能,例如应用程序到期,许可证损坏等,从而使开发人员无需在应用程序中包含额外的代码。
  3. WinLicense专门用于解决当前许可证管理器的一些主要缺陷。

网络评价:WinLicense主要比Themida多了一个协议,可以设定使用时间,运行次数等功能,两者核心保护是一样的。

【下载试用】
【在线购买】
【咨询客服】


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们

客服热线
023-68661681

QQ客服

意见反馈


添加微信获专业服务

TOP
在线客服系统
live chat