1.作为黑客,我们经常面临密码学和加密的障碍,加密使黑客/攻击者的任务变得更加困难。
2.许多应用程序和协议使用加密来维护数据的机密性和完整性。为了能够破解密码和加密协议(如 SSL 和无线),你至少需要对密码学和加密的概念和术语有基本的了解。
让我们首先将加密分为几类。
个人观点我将它们分为四个主要领域
a.对称加密
b.非对称加密
c.哈希
d.无线
关于密钥大小:
a.在密码学的世界里,大小确实很重要!一般来说,密钥越大,加密越安全。这意味着具有 256 位密钥的 AES 比具有 128 位密钥的 AES 更强大,并且可能更难破解。在相同的加密算法中,密钥越大,加密越强。
b.这并不一定意味着更大的密钥意味着加密算法之间的加密更强。在算法之间,加密的强度取决于算法的细节和密钥大小。
对称密码学
a.对称密码学是我们在发送者和接收者拥有相同密钥的地方。它是最常见的密码学形式。你有一个加密消息的密码或“密钥”,我有相同的密码来解密消息。其他任何人都无法阅读我们的消息或数据。
b.对称密码学速度非常快,因此非常适合大容量存储或流式应用程序。对称密码学的缺点是所谓的密钥交换。如果两端需要相同的密钥,则需要使用第三个通道来交换密钥,这就是弱点所在。如果有两个人想要加密他们的通信并且他们相距 12,000公里,他们如何交换密钥?这种密钥交换充满了他们选择的媒介的保密性问题,无论是电话、邮件、电子邮件、面对面等。密钥交换可以被截获并提供加密的保密性没有实际意义。
你应该熟悉的一些常见的对称算法是:
a.DES - 这是 IBM 开发的最原始和最古老的加密方案之一。它被发现有缺陷且易破解,并在早期(2000 年之前)Windows 系统中用于 LANMAN 哈希的原始哈希系统。
b.3DES - 该加密算法是针对 DES 中的缺陷而开发的。3DES 三次应用 DES 算法(因此称为“三重 DES”),使其比 DES 稍微安全一些。
c.AES - 高级加密标准不是加密算法,而是由美国国家标准与技术研究院(NIST) 开发的标准。目前,它被认为是最强的加密,使用 128、196 或 256 位密钥,自 2001 年起被Rijndael算法占用。它用于 WPA2、SSL/TLS 和许多其他需要保密性和速度的协议重要的。
d.RC4 - 这是一种流式(它加密每个位或字节而不是信息块)密码,由 RSA 的 Ronald Rivest开发。用于 VoIP 和 WEP。
e.Blowfish - Bruce Schneier的第一个加密算法。它使用可变密钥长度并且非常安全。它没有专利,所以任何人都可以在没有许可的情况下使用它。
f.Twofish - 使用 128 位或 256 位密钥的更强大的 Blowfish 版本,是 AES 的有力竞争者。用于Cryptcat和OpenPGP等。它也属于公共领域,没有专利。
非对称密码学
a.非对称加密在通信通道的两端使用不同的密钥。非对称加密非常慢,大约比对称加密慢 1000 倍,因此我们不想将其用于批量加密或流式通信。但是,它确实解决了密钥交换问题。由于我们不需要在通信的两端使用相同的密钥,因此我们没有密钥交换的问题。
b.当我们有两个彼此未知的实体想要交换少量信息(例如密钥或其他识别信息,例如证书)时,主要使用非对称密码术。由于速度限制,它不用于批量或流式加密。
你应该熟悉的一些常见的非对称加密方案是:
a.Diffie-Hellman - 密码学领域的许多人认为Diffie-Hellman 密钥交换是密码学中最大的发展。在没有深入研究数学的情况下,Diffie和 Hellman 开发了一种无需交换密钥即可生成密钥的方法,从而解决了困扰对称密钥加密的密钥交换问题。
b.RSA - Rivest、Shamir 和Adleman是一种非对称加密方案,它使用非常大的素数的因式分解作为两个密钥之间的关系。
c.PKI - 公钥基础设施是广泛使用的非对称系统,用于使用私钥和公钥交换机密信息。
d.ECC - 椭圆曲线密码学在移动计算中变得越来越流行,因为它高效,需要更少的计算能力和能源消耗来实现相同的安全级别。ECC 依赖于同一椭圆曲线上的两个函数的共享关系。
e.PGP - Pretty Good Privacy 使用非对称加密来确保电子邮件的隐私和完整性。
哈希
a.哈希是一种单向加密。消息或密码以无法反转或未加密的方式加密。你可能会想,“对我们有什么好处加密的东西然后不能解密它?”当消息被加密时,它会创建一个“哈希”,该“哈希”成为底层消息的唯一但无法破译的签名。每条消息都以创建唯一哈希的方式加密。通常,这些散列是固定长度的(MD5 散列总是 32 个字符)。这样,攻击者就无法从哈希长度中破译任何有关底层消息的信息。因此,我们不需要知道原始消息,我们只需要查看某些文本是否创建了相同的哈希来检查其完整性(未更改)。
b.这就是为什么哈希可以用来存储密码的原因。密码存储为哈希值,然后当有人尝试登录时,系统会对密码进行哈希处理并检查生成的哈希值是否与已存储的哈希值匹配。此外,散列对于完整性检查很有用,例如文件下载或系统文件。
c.在加密和散列的世界中,“冲突”是两个不同的输入文本产生相同的散列。换句话说,哈希不是唯一的。当我们假设所有哈希都是唯一的(例如在 SSL 中的证书交换中)时,这可能是一个问题。NSA 使用Stuxnet恶意软件中的这种冲突属性为其提供看似合法的 Microsoft 证书。正如你可能猜到的那样,产生冲突的哈希算法存在缺陷且不安全。
d.这些是你应该熟悉的哈希值。
MD4 - 这是 Ron Rivest的早期散列,由于碰撞已在很大程度上停止使用。
MD5 - 使用最广泛的散列系统。它是 128 位的,可生成 32 个字符的消息摘要。
SHA1 - 由 NSA 开发,比 MD5 更安全,但没有广泛使用。它有 160 位摘要,通常以 40 个字符的十六进制呈现。通常用于 SSL 中的证书交换,但由于最近发现的缺陷,因此已被弃用。
无线密码学
a.无线密码学一直受黑客钟爱,因为这里有很多人试图破解无线接入点。正如你可能猜到的那样,无线密码术是对称的(为了速度),并且与所有对称密码术一样,密钥交换至关重要。
b.WEP——这是最初的无线加密方案,很快就被发现存在缺陷。它使用 RC4,但由于密钥大小(24 位)较小,它大约每 5,000 个数据包重复一次 IV,从而可以在繁忙的网络上使用统计攻击轻松破解。
c.WPA - 这是对 WEP 缺陷的快速修复,添加了更大的密钥和 TKIP,使其更难破解。
d.WPA2-PSK - 这是第一个更安全的无线加密方案。它使用预共享密钥 (PSK) 和 AES。然后,它使用 AP 名称或 SSID 对哈希进行加密。哈希值在客户端和 AP 之间的四次握手中在身份验证时交换。
e.WPA2-Enterprise - 这种无线加密是最安全的。它使用 128 位密钥、AES 和远程身份验证服务器 (RADIUS)。
,