美文网首页
Cryptography Base

Cryptography Base

作者: JohnRykZen | 来源:发表于2019-06-28 14:52 被阅读0次

    0x00:

        本文叙述了基本的加密方式以及常见的加密手段,没有复杂的理论适合入门和知识补充。作为概括并没有太深入具体地讲解,目的可以是形成概念,整体的大致的认识。    


    加密的分类:

    ​ 出于某种叙述的目的,这里将其分为一下四种主要类型:

    ​ 对称加密(Symmetric Encryption)

    ​ 非对称加密(Asymmetric Encryption)

    ​ 哈希(Hashes)

    无线加密(Wireless Cryptography)

    三种加密

    关于密钥长度:

    ​     对于加密来说密钥长度(key size)是不可忽视的一个因素。通常在相同的加密算法中,密钥越长,加密越强。比如AES-256会比AES-128更强,更难以被破解。

    但是,对于不同种的加密算法来说并不意味着密钥长度越大,加密就越strong. 加密的强度是基于加密的算法实现和密钥长度两者共同来衡量的。

    对称加密:

        对称加密中,发送方和接收方使用的是相同的密钥。发送方和接收方手里拿的都是同一把钥匙,发送方用它加密数据,然后发送给接收方,接收方用它解密数据。反过来也是可以的。

    对称加密的速度是很快的。非常适合用于大容量存储或流媒体应用程序。对称加密的缺点在于,它需要经过一个过程,我们称之为密钥交换(The key exchange)。如果使用对称加密的双方需要用到的是同一把钥匙,那么它们就需要一个中间过程来交换它们的钥匙,这就是这种加密方式的弱点所在。

    想象一下两个相隔12000英里的人,它们如何交换它们之间的密钥?无论你是使用电话、信件、email抑或是面对面......都无法避免一个问题就是,在交换信息的过程中可能会被拦截,被窃取。因此导致到你的整个加密的保密性变得受质疑的,变得毫无意义。

    下面是一下你应该熟悉的常见对称加密算法:

        DES:

        Data Encryption Standard 数据加密标准, 这是一种原始且古老的加密方式。由IBM公司开发。这种加密方式已经被发现出弱点了,而且容易被破解。这种加密被用在早期的Windows2000以前的版本的系统的原始的密码系统LANMAN hashes中。

        3DES:

        这种加密算法相当于是DES的增强版本。3DES中运用三次DES加密。它比DES要稍微安全一些。

        AES:

        Advanced Encryption Standard 高级加密标准并不是一种特定的加密算法,而是由NIST制定的一个加密标准,这被看作是最强健的加密方式。使用128-,196-,或256-bit 的密钥,至2001年以来一直是以Rijndael算法为主。被用在WPA2,SSL/TLS等许多重视保密性和速度的协议中

        RC4:

        这是一种流加密算法(加密每一字节中的每一个比特位,而不是整个信息块的加密)由Ronald Rivest开发,被用在 VoIP 和 WEP 加密中

        Blowfish:

        这是第一种Bruce Schneier加密算法。它使用可变长密钥,十分安全。它是not patented的,可以被自由使用。

    地址:https://www.schneier.com/blowfish.html

        Twofish:

        这是Blowfish加密的加强版本。使用128-或256-bit的密钥,是AES强有力的竞争者。被用在Cryptcat 和 OpenPGP等。同样的可以被大众使用无需授权。

    非对称加密:

        非对称加密中的通信双方使用的是不同的密钥。非对称加密的速度相比起对称加密来说十分的慢。因此我们不把它用在大量数据的加密或信息流通信中。这种加密方式恰好解决了密钥交换的问题。

    非对称加密主要用在当双方互不认识,想要交换一些微小的信息诸如密钥或其它认证信息如:证书。由于加密速度的限制一般不会用于大量数据的加密中。

    下面是一些你应该了解的非对称加密:

    Diffie-Hellman模型:

        在密码学领域很多人都把Diffie-Hellman密钥交换过程视为密码学最伟大的发明。没有复杂的数据公式,Diffie和Hellman开发了一种不需要交换密钥的生成密钥的方式,从而解决了对称加密中交换密钥的问题。

    一张图清晰描绘了非对称加密的思想

        RSA:

        Rivest, Shamir, and Adleman是一种非对称加密方案,它使用非常大的素数的因子分解作为两个密钥之间的联系。

        PKI:

        Public key infrastructure 公钥基础设施。是一种被广泛应用的使用公私钥交换凭证信息的非对称加密系统

        ECC:

        Elliptical curve cryptography 椭圆曲线加密。随着计算能力的提升,在移动设备中越来越受欢迎。对于相同安全性级别的其它方式,它只需要更小的计算能力以及能耗。ECC依赖于两个函数在同一椭圆曲线上的共享关系。

        PGP:

        Pretty Good Privacy 使用非对称加密计算来保证email信息的私密性和完整性。

    Hashes:

        Hashes是一种加密方式。一条信息或密码通过一种不可逆的方式被加密。信息会被加密成一条唯一的hash散列,从散列我们无法获得原来信息的内容,只能作为一种原信息的签名。通常这些hashes的长度是固定的(MD5 hash 通常是32 位字符长度)因此是不能把hash的长度不同来用作解密的因素的。因此,我们不需要得到加密前的原始信息,我们只需要看信息通过hash加密后能否生成和已知的相同的hash信息,来检查被加密文件的完整性。

    密码通常是以hash的形式被储存的,当用户试图登录时,系统会拿用户输入的密码进行hash运算,检查运算结果是否与数据库中存储的用户密码的散列信息相一致。因此,即使得到数据库中的hash信息,是不能反推出密码的。

    collision:

        冲突,指的是两个不同的输入经过hash计算后得到的是相同的hash值。这就产生了问题,因为我们的设想是hash函数产生的是一对一的映射,因此我们用它的结果作为原始信息的唯一标识。会产生冲突的哈希算法是有缺陷和不安全的。好的hash函数要求出现碰撞的概率是极低的。

    下面是一些应该熟悉的hash算法:

        MD4:

        一种早期的hash算法,并且由于产生碰撞的问题已经基本停止使用

        MD5:

        应用最广的HashingSystem. 它是128-bit长度的,生成的是一个32位字符长度的信息摘要。由于计算能力的进步,MD5已不像以前那样安全。

        SHA1:

        NSA开发的,比MD5要安全得多。169-bit的信息摘要,以40个十六进制字符呈现。经常被用在SSL的证书交换,但由于最近发现的缺陷,正因此而遭到摒弃。

        SHA2:

        SHA1的改进版本,算法与SHA1类似。比较新,尚未出现对SHA-2有效的攻击

    无线加密:

        由于考虑到速度的原因,无线加密通常是对称加密,像所有的对称加密一样,密钥交换是它的弱点。

        WEP:

        一种原始的无线加密方式,由于存在缺陷已被弃用。使用RC4算法,但由于key size太小了只要24-bit,每5000个数据包中就有一个初始向量IV出现重复,导致它在繁忙的网络中容易遭受攻击。

        WPA:

        是WEP被破解的紧急修复方案。使用更大的key和TKIP算法,让其更难被破解。

        WPA2-PSK:

        采用与共享密钥pre-shared key和AES加密。它使用AP名或SSID为散列加盐。散列在客户端和AP进行身份认证的四次间进行交换。

        WPA2-EnterPrise:

        企业版更加安全,使用128-bit key,AES和一个远程身份认证系统(RADIUS)


    本文作为一篇学习记录分享。

    内容思想和图片整理自Internet,无意侵犯也无意误导如有冒犯请联系删除,如有错漏望多加指正。

    相关文章

      网友评论

          本文标题:Cryptography Base

          本文链接:https://www.haomeiwen.com/subject/fcwscctx.html