谈谈加密、软件数据保护

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 觉得这篇文章还可以,讲清楚了加密的基本概念。转一下。   数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。

觉得这篇文章还可以,讲清楚了加密的基本概念。转一下。

 

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。

  该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

  加密技术通常分为两大类:“对称式”和“非对称式”。

  对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。

  非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。

  加密算法

  一个加密系统S可以用数学符号描述如下:

  S={P, C, K, E, D}

  其中

  P——明文空间,表示全体可能出现的明文集合,

  C——密文空间,表示全体可能出现的密文集合,

  K——密钥空间,密钥是加密算法中的可变参数,

  E——加密算法,由一些公式、法则或程序构成,

  D——解密算法,它是E的逆。

  当给定密钥kÎK时,各符号之间有如下关系:

  C = Ek(P), 对明文P加密后得到密文C

  P = Dk(C) = Dk(Ek(P)), 对密文C解密后得明文P

  如用E-1 表示E的逆,D-1表示D的逆,则有:

  Ek = Dk-1且Dk = Ek-1

  因此,加密设计主要是确定E,D,K。

  RSA是Rivest、Shamir和Adleman提出来的基于数论非对称性(公开钥)加密算法。大整数的素因子难分解是RSA算法的基础。

  RSA在国外早已进入实用阶段,已研制出多种高速的RSA的专用芯片。尽管RSA的许多特性并不十分理想,但迫于信息安全的实际需要,许多重要的信息系统还是采用RSA作为基础加密机制。从RSA提出不久,我国有关部门就一直对它进行研究。从应用的角度看,软件实现的RSA已经开始用于计算机网络加密,用来完成密钥分配、数字签名等功能。

  除了RSA之外,还有DES(数据加密标准)。尽管DES公开了其加密算法并曾被美国列为“标准”,但很快被废弃。加密技术又回归到“算法保密”的传统上。

  常见加密算法

  DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;

  3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;

  RC2RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;

  IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;

  RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;

  DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;

  AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法;

  BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;

  MD5:严格来说不算加密算法,只能说是摘要算法

  对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

  在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。(可参见MD5算法词条)

  SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些外,都不容许使用其他的;

  其它算法,如ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。

目录
相关文章
|
7月前
|
存储 安全 算法
探索未来数据保护的钥匙:安全加密算法
在数字化时代,数据安全成为了一个重要的议题。本文将深入探讨安全加密算法的作用和意义,以及其在数据保护中的应用。通过对不同类型的加密算法进行介绍和比较,我们将揭示它们在保护个人隐私和商业机密方面的重要性。同时,我们还将探讨未来发展趋势,展望安全加密算法在数据保护领域的潜力。
210 1
|
7月前
|
Java 开发工具 数据安全/隐私保护
技术博客:市面上加密混淆软件的比较和推荐
技术博客:市面上加密混淆软件的比较和推荐
134 0
|
7月前
|
存储 Dart 安全
 【教程】源代码加密、防泄密软件
代码混淆 是一种将应用程序二进制文件转换为功能上等价,但人类难于阅读和理解的行为。在编译 Dart 代码时,混淆会隐藏函数和类的名称,并用其他符号替代每个符号,从而使攻击者难以进行逆向工程。
|
算法 数据安全/隐私保护 Windows
|
4月前
|
安全 算法 数据安全/隐私保护
数据保护新纪元!Python加密解密技术,让信息安全飞入寻常百姓家
【8月更文挑战第1天】随着数字化发展,数据安全成为关键议题。Python以其易用性和强大的库支持,使得加密技术平民化。通过`hashlib`库实现的哈希加密确保数据完整性;利用`pycryptodome`实现的AES对称加密提供高效保护;而RSA等非对称加密则解决了密钥安全分发问题。Python让加密技术变得触手可及,助力守护每个人的数字世界。
68 2
|
5月前
|
存储 机器学习/深度学习 安全
|
7月前
|
存储 安全 算法
【专栏】保护数据安全的重要性以及安全加密算法在数据保护中的应用
【4月更文挑战第27天】在数字化时代,数据安全至关重要,关系到个人隐私、企业商业机密、国家安全及经济发展。安全加密算法(如对称加密、非对称加密和哈希算法)在保护数据方面发挥关键作用。它们应用于电子商务、金融、物联网、云存储和数字签名等领域,确保信息传输和存储的安全。面对日益复杂的挑战,我们需要持续研究和应用加密技术,提高数据安全意识,共同维护数字世界的繁荣与安全。
210 2
|
7月前
|
安全 算法 网络安全
软件体系结构 - 非对称加密算法
软件体系结构 - 非对称加密算法
67 0
|
7月前
|
存储 算法 安全
软件体系结构 - 对称加密算法
软件体系结构 - 对称加密算法
47 0
|
7月前
|
存储 安全 算法
保护数据安全的重要性:安全加密算法在数据保护中的应用
在数字时代,数据的安全性越来越受到重视。本文将探讨安全加密算法作为一种关键的数据保护手段的重要性和应用。通过分析现有的加密算法和其在数据保护中的角色,我们可以更好地理解如何保护数据免受黑客攻击和隐私泄露。