加密算法(摘要算法,对称、非对称加密算法)

加密目前已经成为计算机安全研究的主要方向,一个密码系统的安全性主要在于密钥的保密性,而不是算法的保密性。

加密系统至少要包括如下四个部分

1 未加密的报文,也叫明文:用M(消息)或P(明文)表示,可以是比特流(文本文件,位图,数字化的语言流或视频),在计算机中,P是简单的二进制数据,可以被传送或存储。

2 加密的报文 ,也叫密文:用C表示,也是二进制数

3 加密解密设备或算法

4 加密解密的密钥

加密技术中常用的相关概念

断点  指程序被中断执行的地方

领空  其实就是程序自己的地方,也就是要破解程序的程序码所在的地方。

程序中注册码存在的方式  一般破解的过程中都会去找程序中将输入的注册码和正确的注册码相比较的地方,然后通过对程序的跟踪、分析找到正确的注册码。但正确的注册码在程序中一般以两种形态存在:显示和隐式的。

软件的破解版和注册版:破解版(crack)一般需要替换文件达到注册的目的,注册版(keygen)不改变源程序的情况下通过序列号(正版序列号或者注册机)得到的序列号

对称密钥算法:使用对称密码编码技术的加密算法,特点是文件加密和解密使用相同的密钥,即加密密钥也就是解密密钥。

对称密钥算法也叫传统密码算法,也就是解密密钥能够从加密密钥中推算出来,反过来也成立。在大多数的对称算法中,加密和解密密钥都是相同的,这些算法也叫单密钥算法。要求在发送者和接收者在安全通信之前,商定一个共同的密钥。

加密方案一般有5个组成部分:

1 明文:原始信息

2 加密算法:以密钥为参数,对明文进行多种置换和转换的规则和步骤,变换结果为密文。

3 密钥:加密与解密算法的参数,直接影响对明文进行变换的结果

4 密文:对明文进行变换的结果

5 解密算法:加密算法的逆变换,以密文为输入、密钥为参数,变换结果为明文。

对称密码优点是效率高,算法简单,系统开销小,适合加密大量数据。缺点是进行安全通信前,密钥交换必须在安全的方式进行,还有就是规模庞大。

常见的对称密钥算法
DES数据加密算法明文按64位进行分组,密钥长度为64位,密钥事实上是56为参与DES运算(第8、16、24、32、40、48、56、64位是校验位)。由于其只有56位密钥的容量,所以不够安全,又推出了三重DES或3DES系统。
RC4流密码密钥长度可变的流加密算法簇。核心部分的S-box长度为任意,一般为256字节。算法速度可为DES加密的10倍左右,具有很高级别的非线性。包括初始化算法(KSA)和伪随机子密码生成算法(PRGA)
IDEA国际数据加密算法International Data Encryption Algorithm,是作为迭代的分组密码是相当的,使用128位密钥和8个循环,属于数据块加密算法类。应用:PGP(Pretty Good Privacy),安全套接字层(Secure Socket Layer,SSL)将IDEA包含在其加密算法库SSLRef中
FEAL分组加密算法Fast Data Encipherment Algorithm,类似DES的分组加密算法。
AES高级加密标准

Advanced Encryption  Standard,在密码学中也叫Rijindael加密法(但并不完全等同).AES的区块长度固定为128位,而密钥长度则可以为128、192或256位;而Rijindael使用的密钥和区块长度可以是32位的整数倍,以128为下限,256为上限。

非对称加密算法:是一种密钥的保密方法,使用了两个具有数学关系的不同密钥来加密和解密数据,分别称为公钥和私钥,合称为密钥对。如果用公开密钥(publickey)进行加密,只有对应的私有密钥(privatekey)才能解密;如果使用私钥进行加密,那么只有对应的公钥才可以解密。所以非对称加密算法的保密性好,不过加密和解密速度很慢,不太适用于大量数据。

RSA公钥加密算法:先生成一对RSA密钥,其中之一为保密密钥,由用户保存;另一个为公开密钥,可对外公开,也可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位,一般为1024位。可以同时用于加密和数字签名,目前普遍被认为是最优秀的公钥解决方案之一。

EIGamal公钥算法:基于1984年提出的公钥密码体制和椭圆曲线加密体系,既能用于数据加密,也可以用于数字签名。在加密过程中,生成的密文长度是明文的两倍,且每次加密后都会在密文中生成一个随机数k。

DSA数字签名算法:Digital Signature Algorithm 域离散对数难题,所以它的安全性与RSA差不多。其一个重要的特点就是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,也能确认它们是否时随机产生的,但RSA就不可以。DSA是基于整数有限是保证电子商务安全性的关键技术之一,在保证数据的完整性、私有性、不可抵赖性等方面起着重要的作用。

Diffie-Hellman密钥交换系统:由Whitefiled和Martin Hellman在1976年提出的一个密钥交换协议,称为Diffie-Hellman密钥交换协议/算法(Diffie-hellman Key Exchange/Agreement Algorithm)。可以确保共享KEY安全穿越不安全网络的方法,是OAKLEY的一个组成部分。这个密钥交换协议/算法只能用于密钥的交换,而不能进行消息的加密和解密。目前被很多商户用作密钥交换技术,通常被称为Diffie-Hellman密钥交换,简称DH算法。这个算法的有效性依赖于计算离散对数的难度。

这个技术的不足是没有提供双方身份认证的任何消息。因为它是计算密集性的,容易受到阻塞性攻击,即对手请求大量的密钥。

数据摘要算法:也被叫做哈希(hash)算法,散列算法

数据的摘要算法目前是密码学中的一个重要的分支,通过对所有数据提取指纹信息以实现数据签名,数据完整性校验等功能,由于其不可逆性,常被用作敏感信息的加密。分为以下几类:

1.CRC8    CRC16    CRC32

 循环冗余校验(Cyclic Redundancy Check——CRC),常用于通信领域。它会产一个4字节(32位)的校验值,一般是8位十六进制数,如FA,CD,45等,具有简便,速度快的优点。比如常见软件WinRAR、WinZip等,一般常见的简单文件(Simple File Verify——SFV)也以CRC32为基础,生成一个.SFV的文本文件,与其相关的软件有MagicSFV,MooSFV。

2.MD2     MD4      MD5

常用的为MD5(Message-Digest Algorithm 5 消息摘要算法版本5)由MD2、MD3、MD4发展而来,它会产生16字节(128位)的校验值,一般用32位十六进制数表示。MD2算法较慢,但是安全,MD4速度快,但安全性降低,MD5比MD4更安全,速度更快。

与MD5相关的工具有WinMD5等

[root@guowei ~]# cat file1.txt | tail 
The cat's name is Tom,what's the mouse's name ?
The mouse's NAME is Jerry
They are good friends 
[root@guowei ~]# md5sum file1.txt
60c04a3504ffeebb78af37dbe3973bd8  file1.txt
[root@guowei ~]# echo "12"  >> file1.txt
[root@guowei ~]# md5sum file1.txt
3468e7bbc1540b493b6b5bd479807e33  file1.txt     //对文件作过更改以后 MD5值已经完全不同 常用于大文件传输的校验

3.SHA1    SHA256   SHA384   SHA512

SHA(Secure Hash Algorithm)算法的摘要长度分别为:SHA1为20字节(160位)、SHA256为32字节(256位)、SHA384为48字节(348位)、SHA512为64字节(512位),对比MD5来说,相对较慢。常用于CA和数字认证中,在BT软件中,也常用SHA1校验文件。

[root@guowei ~]# sha1sum file1.txt   
9cdc0f0bfd6a21094faa265fc9f4c1b14e3f37d2  file1.txt            //40为十六进制
[root@guowei ~]# sha256sum file1.txt 
ced11f72db773fa95bf5272d707f194ea48ee476c14ce0d7a321edac69aca5c3  file1.txt    
//64位十六进制
[root@guowei ~]# sha384sum file1.txt 
fdc4459fcf14ae3b061d09adb97a2317533a44af52f808850a00b4c94a231327abab85753e46fab446d6064cb1c0d665  file1.txt
//96位十六进制
[root@guowei ~]# sha512sum file1.txt 
f7f0bd6acb33db60c4771cfc9445d5593d1bfc47b9cb2098ade878e8edf34e981f29ba3c4f90f9f5febabc04b5f257012c3b6bb10b7b07ec74a8de1c80bc0a8e  file1.txt
//128位十六进制

4.RIPEMD  TIGER     MAD

RIPEMD是在对MD4、MD5缺陷的基础上,于1996年提出,有四个标准:128(16字节)、160(对应长度20字节)、256(32字节)、320(对应长度40字节)

TIGER在1995年提出,号称是最快的Hash算法,专门为64位机器做了优化

MAD算法是以消息给予的长度作为输入,产生一个128位的“指纹”或者“消息化”

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值