精华内容
下载资源
问答
  • 信息加密技术——非对称密码体制
    2021-06-04 09:20:50

    1976年,Diffie与Hellman在IEEE期刊上提出了划时代的公开密钥密码系统的概念,这个观念为密码学的研究开辟了一个新的方向,有效地解决了秘密密钥密码系统通信双方密钥共享困难的缺点,并引进了创新的数字签名的观念。非对称密码系统( asymmetricencryption)可为加解密或数字签名系统。由于加密或签名验证密钥是公开的,故称为公钥(publickey),而解密或签名产生密钥是秘密的,故称为私钥(privatekey)。因为公钥与私钥不同,且公钥与私钥必须存在成对(key pair)与唯一对应的数学关系,使得由公钥去推导私钥在计算上不可行,因此非对称密码系统又称为公开密钥系统或双钥系统。公钥密码体制的公钥密码算法是基于数学问题求解的困难性而提出的算法,它不再是基于替代和置换的方法。

     公钥密码体制的产生主要基于两个原因:

    • 一是为了解决常规密钥密码体制的密钥管理与分配的问题;
    • 二是为了满足对数字签名的需求。因此,公钥密码体制在消息的保密性、密钥分配和认证领域有着重要的意义。

    在公钥密码体制中,公钥是可以公开的信息,而私钥是需要保密的。加密算法E和解密算法D也都是公开的。用公钥对明文加密后,仅能用与之对应的私钥解密,才能恢复出明文,反之亦然。


    公钥密码体制的优缺点:

    • 优点:网络中的每一个用户只需要保存自己的私钥,N个用户仅需产生N对密钥。密钥少,便于管理;密钥分配简单,不需要秘密的通道和复杂的协议来传送密钥。公钥可基于公开的渠道(如密钥分发中心)分发给其他用户,而私钥则由用户自己保管;可以实现数字签名。
    • 缺点:与对称密码体制相比,公钥密码体制的加密、解密处理速度较慢,同等安全强度下公钥密码体制的密钥位数要求多一些。

    公钥密码体制比较流行的主要有两类:

    • 一类是基于因子分解难题的,其中最典型的是RSA密码算法;
    • 另一类是基于离散对数难题的,如EIGamal公钥密码体制和椭圆曲线公钥密码体制。

    RSA密码算法: 

    RSA密码算法是美国麻省理工学院的Rivest,Shamir和Adleman 3位学者于1978年提出的。RSA密码算法方案是唯一被广泛接受并实现的通用公开密码算法,目前已经成为公钥密码的国际标准。它是第一个既能用于数据如密,也能用于数字签名的公开密钥密码算法。在Internet中,电子邮件收、发的加密和数字签名软件PGP就采用了RSA密码算法。

    Diffie Hellman密钥交换算法:


    Diffie和Hellman在1976年发表的论文中提出了公钥密码思想,但没有给出具体的方案,原因在于没有找到单向函数,但在该文中给出了通信双方通过信息交换协商密钥的算法,即Diffie-Hellman密钥交换算法,这是第一个密钥协商算法,只能用于密钥分配,而不能用于加密或解密信息。

     EIGamal 加密算法:


    EIGamal公钥密码体制是由EIGamal在1985年提出的,是一种基于离散对数问题的公钥密码体制。该密码体制既可用于加密,又可用于数字签名,是除RSA密码算法之外最有代表性的公钥密码体制之一。由于EIGamal体制有较好的安全性,因此得到了广泛的应用。著名的美国数字签名标准DSS就是采用了EIGamal 签名方案的一种变形。

     

     信息安全与技术(第二版)

    更多相关内容
  • 对称密码体制与非对称密码体制对称密码体制对称加密算法对称加密算法的优点对称加密算法的缺点常用对称加密算法DES算法3DES算法AES算法国际数据加密算法(IDEA)Blowfish算法RC5加密算法5.8.RC6非对称加密体制非对称...

    对称密码体制

    对称加密算法

    • 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
    • 需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。
    • 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。
    • 因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要。因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题。

    在这里插入图片描述
    对称加密工作流程图
    在这里插入图片描述

    对称加密算法的优点

    • 速度快,处理量大,适用于对应用数据的直接加密。
    • 加密密钥长度相对较短
    • 对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。

    对称加密算法的缺点

    • 对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

    常用对称加密算法

    在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

    DES算法

    1. DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
    2. DES 加密算法是一种分组密码,以 64 位为分组对数据加密,它的密钥长度是56 位,加密解密用同一算法。
    3. DES 加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。这样,只有掌握了和发送方相同密钥的人才能解读由 DES加密算法加密的密文数据。因此,破译 DES 加密算法实际上就是搜索密钥的编码。对于 56 位长度的密钥来说,如果用穷举法 来进行搜索的话,其运算次数为 2 ^ 56 次。

    DES算法中的密钥key为8个字节64位,其中每8位为校验位不参与运算,所以有效密钥只有56位。
    DES采用16轮运算,没轮运算产生一个轮密钥参与到运算中。
    密钥与明文运算时采用的是按位异或的方法。

    3DES算法

    1. DES密钥 太短,被破解的概率非常大,3DES算法替代了DES算法。
    2. 3DES即三重数据加密算法,是基于 DES 的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高。
    3. 3DES的密钥大小为112和168位,相较于DES增加了密钥长度。

    3DES采用了48轮运算,它对于差分密码分析有很强的抵御能力。
    3DES完成加密和解密的时间要比DES长3倍。
    3DES可以在不同模式下运行:

    1. DES-EEE3:使用三个不同的密钥进行加密,数据被加密、加密、再加密;
    2. DES-EDE3:使用3个不同的密钥进行加密,数据被加密、解密、再加密;
    3. DES-EEE2:与DES-EEE3相同,只使用两个密钥,第一个第三个加密过程使用相同的密钥;
    4. DES- EDE2:与DES-EDE3相同,只使用两个密钥,第一个和第三个加密过程使用相同的密钥。
      当数据使用一个对称密钥加密,使用不同的对称密钥解密时,它会变的更加混乱无序。EDE模式第二部其实并没有解密,而是使用了一个不同的密钥进行了一次加密。

    AES算法

    1. AES:密码学中的高级加密标准,又称Rijndael加密法,是美国联邦政府采用的一种区块加密技术。
    2. AES密码与分组密码Rijndael基本上完全一致。
    3. Rijndael分组大小和密钥可以是128、192、256位。AES标准只要求分组大小为128位。(只有分组长度128位的Rijndael才成为AES算法。)
    4. AES 本身就是为了取代 DES的,AES具有更好的安全性、效率和灵活性。
    5. AES总共有3种不同类型的层,除了第一轮外,其它每轮都是由三层组成。
    密钥长度轮数
    128位10轮
    192位12轮
    256位14轮

    国际数据加密算法(IDEA)

    • 国际数据加密算法是一种分组密码,它处理64位数据分组。64位大小的数据分组划分为16个更小的分组,每个小分组都执行8轮数学函数运算。
    • IDEA的密钥长度128位。
    • IDEA算法提供了与DES类似的模式,但由于密钥更长它比DES更难破解。
    • 软件实现中IDEA比DES更快。

    Blowfish算法

    • Blowfish算法是一种分组密码,它处理64位数据分组。
    • Blowfish的密钥长度32~448位。
    • Blowfish数据分组要经过16轮加密函数运算得到密文。
    • Blowfish的设计目的是替代过时的DES。

    RC5加密算法

    • RC5算法是一种分组密码,其参数(分组大小、密钥长度、运行轮数)都是可变的。
    • RC5算法分组大小通常为32、64、128位,密钥长度可达2048位,加密和解密的轮数最高可达255轮。

    5.8.RC6

    • RC6是在RC5基础上构建的分组密码,它的所有属性与RC5相同。
    • rc5-w/r/b或者RC5-32/12/16:w=字长,单位(位),长度位16、32、64位;r=轮数,r值介于0~255之间;b=位数(字节数)

    非对称加密体制

    非对称加密算法

    • 非对称加密算法是一种密钥的保密方法。
    • 非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。如果用私钥对数据进行加密,只有对应的公钥才能进行解密。
    • 因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 也叫公开密钥加密算法。
    • 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。
    • 另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验签。(这就是数字签名的过程,用来验证用户的不可否认性。)
    • 甲方只能用其私钥解密由其公钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。

    在这里插入图片描述

    非对称加密算法的优点

    • 非对称加密体系不要求通信双方事先传递密钥或有任何约定就能完成保密通信,并且密钥管理方便,可实现防止假冒和抵赖,因此,更适合网络通信中的保密通信要求。

    非对称加密算法的缺点

    • 非对称加密的加解密速度比对称加密低100~1000倍。

    常用的非对称加密算法

    • RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
    • 使用最广泛的是RSA算法,Elgamal是另一种常用的非对称加密算法。

    RSA算法

    简介:
    RSA 是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即公钥,而两个大素数组合成私钥。公钥是可发布的供任何人使用,私钥则为自己所有,供解密之用。
    运算速度:
    由于进行的都是大数计算,使得 RSA 最快的情况也比 DES 慢上好几倍,无论是软件还是硬件实现。速度一直是 RSA 的缺陷。一般来说只用于少量数据加密。RSA 的速度是对应同样安全级别的对称密码算法的1/1000左右。
    比起 DES 和其它对称算法来说,RSA 要慢得多。实际上一般使用一种对称算法来加密信息,然后用 RSA 来加密比较短的公钥,然后将用 RSA 加密的公钥和用对称算法加密的消息发送给接收方。
    这样一来对随机数的要求就更高了,尤其对产生对称密码的要求非常高,否则的话可以越过 RSA 来直接攻击对称密码。
    攻击面:

    1. 针对 RSA 最流行的攻击一般是基于大数因数分解。1999年,RSA-155 (512 bits) 被成功分解,花了五个月时间(约8000 MIPS 年)和224 CPU hours 在一台有3.2G 中央内存的 Cray C916计算机上完成。
    2. 量子计算里的秀尔算法能使穷举的效率大大的提高。由于 RSA 算法是基于大数分解 (无法抵抗穷举攻击),因此在未来量子计算能对 RSA 算法构成较大的威胁。一个拥有 N 量子位的量子计算机,每次可进行2^N 次运算,理论上讲,密钥为1024位长的 RSA 算法,用一台512量子比特位的量子计算机在1秒内即可破解。

    DSA算法

    简介:
    DSA (Digital Signature Algorithm) 是 Schnorr 和 ElGamal 签名算法的变种,被美国 NIST 作为 DSS (DigitalSignature Standard)。 DSA 是基于整数有限域离散对数难题的。
    简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名,如果数据和签名不匹配则认为验证失败。数字签名的作用就是校验数据在传输过程中不被修改,数字签名,是单向加密的升级。
    数字签名原理:
    在这里插入图片描述

    ECC算法

    简介:
    椭圆加密算法(ECC)是一种公钥加密算法,最初由 Koblitz 和 Miller 两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成 Abel 加法群上椭圆离散对数的计算困难性。公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。
    主要优势:
    安全性高:在某些情况下它比其他的方法使用更小的密钥 (比如 RSA),提供相当的或更高等级的安全。ECC 的另一个优势是可以定义群之间的双线性映射,基于 Weil 对或是 Tate 对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。
    ECC 被广泛认为是在给定密钥长度的情况下,最强大的非对称算法,因此在对带宽要求十分紧的连接中会十分有用。
    处理速度快,在私钥的加密解密速度上,ECC 算法比 RSA、DSA 速度更快,存储空间占用小,带宽要求低。

    一个缺点是 加密和解密操作 的实现比其他机制 时间长 (相比 RSA 算法,该算法对 CPU 消耗严重)。

    DH算法

    DH,全称为"Diffie-Hellman",它是一种确保共享 KEY 安全穿越不安全网络的方法,也就是常说的密钥一致协议。由公开密钥密码体制的奠基人 Diffie 和 Hellman 所提出的一种思想。简单的说就是允许两名用户在公开媒体上交换信息以生成"一致"的、可以共享的密钥。也就是由甲方产出一对密钥 (公钥、私钥),乙方依照甲方公钥产生乙方密钥对 (公钥、私钥)。
    以此为基线,作为数据传输保密基础,同时双方使用同一种对称加密算法构建本地密钥 (SecretKey) 对数据加密。这样,在互通了本地密钥 (SecretKey) 算法后,甲乙双方公开自己的公钥,使用对方的公钥和刚才产生的私钥加密数据,同时可以使用对方的公钥和自己的私钥对数据解密。不单单是甲乙双方两方,可以扩展为多方共享数据通讯,这样就完成了网络交互数据的安全通讯。

    比特币钱包公钥的生成使用了椭圆曲线算法,通过椭圆曲线乘法可以从私钥计算得到公钥, 这是不可逆转的过程。

    SM1、SM2、SM4算法

    • SM1、SM4是国内主流的国密算法。
    • SM1的算法并未被公开,仅知道其密钥长度为128位,加密强度与AES相当,调用该算法时,需要通过加密芯片的接口进行调用。
    • SM1加密与硬件相关,密钥随机数从硬件计算得来。常用来做小额支付、门禁等随身小件的加密。
    • SM2算法结构基于椭圆曲线算法,在国内用于替代RSA和ECC加密算法。
    • SM2算法常用于国内金融体系中的签名和验证。
    • SM4算法的算法结构是基本轮结构加迭代、含非线性迭代
    • SM4分组长度和密钥长度都为128位,计算轮数位32轮。

    非对称加密算法应用场景

    1. 信息加密 收信者是唯一能够解开加密信息的人,因此收信者手里的必须是私钥。发信者手里的是公钥,其它人知道公钥没有关系,因为其它人发来的信息对收信者没有意义。
    2. 登录认证 客户端需要将认证标识传送给服务器,此认证标识 (可能是一个随机数) 其它客户端可以知道,因此需要用私钥加密,客户端保存的是私钥。服务器端保存的是公钥,其它服务器知道公钥没有关系,因为客户端不需要登录其它服务器。
    3. 数字签名 数字签名是为了表明信息没有受到伪造,确实是信息拥有者发出来的,附在信息原文的后面。就像手写的签名一样,具有不可抵赖性和简洁性。
    • 简洁性:对信息原文做哈希运算,得到消息摘要,信息越短加密的耗时越少。
    • 不可抵赖性:信息拥有者要保证签名的唯一性,必须是唯一能够加密消息摘要的人,因此必须用私钥加密 (就像字迹他人无法学会一样),得到签名。如果用公钥,那每个人都可以伪造签名了。
    1. 数字证书 问题起源:对1和3,发信者怎么知道从网上获取的公钥就是真的?没有遭受中间人攻击? 这样就需要第三方机构来保证公钥的合法性,这个第三方机构就是 CA (Certificate Authority),证书中心。 CA
      用自己的私钥对信息原文所有者发布的公钥和相关信息进行加密,得出的内容就是数字证书。
      信息原文的所有者以后发布信息时,除了带上自己的签名,还带上数字证书,就可以保证信息不被篡改了。信息的接收者先用
      CA给的公钥解出信息所有者的公钥,这样可以保证信息所有者的公钥是真正的公钥,然后就能通过该公钥证明数字签名是否真实了。

    非对称加密算法和对称加密算法区别

    • 首先,用于消息解密的密钥值与用于消息加密的密钥值不同;
    • 其次,非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方面,非对称加密算法却具有对称密码难以企及的优势。
    1. 对称算法
      密钥管理:比较难,不适合互联网,一般用于内部系统
      安全性:中
      加密速度:快好 几个数量级 (软件加解密速度至少快 100 倍,每秒可以加解密数 M 比特 数据),适合大数据量的加解密处理
    2. 非对称算法
      密钥管理:密钥容易管理
      安全性:高
      加密速度:比较慢,适合 小数据量 加解密或数据签名

    散列算法比较

    名称安全性速度
    SHA-1
    MD5

    对称加密算法比较

    名称密钥名称运行速度安全性资源消耗
    DES56位较快
    3DES112位或168位
    AES128位、192位、256位

    非对称加密算法比较

    名称成熟度安全性运算速度资源消耗
    RSA
    ECC

    常见的签名加密算法

    数字签名

    1. 数字签名相当于现实世界中的盖章、签字的功能,使用数字签名可以识别篡改和伪装,还可以防止否认。
    2. 数字签名可以解决发送者的认证问题,而且,数字签名还具有不可抵赖性。数字签名的原理也非常简单,其实就是将非对称加密反过来用。我们知道,非对称加密是用公钥加密,然后用私钥解密。而数字签名则是用私钥加密,生成的密文就是数字签名,再用公钥解密。用私钥进行加密这一行为只能由持有私钥的人完成,正是基于这一事实,才可以将用私钥加密的密文作为签名来对待。而由于公钥是对外公开的,因此任何人都可以用公钥进行解密,即任何人都能够对签名进行验证。
    3. 非对称加密本身加密和解密是非常慢的,消息越长,性能越慢,因此,一般不用来加密和解密长消息。同样的,一般也不会直接对长消息签名,通常的做法是对消息的散列值进行签名,因为散列值比较短,所以加密签名相对就会快很多。因此,你会看到数字签名有类似 MD5withRSA、SHA1withRSA 这样的实现。
    4. MD5withRSA 和 SHA1withRSA 这样的数字签名实现可以校验消息完整性、对发送者进行认证、还可防止抵赖,但却不能解决机密性的问题,不要妄想用一种密码技术就能解决所有问题。
    5. 数字签名其实不太适合直接用在客户端上。因为客户端要对消息签名,那么客户端就需要保存私钥,那依然有私钥的安全配送和存储问题。数字签名使用最广泛的应该就是用在数字证书上了,这还涉及到 SSL/TLS 和 CA 等,后面的文章再聊这个话题。

    MD5算法

    MD5 用的是 哈希函数,它的典型应用是对一段信息产生 信息摘要,以 防止被篡改。严格来说,MD5 不是一种 加密算法 而是 摘要算法。无论是多长的输入,MD5 都会输出长度为 128bits 的一个串 (通常用 16 进制 表示为 32 个字符)。

    SHA1算法

    SHA1 是和 MD5 一样流行的 消息摘要算法,然而 SHA1 比 MD5 的 安全性更强。对于长度小于 2 ^ 64 位的消息,SHA1 会产生一个 160 位的 消息摘要。基于 MD5、SHA1 的信息摘要特性以及 不可逆 (一般而言),可以被应用在检查 文件完整性 以及 数字签名 等场景。

    HMAC算法

    HMAC 是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code),HMAC 运算利用哈希算法 (MD5、SHA1 等),以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
    HMAC 发送方和接收方都有的 key 进行计算,而没有这把 key 的第三方,则是无法计算出正确的散列值的,这样就可以防止数据被篡改。
    HMAC 算法实例在多线程环境下是不安全的。但是需要在多线程访问时,进行同步的辅助类,使用 ThreadLocal 为每个线程缓存一个实例可以避免进行锁操作。

    展开全文
  • 密码学发展简史 密码学:保障信息安全的核心基础。源于保密通信技术,分为密码编码学(设计密码)和密码分析学(攻击密码系统)。 算法和传递秘钥的方式是影响...它是一种替换加密的技术,明文中的所有字母都在字母...

    密码学发展简史

    密码学:保障信息安全的核心基础。源于保密通信技术,分为密码编码学(设计密码)和密码分析学(攻击密码系统)。
    算法传递秘钥的方式是影响保密程度的关键。

    密码学发展经历了以下三个阶段:

    • 古典密码时期
    • 近代密码时期
    • 现代密码时期

    古典密码时期(古代到19世纪末)

    密码学发展的手工阶段
    经典案例:棋盘密码、凯撒密码、栅栏密码

    凯撒密码

    它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
    在这里插入图片描述

    • 凯撒密码的通用形式C=E§=p+k mod 26的有效密钥空间实际为多大?
      因为k=0(相当于不加密)是肯定不能使用的,所以实际使用时,真正有效的空间是25。这与理论上的空间不同,因为理论上主要在考虑空间的大小或规模,这与描述算法复杂度的道理类似。所以理论上的密钥空间是26,而实际真正能用的有效的、可用的只有25个

    同余式:假设a和b均为整数,m是一正整数。若m整除b-a则:a≡b(mod m)

    放射密码

    字母系统中所有字母都藉一简单数学方程加密,对应至数值,或转回字母。
    加密函数:y≡(ax+b)mod26。

    棋盘密码

    密码是明文,密文便是字母的坐标。例:HELLO,加密后就是23 25 31 31 34
    在这里插入图片描述

    栅栏密码

    把将要传递的信息中的字母交替排成上下两行。再将下面一行字母排在上面一行的后边,从而形成一段密码。
    例如:
    明文:THE LONGEST DAY MUST HAVE AN END
    加密:
    1、把将要传递的信息中的字母交替排成上下两行。
    T E O G S D Y U T A E N N
    H L N E T A M S H V A E D
    2、将下面一行字母排在上面一行的后边。
    TEOGSDYUTAENN HLNETAMSHVAED

    近代密码时期(20世纪初期到20世纪五50年代末)

    采用电报机发送加密信息。
    该时期的著名密码:弗纳姆密码、Enigma密码。

    弗纳姆密码(一字一密)

    一次一密:通过真随机数生成器得到秘钥序列,只有合法的通信方才知道秘钥序列,秘钥序列位仅使用一次。
    按递增顺序把每个明文字母作为一个数字,对输入明文的每一个字母做相同的处理,将明文中的每一个字母和秘钥中的对应字母相加,如果得到的和大于26则从中减去26,将和化为字母从而得到密文。

    Enigma密码机

    在这里插入图片描述

    前述密码的技术共同点:

    • 代换技术:明文被代换或代替为其他内容。
    • 置换技术:改变明文字符的相对位置。

    代换+置换:密码编码学的核心技术

    现代密码时期(从20世纪50年代至今)

    利用计算机技术实现加解密过程。
    1976年,提出公钥密码体制思想,成为密码学发展史上的重要里程碑。

    著名密码:

    • 对称密码:DES(1977年)->AES(2001年)
    • 非对称密码:RSA(1978)->ECC(1985年)
    • 其他对称:3DES、IDEA、BlowFish等
    • RC系列:RC2、RC4、RC5等

    现代密码学的主要内容:
    在这里插入图片描述

    密码体制的基本组成及分类

    在这里插入图片描述
    一个密码体制由五个部分组成:

    • 明文空间M:全体明文m的集合
    • 密文空间C:全体密文c的集合,m可以=c
    • 密钥空间K:全体秘钥k的集合(不止一个)
      密钥k由加密密钥ke和解密密钥kd组成,即k=(ke,kd)
    • 加密算法E:是在密钥控制下将明文M对应到C的一种变换,即c=E(ke,m)
    • 解密算法D:是在密钥控制下将密文消息从C对应到M的一种变换,相当于加密的逆变换,即m=D(kd,c)

    根据加、解密密钥使用策略不同,可将密码体制分为对称密码体制和非对称密码体制

    • 如果一个密码体制中的加密密钥ke和解密密钥kd相同,或者由其中一个密钥很容易推算出另一个密钥,则成为对称密码体制或单钥密码体制。
    • 如果在计算上由加密密钥ke不能推出解密密钥kd,隐藏可以将ke公开,这种密码体制也被称为公钥密码。

    密码体制设计原则

    密码学的基本目的就是保障不安全信道上的通信安全

    衡量密码体制安全性的方法
    计算安全性:一种密码系统最有效的攻击算法至少是指数时间的
    可证明安全性:如果密码体制的安全性可以归结为某个数学问题,则称其是可证明安全的
    无条件安全性:假设存在一个具有无限计算能力的攻击者,如果密码体制无法被这样的攻击者攻破,则称其为无条件安全。

    一个使用的密码体制的设计应该遵守以下原则:
    密码算法安全强度高:攻击者根据截获的密文或某些已知明文密文对,要确定密钥或者任意明文在计算上不可行
    密码体制的安全性不应该依赖加密算法的保密性,而应取决于可随时改变的密钥
    密钥空间应该足够大:试图通过穷举密钥空间进行搜索的方式在计算上不可行
    既易于实现又便于使用:加密函数和解密函数都可以高效的计算

    密码编码学特征:
    加密运算方式不同:代换、置换、乘积
    密钥数量不同:私钥、公钥
    处理明文的方式不同:块密码(分组密码)、流加密

    密码体制常见的攻击形式:
    穷举攻击:又称蛮力攻击,指攻击者依次尝试所有可能的密钥对所截获的密文进行解密,直至得到正确的明文
    统计分析攻击:通过分析密文和明文的统计规律来破以密码,抵抗统计分析的方式是在密文中消除明文的统计特性
    数学分析攻击:针对加密算法的数学特征和密码学特征,通过数学求解的方法设法找到相应的解密变换,对抗这种攻击,应该选用具有坚实的数学基础和足够复杂的加密算法

    密码分析攻击的类型:
    密码攻击和解密的相似之处在于都是设法将密文还原成明文的过程
    根据密码分析者可获取的信息量的不同,密码分析攻击主要有:
    唯密文攻击

    已知明文攻击
    选择明文攻击
    选择密文攻击

    英文中的统计频率分析:
    单个字母: E,T,A,O,I,N,S……
    两个字母:ON,AS,TO,AT,IT……
    三个字母:THE,AND,FOR,WAS……

    分组密码

    分组密码:是将明文消息编码后的序列划分成固定大小的组,名族明文分别在秘钥的控制下变成等长的密文序列
    分组密码的基本原理:扩散和混淆,为了抵抗攻击者对密码体制的统计分析
    扩散:让铭文中的每一位及秘钥中的每一位能够影响密文中的许多位,隐蔽明文的统计特性从而增加密码的安全性
    混淆:将密文与明文、密钥之间的统计关系变得尽可能复杂,使用复杂的
    非线性代替变换
    可以达到比较好的混淆效果

    乘积密码体制:乘积密码就是扩散和混淆两种基本密码操作的组合变换,产生比各自单独使用时更强大的密码系统,通过乘积和迭代可以取得比较好的扩散和混淆的效果。

    DES其分组长度为64位,其密钥长度也为64位(含8位奇偶校验位,故实际密钥长度为56位

    DES加密算法的结构流程
    在这里插入图片描述

    分组密码的工作模式分析

    DES的工作模式四种:
    电子秘本(ECB)
    密码分组链接(CBC)
    密文反馈(CFB)
    输出反馈(OFB)

    电子密本(ECB)

    一个明文分组加密成一个密文分组(适合数据较少的情况)
    优点:并行处理、效率高
    缺点:不太适合加密长消息,尤其结构化数据,结构特征可被利用于破译
    若Ci发生错误,对接收端解密出的Pi分组造成影响,不会对其他分组造成影响。

    密文分组链接(CBC)

    明文被加密之前要与前面的密文进行异或运算,解密时要进行逆向操作,虽然强度得到提升,但易引起错误扩散,正因为关联性问题。但错误分组的第二个分组之后的分组不会受影响,所以CBC模式自恢复的,CBC模式下,整个数据分组在接收完成后才进行解密。
    优点:安全性强度提升,适用于加密>=64bit
    缺点:关联性问题引起错误扩散,但错误的扩散是有限的
    若Ci发生错误,则Pi和Pi+1的分组造成影响,影响两个分组解码的错误。
    CBC安全问题

    • IV(初始向量)和key都需要保护
    • 攻击者在密文尾部增加一些分组使解密后尾部混乱,故需要组织好明文的结束位置
    • 攻击者改变一个密文分组,控制其余解密的明文分组,故需要控制冗余和鉴别

    ECB和CBC共同的问题:加密、解密都只有当一个完整的分组到达之后才可以进行

    密文反馈模式(CFB)

    自同步序列密码原理在分组密码中的应用,可以加密于小于分组的单元,一种流密码模式。
    优点:数据可以对较小的分组单元进行加密,起到了加强加密的作用
    CFB模式明文的一个错误将影响所有后面的密文以及在解密过程中的逆
    密文里一位错误会引起铭文的一个单独错误,并且会小范围错误扩散
    若Ci发生错误,Pi错误,Pi+1错误,其他都是正确的。

    输出反馈模式(OFB)

    OFB需要避免CFB的错误传播
    OFB与CFB类似,OFB用加密函数的输出填充移位寄存器,而CFB用密文单元来填充移位寄存器
    优点:密钥流与明文无关,可以提前生成;OFB没有错误扩散,密文单个错误只引起恢复明文的单个错误
    缺点:很难并行,抗消息流篡改攻击能力不足CFB,密文某位取反,则明文相应位取反,攻击者容易控制;需要严格同步,如果加密端和解密端移位寄存器不同,那么恢复的明文将无法使用
    若Pi错误,Ci错误,其他都正确,若Ci错误,仅Pi错误
    可以将移位寄存器改成随机数生成,只要能够控制随机数生成就不需要一直反馈,而且还可以保证相同的明文算出不同的密文

    应用:数字化模拟传输、数字化声音和视频、可以容忍单位错误,但不能容忍扩散错误

    展开全文
  • 密码学之对称密码体制

    千次阅读 2019-09-04 13:42:50
    对称密码体制加密密钥与解密秘钥相同的密码体制,这种体制只要加密(或解密)算法,就可以反推出解密(或加密)算法 对称密码体制可以分为分组密码和流密码 古典密码是现代密码的基础,包含着密码处理的基本单元,...

    对称密码体制:加密密钥与解密秘钥相同的密码体制,这种体制只要加密(或解密)算法,就可以反推出解密(或加密)算法

    对称密码体制可以分为分组密码和流密码

    古典密码是现代密码的基础,包含着密码处理的基本单元,历史上经典的对称密码体制都采用了替代、置换

    替代:将明文中每个元素映射为另一个元素(可以看成是一个大的查表运算),明文元素被其他元素所替代而形成密文

    置换:换位,改变明文消息中各元素的排列位置,但明文消息元素本身的取值或内容不变。

    近现代密码技术常将替代和置换两种技术结合起来一起使用,使得密码很难破解

    接下来是介绍几种有代表性的古典密码及加密运算思想,以及一些破译方法

    • 移位密码
      移位密码是一种简单的一种密码体制,也称凯撒密码,移位密码将英文字母向前移动k位,假设k=3,则密文字母与明文有如下关系:

    明文:y 0 u t h
    密文:b r x w k(将明文每个字母前移3位)

    移位密码的明文空间(M)、密文空间(C)、秘钥空间(Km)都满足Z26,就表示模26的余数集合

    加密变换:Ek(m)=m+(kmod26) m属于M,k属于K
    解密变换:Dk(c) =c-(kmod26) c属于C,k属于K

    缺点:利用穷举法可以将密文解密
    轮转可以很好解密密文

    • 一般单表替代密码
      一般单表替代密码是通过建立一张“明文-密文”对照表来实现加密方法,这样明文消息中每个字母就不是移动相同的位数,而是根据某张字符对照表进行替换
    明文abc
    密文qwe

    这样可以很好的解决破译者使用枚举方法进行破解
    但是破译者可以通过统计分析来破解

    • 仿射密码
      仿射密码对移位密码是一种改进,明文空间和密文空间与移位密码相同,但秘钥空间K={(k1,k2)|k1,k2属于Z26,gcd(k,26)=1}
      c=Ek(m)=(k1m+k2)mod26
      m=Dk(c )=k1^-1(c-k2)mod26
      k1k1^-1=1mod26
      在抗枚举攻击方面比移位密码要好一点
    • 秘钥短语密码
      秘钥短语密码选用一个英文短语或单词串作为秘钥,先去掉其中重复的字母,得到一个无重复的字母字符串,然后再将英文字母表中的其他字母依次写于该字母串后,就可以构造出一个字母代替表。

    在这里插入图片描述

    移位密码、一般单表替代密码、仿射密码、秘钥短语密码都属于单表替代密码

    单表替代密码:明文字符和密文字符是一对一的映射关系

    在这里插入图片描述

    • 维吉尼亚密码
      改密码体制有一个参数n,表示采用n位长度的字符串(例如一个英文单词)作为秘钥。在加解密时,同样把英文字母映射成0~25的数字在进行运算,并按n个字母一组进行变换。明文空间、密文空间、秘钥空间都是长度为n的英文字母串的集合。

    在这里插入图片描述
    破解维吉尼亚密码的基本思想:分解为多个单表替代密码组合,再分别统计分析就可以轻松破解,也不能抵抗明文攻击

    • 希尔密码
      利用矩阵进行加密
      设明文对应的数字为7、8、11、11,密文对应的数字为1、3、1、4
      在这里插入图片描述
    • 置换密码
      变换明文中各元素的对应位置(即对各元素换位),但保持其内容不变的方法。即通过对明文元素的重新排列来达到隐藏明文原始内容所表达含义的加密方法方法

    在这里插入图片描述

    在这里插入图片描述
    维吉尼亚密码、希尔密码都是多表替代密码,使用从明文到密文多个映射来隐藏单字母出现的频率。多表替代密码将明文字母串划分成为长度相同的消息单元,称为明文分组。对明文分组进行成组的替代,即使用了多张字母替代表
    在这里插入图片描述

    展开全文
  • 对称密码体制

    千次阅读 2019-10-17 14:23:53
    在非对称密码体制中,公钥和私钥都可以用于加密与解密操作,公钥加密则需要私钥解密,私钥加密则需要公钥解密。非对称密码体制的主要优点是可以适应开放性的使用环境,可以方便安全的实现数字签名和验证。除此之外...
  • 对称密码体制 公钥密码体制 对称密码体制 分组密码的思想:将明文消息编码表示后的数字序列划分为成长为n的组,各组分别在密钥k控制下变换成等长的输出数字序列 DES就是一种分组密码算法,它将明文从算法的一端...
  • 对称加密中,加密与解密涉及到的是同一个工具(密钥),这样虽然方便,但万一这个工具被别人知道,通信就不再安全。非对称加密中,加密解密用的是不同的工具,即公钥和私钥,公钥用来加密,私钥用来解密,公钥和...
  • 对称密码体制基本特征是加密密钥与解密密钥相同。 1.2 对称密码体制的工作流程 在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方...
  • 对称密码体制——RSA

    千次阅读 2019-09-18 16:02:07
    对称密码体制又称为公开密钥系统或双钥系统 基于数学问题——不再是基于置换和替代 两类比较流行的公钥密码体制: 一、基于因子分解难题的,典型的是RSA密码算法 二、基于离散对数难题的,如ElGamal公钥密码体制...
  • 图文详解几种典型加密机制,DES,AES,RSA,ECC等。 迅速读懂密码学基础。 科普向+期末复习。
  • 对称加密与非对称加密

    千次阅读 2022-03-12 15:51:04
    如果直接通过明文传输是非常不安全的,这就需要使用密钥并使用一定的算法对这些明文信息进行加密形成密文后再进行传输,最后接收方对密文进行解密,以获取里面的明文内容,这就涉及到密码学了。 我们先了解几个概念...
  • 对称加密和非对称加密

    千次阅读 2019-09-27 02:12:56
    采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 非对称加密对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥...
  • 对称加密概述

    万次阅读 多人点赞 2018-07-29 16:16:15
    在阅读《精通比特币》的过程中,我发现比特币系统中有两个重要的概念需要利用非对称加密技术: 比特币地址的生成 交易合法性的验证 因此,我用了几天时间学习了密码学基础知识,尤其是非对称加密技术的原理。这里...
  • 按照密钥特征的不同,密码体制分为:对称密码体制和非对称密码体制。  按照对明文加密方式的不同,密码体制分为:流密码和分组密码。  非对称密码体制都是分组密码。  (1)流密码(又称序列密码),在流...
  • 信息安全(三)——对称密码体制

    千次阅读 2019-04-01 13:15:04
    对称密码算法(symmetric cipher): DES(Data Encryption Standard) Triple DES IDEA AES RC5 CAST-128 。。。。。。 分组密码算法(Block Cipher) 特点 明文被分为固定长度的块,即分组,分组一般为64比特,或者...
  • 下文主要从加密算法的特征、常用加密算法和加密工具等方面,梳理和比较对称加密、单向加密和公钥加密的概念及其之间的联系。 对称加密 采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法...
  • 对称密钥体制&RSA加密原理

    千次阅读 2016-12-10 18:58:12
    使用对称密钥加密体制进行保密通信时,任意不同的两个用户之间都应该使用互不相同的密钥。这样,如果一个网络中有n个用户,他们之间彼此都可能进行秘密通信,这时网络中将需要n(n-1)/2个密钥(其中,每个用户都需要...
  • 对称加密基本原理

    千次阅读 2018-03-17 00:52:24
    如果只是单方面采用非对称加密算法,其实有两种方式。 这里我们设定A和B两方。 A和B都拥有自己的一对公钥私钥以及对方发送给自己的公钥。 第一种是签名: A使用自己的私钥加密,B接收到后用A的公钥解密。...
  • 最近在学习密码学,虽然看完了一本很厚的专业书,可是说实话,对里面的内容有很多还是不能理解的。我一直有这种感觉,当你越想快点了解一件事情的时候,你会发现你越是很难掌握它,这也许就是人们常说的”心急吃不了...
  • 对称加密之公钥密码体系 【5】 非对称加密之公钥密码体系 古典密码到现代密码最主要的区别便是密码体系的安全不在依赖于加密算法的安全,而是依赖秘钥的安全。在互联网上通信时,若需要加密需要事先共享秘钥,...
  • (1)在对称密钥体制中,它的加密密钥和解密密钥的密码体制是相同的,  收发方共享密钥(即一个密钥)  对称密码的密钥是保密的,没有密钥,解密就不可能。  知道算法和若干密文不足以确定密钥。 (2)公钥...
  • 加密的基本概念 对称加密基本原理 DES算法的基本原理 分组密码的工作模式 对称密码的密钥管理 对称加密的应用
  • 对称加密:加密(encryption)与解密(decryption)使用的是同样的密钥(secret key)。 比如常见的DES/AES都是属于对称加密算法。 优点:算法公开、计算量小、加密速度快、加密效率高。 缺点:秘钥的管理和分发...
  • 之前整理的都停留在古典密码时代,往后,密码学进入了计算机时代。从计算机时代开始,字母作为操作的最小单元的概念消失了,因为计算机所有的信息都是以二进制的方式存储的。 以往的加密都是对单个字母进行操作,但...
  • 对称密码和公开密钥密码技术

    千次阅读 2021-03-17 09:30:21
    对称密码体制加密密钥和解密密钥是相同的其中最负盛名的是曾经广泛使用的DES和在推行的AES。与公开密钥密码技术相比,其最大的优势就是速度快,一般用于对大量数据的加密和解密。 数据加密标准( Data Encryption ...
  • 最近在工作中涉及到椭圆曲线...网络---Https和Http区别和对称加密和非对称加密)其中大部分图片都是从该文中截图后修改 1.密钥与加密算法之间的关系 这个东西是总被一些人解读的有问题,导致让人区分不开密钥和...
  • 分组密码 算法 基本概念 加密过程

    千次阅读 2015-07-12 18:28:31
    代换,S盒,扩散和混淆,这些概念构成了分组密码学的基础。如果明文和密文的分组长度都为n比特,则明文的每一个分组都有2n个可能的取值;代换:为使加密运算可逆(即解密运算可行),明文的每一个分组都应产生唯一的...
  • 这篇文章主要是针对非对称密码体制中常用的一种算法——RSA算法的加密过程进行分析。
  • 公钥密码体制 特点及相关描述
  • 对称加密---流密码(序列密码)

    千次阅读 2020-06-19 21:16:32
    序列密码又称为流密码,是一类重要的对称密码体制,它一次只对明文消息的单个字符进行加解密变换,具有算法实现简单、速度快、错误传播少等特点。 最近在看对称密码相关的一些基础知识,下面我只写一下我的总结,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,210
精华内容 1,284
关键字:

对称加密体制基本概念