黑客业务

24小时接单的黑客,黑客业务,黑客怎么找,网络黑客,黑客技术

网络安全攻防:对称密码

对称密码可分为分组密码(Block Cipher)和序列密码(Stream Cipher)。分组密码通常以一个固定大小作为每次处理的基本单元,而序列密码则是以一个单位元素(一个字母或一个比特)作为基本的处理单元,当然,当分组长度为单位长度时,分组密码也即为序列密码。

分组密码是表示明文消息编码后的数字(简称明文数字)序列,分为长度n组(可视为长度n矢量),每组在密钥控制下转换为等长输出数字(以下简称密文数字)序列。分组密码采用不随时间变化的固定变换,具有扩散性好、插入敏感等优点。分组密码的工作模式允许使用同一分组密码的密钥对多个数据进行加密,并确保其安全性。分组密码本身只能加密等于密码分组长度的单块数据。如果要加密变长数据,数据必须先分为一些单独的密码块。一般来说,最后一块数据也需要通过适当的填充方式将数据扩展到匹配密码块大小的长度。一种工作模式描述了加密每个数据块的过程,并经常使用基于一个通常称为初始向量的过程(IV)附加输入值是随机的,以确保数据加密的安全。以下是几种常见的分组密码工作模式。

1. 电子密码本(ECB)

最简单的加密模式是电子密码本(ECB,Electronic Codebook)模式。需要加密的消息根据块密码的块大小分为几个块,并独立加密每个块,如图1所示。

图1

优点:简单高效;有利于并行计算;误差不会传输。

缺点:不能隐藏明文模式,同一明文产生相同的密文;可能会主动攻击明文。

如图2所示,当黑客获得账户时C对应的密文段后,可以通过对银行进行处理A传送给银行B密文段替换成功实施ECB密文重放攻击。

图2 电子密码本加密示例

2. 密码块链接(CBC)

在 CBC 在模式下,每个明文块首先与前一个密文块不同,然后加密,即每个密文块依赖于其前面的所有明文块。同时,为了确保每个消息的独特性,初始向量需要用于第一个块。加密过程如图3所示。

图3 CBC模式

优点:不易被主动攻击,安全性好于ECB,目前适用于传输长度较长的报文SSL和IPSec安全协议的应用标准。

缺点:不利于并行计算;误差传递效应;初始向量需要维护IV。

3. 密文反馈(CFB)

密文反馈(CFB,Cipher Feedback)模式类似于CBC,可以将块密码变为自同步的流密码,工作过程亦非常相似,加密过程如图4所示。

图4 CFB模式

优点:隐藏明文模式;分组密码转换为流动模式,提高安全强度;小于分组的数据可以及时加密和传输。

缺点:不利于并行计算;存在误差传输效应,即明文单元损坏会影响多个单元;需要维护IV。

包括分组密码DES、IDEA、SAFER、Blowfish和Skipjack 等,最新的国际标准算法是AES,以前用过DES/3DES算法。在介绍具体的分组加密算法之前,有必要了解分组密码中的核心变化——Feistel结构。大多数分组密码的结构本质上都是基于Feistel因此,了解网络结构Feistel密码结构对学习分组密码算法非常有帮助。

Feistel它是一种用于分组加密过程中多次循环迭代的结构,可以有效提高安全性。在每个循环中,适当的变换可以通过使用从初始密钥中衍生出来的特殊函数来应用。Feistel加密算法的输入将分组的明文块分为左右两部分L和R,并生成密钥序列K=(K1,K2,…,Kn),进行n轮迭代,迭代完成后,左右两半合并产生最终的密文分组。i轮迭代函数为:

Li=Ri−1

Ri=Li−1 F(Ri−1,Ki)

其中,Ki是第i轮子的子密钥,“ ”表示异或运算,F表示轮函数。一般来说,每个轮子的密钥是不同的,轮函数F也各不相同。代换过程完成后,在交换左右两半数据,这一过程称为置换。Feistel如图5所示。

图5 Feistel网络加密和解密过程

因此,Feistel网络安全与以下参数有关。

(1)分组大小。

(2)密钥大小。

(3)子密钥生成算法:算法越复杂,密码分析就越困难(Feistel根据Kerchhoffs标准不需要保密)。

(4)轮数n:单轮结构远不足以保证安全,一般轮数为16。

(5)轮函数F:结构越复杂,分析就越困难。

4. 分组加密算法DES

DES算法是密码系统中的对称密码系统,也,也被称为美国数据加密标准IBM公司开发的对称密码系统加密算法。明文为64 bit分组,密钥长64 bit,密钥实际上是56 bit参与DES运算(8、16、24、32、40、48、56bit是验证位,使每个密钥都有奇数1)分组后的明文组和56 bit密文组的加密方法是通过位置替换或交换密钥形成的。

DES 算法安全性极高。到目前为止,除了使用穷举搜索法对 DES 除了攻击算法,还没有找到更有效的方法。bit长密钥的可怜空间是256,这意味着如果一台计算机的速度是每秒检测100万把密钥,它需要近2285年才能搜索到所有的密钥出,这是很难实现的。然而,这并不意味着DES它是不可破解的。事实上,随着硬件技术和Internet破解的可能性越来越大,需要的时间也越来越少。使用特殊设计的硬件并行处理需要几个小时。DES研究人员还提出了密钥空间小的三重缺陷DES变形方法,即两个密钥共128 bit长度只增加了穷举密钥的计算复杂性,如图6所示。

图6 三重DES的变形方式

5. 分组加密标准AES

19974月15日,美国ANSI发起征集AES(Advanced Encryption Standard)为此设立了活动AES工作小组。

19979月12日,美国联邦登记处宣布正式征集AES通知候选算法AES基本要求是比三重DES快,至少三重DES数据分组长度为128 bit,密钥长度为128/192/256bit。

1998年8月12日,首届AES候选会议(First AES Candidate Conference)上公布了AES世界各地的机构和个人都可以攻击和评论15个候选算法。

1999三月,第二届AES候选会议(Second AES Candidate Conference)在讨论了世界各地密码机构和个人对候选算法的分析结果后,从 15个候选算法中选出了 5个,即RC6、Rijndael、SERPENT、Twofish和MARS。

2000第三届会议于4月13日至14日举行AES候选会议(Third AES Candidate Conference),继续讨论最后五种候选算法。

2000年10月2日,NIST宣布Rijndael作为新的AES。经过三年多的讨论,Rijndael终于脱颖而出。Rijndael由比利时的JoanDaemen和VincentRijmen设计。

AES算法基于排列和替换操作。排列是重新安排数据,替换是用另一个替换数据单元。AES 使用几种不同的方法来执行排列和替换操作。AES 是一种迭代对称的密钥分组密码,可使用128、192和256 bit密钥,128 bit(16 B)分组加密和解密数据。与公共密钥密码不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密采用循环结构,在此循环中重复替换输入数据,如图7所示。

图7 AES算法设计

6. 序列密码

序列密码是随时间变化的加密变换,具有转换速度快、传输错误低的优点,硬件实现电路更简单;其缺点是扩散低、插入或修改不敏感。

序列密码涉及大量的理论知识,提出了大量的设计原则,并得到了广泛的分析,但许多研究结果并没有完全披露,因为序列密码更多地应用于军事和外交机密部门。目前,公共序列密码算法主要包括RC4、SEAL等。1949年,Shannon证明只有一次一密的密码系统是绝对安全的,这给出了序列列密码技术的研究以强大的支持,序列密码方案的发展是模仿一次一密系统的尝试,或者说“一次一密”密码方案是序列密码的原型。如果序列密码使用与消息流长度相同的密钥流,则此时的序列密码是一次密码系统(One-Time Password)。如果一个随机序列(密钥流)可以通过一种方式生成,该序列由密钥确定,则可以使用该序列进行加密,即将密钥和明文表示为连续符号或二进制,并相应地加密加密时,一次处理明文中的一个或多个比特。

如图8所示。

图8 序列密码加密和解密

明文序列:m=m1m2m3…

密钥序列:k=k1k2k3…

密文序列:c=c1c2c3…

加密变换:ci=ki⊗mi(i=1,2,3…)

解密变换:mi=ki⊗ci(i=1,2,3…)

密钥序列k1k2k3…主控密钥K通过密钥流生成器生成。密钥流生成器的核心是伪随机数发生器,而密钥K即随机数发生器的种子。线性反馈移位寄存器是应用最广泛的随机数发生器(LFSR,Linear Feedback Shift Register)。LFSR给定前一种状态的输出,然后将输出的线性函数用作输入的移位寄存器。不同或操作是最常见的单比特线性函数:输入寄存器的某些位置,然后整体移位寄存器中的每个比特。

LFSR 可以产生一个长周期的二进制序列,形成安全的流密钥。当周期无限长时,可以形成上述 OTP 一次一密系统,OTP 是一种理想的安全流密码系统。一密系统应用面临以下现实挑战。

(1)密钥配送:发送人在解密前需要将密钥发送给接收人。OTP密钥的长度与明文相同。如果能安全有效地发送密钥,为什么不直接用这种方法发送明文呢。

(2)保存密钥:OTP等同于将“保存明文”问题转化成“保存和明文等长密钥”问题。

(3)重用密钥:OTP过去使用的随机比特序列不能重用,否则密钥泄露前所有通信都会解密,在密码学上称为前向安全(Forward Security)。

(4)密钥的同步:明文很长时密钥也会一样长,如果密钥在同步时出现一点差错,后续所有密文将无法解密,有时也被称作后向安全(Backward Security)。

(5)密钥的生成:OTP需要生成大量的随机数,计算机程序生成的伪随机数往往不能满足需求,而真正的无重现随机数很难生成。

因此,在实际应用中,流密码的安全性主要取决于主控密钥K保密性和密钥流发生器的可靠性。密钥序列生成算法是最关键的,其生成的密钥序列必须具有伪随机性。伪随机性主要体现在两个方面。一方面,密钥序列是不可预测的,这将使攻击者难以破解密文;另一方面,密钥序列是可控的。加密和解密双方使用相同的种子密钥可以生成完全相同的密钥序列。如果密钥序列完全随机,则意味着密钥序列生成算法的结果是无法控制的。在这种情况下,明文将无法通过解密恢复。此外,加密和解密双方还必须保持密钥序列的准确同步,这是通过解密恢复明文的重要条件。序列密码的优点是安全性高。明文中每个特征的加密是独立的,与明文的其他部分无关。此外,序列密码加密速度快,实时性好;缺点是密钥序列必须严格同步,在实际应用中往往需要付出更高的代价。

7. RC4序列密码

RC4是由RSA Security的Ron Rivest包括无线网络安全算法在内的1987年设计的高速简用于1987年设计的常用协议中SSL/TLS、HTTPS等待安全协议。RC4加密分为两步。

(1)Key-Scheduling Algorithm(KSA)密钥调度算法采用可变长度的加密钥产生密钥流生成器的初始状态。

(2)Pseudo-Random Generation Algorithm(PRGA)伪随机密码生成算法,根据初始状态产生密钥流,与明文或密文不同。

RC4采用的是XOR运算,一旦子密钥序列出现了重复,密文就有可能被破解。存在部分弱密钥,使子密钥序列在不到100 B内就出现重复。如果出现部分重复,则可能在不到10万字节内就能发生完全重复。因此,在使用RC4必须对加密钥进行安全测试,以避免弱密钥问题。

   
  • 评论列表:
  •  痴者珞棠
     发布于 2022-05-29 19:53:04  回复该评论
  • 6 bit参与DES运算(8、16、24、32、40、48、56bit是验证位,使每个密钥都有奇数1)分组后的明文组和56 bit密文组的加密方法是通过位置替换或交换密
  •  拥嬉沐白
     发布于 2022-05-29 19:39:06  回复该评论
  • 有密文将无法解密,有时也被称作后向安全(Backward Security)。(5)密钥的生成:OTP需要生成大量的随机数,计算机程序生成的伪随机数往往不能满足需求,而真正的无重现随机数很难生成。因此,在实际应用中,流密码的安全性主要取决于主控密钥K保密性和密钥流发生器的可靠性。密钥序列生成
  •  断渊铃予
     发布于 2022-05-29 18:55:52  回复该评论
  • 无法通过解密恢复。此外,加密和解密双方还必须保持密钥序列的准确同步,这是通过解密恢复明文的重要条件。序列密码的优点是安全性高。明文中每个特征的加密是独立的,与明文的其他部分无关。此外,序列密码加密速度快
  •  夙世沐白
     发布于 2022-05-29 20:10:23  回复该评论
  • stel它是一种用于分组加密过程中多次循环迭代的结构,可以有效提高安全性。在每个循环中,适当的变换可以通过使用从初始密钥中衍生出来的特殊函数来应用。Feistel加密算法的输入将分组的明文
  •  拥嬉二奴
     发布于 2022-05-29 21:22:00  回复该评论
  • 5. 分组加密标准AES19974月15日,美国ANSI发起征集AES(Advanced Encryption Standard)为此设立了活动AES工作小组。19979月12日

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.