精华内容
下载资源
问答
  • 对称密码体制与非对称密码体制对称密码体制对称加密算法对称加密算法的优点对称加密算法的缺点常用对称加密算法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

    对称加密算法比较

    名称 密钥名称 运行速度 安全性 资源消耗
    DES 56位 较快
    3DES 112位或168位
    AES 128位、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 为每个线程缓存一个实例可以避免进行锁操作。

    展开全文
  • 对称密码体制

    2013-12-14 09:50:00
    对称密码体制 PPT
  • 由于对称加密体制的安全性难以保障,在网络安全状况日益严重的情况下,需要有一种强有力的安全加密方法来保护重要的数据不被窃取和篡改,非对称加密体制利用公钥和私钥来解决对称加密体制的安全性的缺点,RSA加密...
  • 对称密码体制和非对称密码体制

    千次阅读 2019-03-24 18:50:00
    一、对称加密(Symmetric Key Encryption) 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛...

    一、对称加密 (Symmetric Key Encryption) 

    对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。自1977年美国颁布DES(Data Encryption Standard)密码算法作为美国数据加密标准以来,对称密码体制迅速发展,得到了世界各国的关注和普遍应用。对称密码体制从工作方式上可以分为分组加密和序列密码两大类。

    对称加密算法的优点:算法公开、计算量小、加密速度快、加密效率高。

    对称加密算法的缺点:交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。而与公开密钥加密算法比起来,对称加密算法能够提供加密和认证却缺乏了签名功能,使得使用范围有所缩小。

    对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。

    分组密码:也叫块加密(block cyphers),一次加密明文中的一个块。是将明文按一定的位长分组,明文组经过加密运算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组,有 ECB、CBC、CFB、OFB 四种工作模式。

    序列密码:也叫流加密(stream cyphers),一次加密明文中的一个位。是指利用少量的密钥(制乱元素)通过某种复杂的运算(密码算法)产生大量的伪随机位流,用于对明文位流的加密。解密是指用同样的密钥和密码算法及与加密相同的伪随机位流,用以还原明文位流。

    常用对称加密算法包括 DES、3DES、AES

    1. DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
    2. 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
    3. AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密。

    算法特征
    1. 加密方和解密方使用同一个密钥。
    2. 加密解密的速度比较快,适合数据比较长时的使用。
    3. 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦。

     

    二、非对称加密(Asymmetric Key Encryption)

    非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

    非对称加密算法的优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。

    非对称加密算法的缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

    对称加密算法相比非对称加密算法来说,加解密的效率要高得多。但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。所以在实际的网络环境中,会将两者混合使用。

    非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法),常见的有RSA、ECC。

     

    三、分组加密的四种工作模式

    1、ECB (Electronic Code Book,电子编码本

    ECB 模式是最简单的加密模式,明文消息被分成固定大小的块(分组),并且每个块被单独加密。每个块的加密和解密都是独立的,且使用相同的方法进行加密,所以可以进行并行计算,但是这种方法一旦有一个块被破解,使用相同的方法可以解密所有的明文数据,安全性比较差。适用于数据较少的情形,加密前需要把明文数据填充到块大小的整倍数。

    ECB算法优点:
    简单、孤立,每个块单独运算。适合并行运算。传输错误一般只影响当前块。
    ECB算法缺点:
    同明文输出同密文,可能导致明文攻击。

    Encryption:

    Decryption:

     

    2、CBC (Cipher Block Chaining, 密码分组链接)

    CBC 模式中每一个分组要先和前一个分组加密后的数据进行XOR异或操作,然后再进行加密。这样每个密文块依赖该块之前的所有明文块,为了保持每条消息都具有唯一性,第一个数据块进行加密之前需要用初始化向量IV进行异或操作。CBC模式是一种最常用的加密模式,它主要缺点是加密是连续的,不能并行处理,并且与ECB一样消息块必须填充到块大小的整倍数。 

    CBC算法优点:
    串行化运算,相同明文不同密文。
    CBC算法缺点:
    需要初始向量。

    Encryption:

     

    Decryption:

     

    3、CFB (Cipher Feedback, 密码反馈)
    CFB 模式和CBC模式比较相似,前一个分组的密文加密后和当前分组的明文XOR异或操作生成当前分组的密文。CFB模式的解密和CBC模式的加密在流程上其实是非常相似的。

    CFB算法优点:
    同明文不同密文,分组密钥转换为流密码。
    CFB算法缺点:
    串行运算不利并行,传输错误可能导致后续传输块错误。

    Encryption:

    Decryption:

     

    4、OFB (Output Feedback, 输出反馈)

    OFB 模式将分组密码转换为同步流密码,也就是说可以根据明文长度先独立生成相应长度的流密码。通过流程图可以看出,OFB和CFB非常相似,CFB是前一个分组的密文加密后XOR当前分组明文,OFB是前一个分组与前一个明文块异或之前的流密码XOR当前分组明文。由于异或操作的对称性,OFB模式的解密和加密完全一样的流程。 

    OFB算法优点:
    同明文不同密文,分组密钥转换为流密码。
    OFB算法缺点:
    串行运算不利并行,传输错误可能导致后续传输块错误。

    Encryption:

     

    Decryption:

     

    转载于:https://www.cnblogs.com/qftm/p/10589517.html

    展开全文
  • 密码体制分为私用密钥加密技术(对称加密)和公开密钥加密技术(非对称加密)。  (一)、对称密码体制 对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加...


    密码体制分为私用密钥加密技术(对称加密)和公开密钥加密技术(非对称加密)。  
    (一)、对称密码体制
    对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。比较典型的算法有DES(Data Encryption Standard数据加密标准)算法及其变形Triple DES(三重DES),GDES(广义DES);欧洲的IDEA;日本的FEAL N、RC5等。DES标准由美国国家标准局提出,主要应用于银行业的电子资金转帐(EFT)领域。DES的密钥长度为56bit。Triple DES使用两个独立的56bit密钥对交换的信息进行3次加密,从而使其有效长度达到112bit。RC2和RC4方法是RSA数据安全公司的对称加密专利算法,它们采用可变密钥长度的算法。通过规定不同的密钥长度,,C2和RC4能够提高或降低安全的程度。
    对称密码算法的优点是计算开销小,算法简单,加密速度快,是目前用于信息加密的主要算法。尽管对称密码术有一些很好的特性,但它也存在着明显的缺陷,包括: l)进行安全通信前需要以安全方式进行密钥交换。这一步骤,在某种情况下是可行的,但在某些情况下会非常困难,甚至无法实现。例如,某一贸易方有几个贸易关系,他就要维护几个专用密钥。它也没法鉴别贸易发起方或贸易最终方,因为贸易的双方的密钥相同。另外,由于对称加密系统仅能用于对数据进行加解密处理,提供数据的机密性,不能用于数字签名。因而人们迫切需要寻找新的密码体制。2)规模复杂。
     
    (二)、非对称密码体制
    非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。公钥密码体制的算法中最著名的代表是RSA系统,此外还有:背包密码、McEliece密码、Diffe_Hellman、Rabin、零知识证明、椭圆曲线、EIGamal算法等。
    非对称密码体制的优点在于:首先,在多人之间进行保密信息传输所需的密钥组和数量很小;第二,密钥的发布不成问题;第三,公开密钥系统可实现数字签名。缺点:公开密钥加密比私有密钥加密在加密/解密时的速度慢。
    从上述对对称密钥算法和非对称密钥算法的描述中可看出,对称密钥加解密使用的同一个密钥,或者能从加密密钥很容易推出解密密钥;②对称密钥算法具有加密处理简单,加解密速度快,密钥较短,发展历史悠久等特点,非对称密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。

    展开全文
  • 对称密码体制.

    2013-01-24 15:10:05
    信息安全 对称密码体制.
  • 对称密码体制(symmetricencryption)也称为秘密密钥密码体制、单密钥密码体制或常规密码体制,其模型如图3-4所示。如果一个密码算法的加密密钥和解密密钥相同,或者由其中一个很容易推导出另一个,该算法就是对称密码...

    对称密码体制(symmetricencryption)也称为秘密密钥密码体制、单密钥密码体制或常规密码体制,其模型如图3-4所示。如果一个密码算法的加密密钥和解密密钥相同,或者由其中一个很容易推导出另一个,该算法就是对称密码算法,满足关系M= Dk (C)=Dk (Ek(M))。

    对称密码体制的安全性主要取决于两个因素:

    • 一是加密算法必须足够安全,使得不必为算法保密,仅根据密文就能破译出消息是计算上不可行的;
    • 二是密钥的安全性,即密钥必须保密并保证有足够大的密钥空间。对称密码体制要求基于密文和加密/解密算法的知识能破译出消息的做法在计算上是不可行的。

    对称密码算法的优缺点如下:

    (1)优点:

    • 加密、解密处理速度快,保密度高等。

    (2)缺点:

    • ①密钥是保密通信安全的关键,发信方必须安全、妥善地把密钥护送到收信方,不能泄露其内容。如何才能把密钥安全地送到收信方,是对称密码算法的突出问题。对称密码算法的密钥分发过程复杂,所花代价高;
    • ②多人通信时密钥组合的数量会出现爆炸性膨胀,使密钥分发更加复杂化,若有N个用户进行两两通信,总共需要的密钥数为N(N-1)/2个;
    • ③通信双方必须统一密钥,才能发送保密的信息。如果发信人与收信人素不相识,这就无法向对方发送秘密信息了;
    • ④除了密钥管理与分发问题外,对称密码算法还存在数字签名困难问题(通信双方拥有同样的消息,接收方可以伪造签名,发送方也可以否认发送过某消息)。

    对称密码体制分为两类:

    • 一类是对明文的单个位(或字节)进行运算的算法,称为序列密码算法,也称为流密码算法(streamcipher);
    • 另一类是把明文信息划分成不同的块(或小组)结构,分别对每个块(或小组)进行加密和解密,称为分组密码算法(Blockcipher)。

    一 、序列密码:

    序列密码分为同步序列密码和自同步序列密码两种。

    • 同步序列密码要求发送方和接收方必须是同步的,在同样的位置用同样的密钥才能保证正确的密。如果在传输过程中密文序列有被篡改、删除、插人等错误导致同步失效,则不可能成功解密,只能通过重新同步来实现解密、恢复密文。在传输期间,一个密文位的改变只影响该位的恢复,不会对后继位产生影响。
    • 自同步序列密码密钥的产生与密钥和已产生的固定数量的密文位有关,因此,密文中产生的一个错误会影响到后面有限位的正确解密。所以,自同步密码的密码分析比同步密码的密码分析更加困难。序列密码具有实现简单、便于硬件计算、加密与解密处理速度快、低错误(没有或只有有限位的错误)传播等优点,但同时也暴露出对错误的产生不敏感的缺点。序列密码涉及大量的理论知识,许多研究成果并没有完全公开,这也许是因为序列密码目前主要用于军事和外交等机要部门的缘故。目前,公开的序列密码主要有RC4、SEAL等。
    • 序列密码的安全强度依赖于密钥流产生器所产生的密钥流序列的特性,关键是密钥生成器的设计及收发两端密钥流产生的同步技术。

    1. 伪随机序列:

    2.  线性反馈移位寄存器:

    3. RC4:

    • RC4是由麻省理工学院的Ron Rivest教授在1987年为RSA公司设计的一种可变密钥长度、面向字节流的序列密码。RC4是目前使用最广泛的序列密码之一,已应用于Microsoft Windows、Lotus Notes和其他应用软件中,特别是应用到SSL协议和无线通信方面。
    • RC4算法很简单,它以一个数据表为基础,对表进行非线性变换,从而产生密码流序列。
    • RC4包含两个主要算法:
    • 密钥调度算法(Key- Scheduling Algorithm, KSA)
    • 伪随机生成算法( Pseudo Random Generation Algorithm , PRGA)。
    • KSA的作用是将一个随机密钥(大小为40~256位)变换成一个初始置换表S。

    KSA过程如下:


     

    二 、分组密码:

    分组密码的本质就是由密钥k=(k1,k2,..,kn)控制的从明文空间M(长为n的比特串的集合)到密文空间C(长为r的比特串的集合)的一个一对一映射。为了保证密码算法的安全强度,加密变换的构造应遵循下列个原则。

    • (1) 分组长度足够大。当分组长度n较小时,容易受到暴力穷举攻击,因此要有足够大的分组长度n来保证足够大的明文空间,避免给攻击者提供太多的明文统计特征信息。
    • (2) 密钥量空间足够大,以抵抗攻击者通过穷举密钥破译密文或获得密钥信息。
    • (3) 加密变换足够复杂,以加强分组密码算法自身的安全性,使攻击者无法利用简单的数学关系找到破译缺口。
    • (4) 加密和解密运算简单,易于实现。分组加密算法将信息分成固定长度的二进制位串进行变换。为便于软、硬件的实现,一般应选取加法、乘法、异或和移位等简单的运算,以避免使用逐比特的转换。
    • (5) 加密和解密的逻辑结构最好一致。如果加密、解密过程的算法逻辑部件一致,那么加密、解密可以由同一部件实现,区别在于所使用的密钥不同,以简化密码系统整体结构的复杂性。

    实现分组密码算法设计的具体操作包括替代、置换、乘积变换。

    数据加密标准(DES) :

    1.DES算法加密过程

    • DES对64位的明文分组进行操作。通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密钥结合。经过16轮后,左、右半部分合在一起,经过一个末置换(初始置换的逆置换),这样该算法就完了。

     

    2. DES解密过程
    DES解密过程的逻辑结构与加密过程一致,但必须注意以下两点。

    • (1) 第16轮迭代结束后须将左右两个分组交换位置,即将L16与R16交换顺序。
    • (2) 解密过程中使用的子密钥的顺序与加密时的顺序正好相反,依次为Kr6,Ks,...,Kr,即当把64位密文作为明文输人时,解密过程的第1轮迭代使用子密钥K]6,第2轮迭代使用子密钥Ks,.,第16轮迭代使用子密钥Kr,同理,第16轮迭代后须交换顺序,最终输出得到64位明文。

    3. DES算法的安全隐患

    • (1)密钥太短。DES的初始密钥实际长度只有56位,批评者担心这个密钥长度不足以抵抗穷举搜索攻击,穷举搜索攻击破解密钥最多尝试的次数为2的56次,不太可能提供足够的安全性。1998 年前只有DES破译机的理论设计,1998年后出现实用化的DES破译机。
    • (2) DES的半公开性。DES算法中的8个S盒替换表的设计标准(指详细准则)自DES公布以来仍未公开,替换表中的数据是否存在某种依存关系,用户无法确认。
    • (3) DES迭代次数偏少。DES算法的16轮迭代次数被认为偏少,在以后的DES改进算法中,都不同程度地进行了提高。

    4. 三重DES应用
          针对DES密钥位数和迭代次数偏少等问题,有人提出了多重DES来克服这些缺陷,比较典型的是2DES、3DES和4DES等几种形式,实用中一般广泛采用3DES方案,即三重DES。它有以下4种使用模式。

    • (1) DES EEE3模式:使用3个不同密钥(Kr,K2,Kz),采用3次加密算法。
    • (2) DES EDE3模式:使用3个不同密钥(Kr,Kz,K3),采用加密一解密-加密算法。
    • (3) DES EEE2模式:使用两个不同密钥(K:= K3,K2),采用3次加密算法。
    • (4) DES EDE2模式:使用两个不同密钥(K,= Ks,K2),采用加密一解密一加密算法。

    3DES的优点:

    • 密钥长度增加到112位或168位,抗穷举攻击的能力大大增强;
    • DES基本算法仍然可以继续使用。

    3DES的缺点:

    • 处理速度相对较慢,因为3DES中共需迭代48次,同时密钥长度也增加了,计算时间明显增大;
    • 3DES算法的明文分组大小不变,仍为64位,加密的效率不高。

     

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

    展开全文
  • 对称密码体制

    2019-10-17 14:23:53
    在非对称密码体制中,公钥和私钥都可以用于加密与解密操作,公钥加密则需要私钥解密,私钥加密则需要公钥解密。非对称密码体制的主要优点是可以适应开放性的使用环境,可以方便安全的实现数字签名和验证。除此之外...
  • 密码学之对称密码体制

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

    2019-09-27 09:18:16
    对称加密,RSA,C语言完整代码,包括加解密以及纠错处理。
  • 浅析对称密码体制与公钥密码体制

    千次阅读 2017-04-25 10:21:23
    加密:指利用某个值(密钥)对明文的数据通过一定的算法变换成加密(密文)数据的过程。它的逆反过程叫解密。 加解密过程图解: 对称加密方式:加密和解密使用相同的密钥 ...对称加密与公钥加密图解:
  • 对称密码体制 公钥密码体制 对称密码体制 分组密码的思想:将明文消息编码表示后的数字序列划分为成长为n的组,各组分别在密钥k控制下变换成等长的输出数字序列 DES就是一种分组密码算法,它将明文从算法的一端...
  • 对称密朝密码体制对称密朝密码体制又称单密钥密码体制,是指加密密钥和解密密钥相同的密码体制。这种密码体制的保密性主要取决于对密钥的保密,其加密和解密算法是公开的。要保证对称密钥密码体制的安全性...
  • 对称密码系统( asymmetric encryption)可为加解密或数字签名系统。由于加密或签名验证密钥是公开的,故称为公钥 (publickey),而解密或签名产生密钥是秘密的,故称为私钥(privatekey)。因为公钥与私 钥不同,且公钥与...
  • 对称加密算法: 加密和解密使用不同的密钥。公钥只能用来加密,而私钥只能用来解密。私钥由用户自己拥有。公钥公开配送,只要有需求即可获得。 优点: 算法安全性高,公钥公开,私钥自己保存 缺点: 加密和...
  • 关于对称密码机制的很好的课件,里面有详细的推导过程和技术原理。
  • 对称密码体制——DES

    2019-09-18 15:56:54
    对称密码体制安全性取决因素: 一、加密算法必须足够安全 二、密钥的安全性 公开的序列密码 RC4、SEAL等 DES(Date Encryption Standard,数据加密标准)
  • 对称密码体制(一)

    千次阅读 2018-07-11 08:50:40
    对称密码体制(一) 对称密码模型 五个基本成分 明文:原始的消息或数据,既算法的输入。 加密算法:对明文进行各种代替和替换。 密钥:独立于明文和算法,也是加密算法的输入。算法根据所用的特定的密钥而...
  • 对称密码体制Vs公钥密码体制

    千次阅读 2012-11-12 13:34:35
    对称密码体制的缺陷:  密钥分配问题:通信双方要进行加密通信,需要通过秘密的安全信道协商加密密钥,而这种安全信道可能很难实现 密钥管理问题:在有多个用户的网络中,任何两个用户之间都需要有共享的密钥,...
  • 信息安全技术第四讲 对称密码体制
  • 对称密码体制又称为公开密钥系统或双钥系统 基于数学问题——不再是基于置换和替代 两类比较流行的公钥密码体制: 一、基于因子分解难题的,典型的是RSA密码算法 二、基于离散对数难题的,如ElGamal公钥密码体制...
  • 信息安全——非对称密码体制

    千次阅读 2017-05-01 11:28:57
    经典密码(包括现代对称密码)都建立在基本的替代和置换...公钥密码体制是基于数学中的单向陷门函数。 公钥密码体制采用了两个不同的秘钥这对在公开的网络上进行保密通信、秘钥分配、数字签名和认证有着深远的影响。
  • 信息安全——对称密码体制

    千次阅读 2017-02-26 19:10:57
    分组密码技术属于对称密码体制的范畴,分组密码是指将处理的明文按照固定长度进行分组,加解密的处理在固定长度密钥的控制下,以一个分组为单位独立进行,得出一个固定长度的对应于明文分组的结果。 二、DES算法 ...
  • 对称、非对称密码体制

    千次阅读 2016-07-20 14:11:37
    商务应用对于安全的需求:保密性(confidentiality)、完整性(integrity)、真实性(authenticity)、不可否认性(non-...数据加密 真实性 数字签名、证书、数字身份证明 完整性 哈希算法、消息摘要、数字签名 不
  • 加密循环体制位数为16位,从K1,K2...K16,解密过程与之相反,从K16....K1,DES的加密密钥与解密密钥相同,属于对称密码体制,其安全性依赖于密钥(不是密钥算法),安全度不高,可利用差分密码分析思想对其明文...
  • 这可能是对称密码体制的主要弱点(为了让对方能够解开密文,可能需要将密文与密钥一同发送)。在非对称加密算法或公钥算法中没有这样的问题。使用公钥加密的信息只有私钥才能解开,而使用私钥加密的信息只有使用公钥...
  • 对称密码体制DES、3DES、AES DES DES采用了64位的分组长度 和56位的密钥长度,它将64位的输入经过一系列变换得到64位的输出,解密则使用了相同的步骤和密钥。 对明文的处理 64位明文经过初始置换而被重新...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,301
精华内容 2,920
关键字:

对称加密体制的工作过程