精华内容
下载资源
问答
  • 对称加密体制的工作过程
    千次阅读
    2022-04-16 17:22:01

    现代密码学主要分为对称密码体制和非对称密码体制,二者的异同个人总结如下。

    相似之处主要包含以下四个方面

    (1)目标:二者都是为了保障数据在存储和传输过程中的安全性和可用性。

    (2)主要算法:二者都包含密钥生成算法、加密算法和解密算法三种主要算法。

    (3)实施过程:二者都是通过密钥和加密算法对明文进行编码使之成为密文,再通过密钥和解密算法将密文还原成明文。

    (4)安全性依赖:在实际加密场景中,二者通常都是公开加解密算法,相关密码体制的安全强度都依赖于密钥的获取难度。

    不同之处主要包含以下三个方面

    (1)密钥的个数和种类:对称密码体制在加解密过程中使用同一把密钥,因此也称单密钥体制。对于该体制而言,每一次加解密过程中,都能由加密密钥推出解密密钥,一旦密钥发生泄露,由该密钥加密的数据将被完全破解。而在公钥密码体制中,加密密钥和解密密钥互不相同,解密密钥为私人所有,称为私钥,加密密钥向公众开放,称为公钥。

    (2)实现的功能不同:对称密码体制只能实现加解密功能,因此只能满足数据的机密性需求,不能解决数据在传输过程中出现的数据篡改、丢失和抵赖等安全问题。公钥加密体制不仅能实现数据的加密和解密,还具有数字签名功能,因此能实现数据传输双方的身份认证和不可否认性,保证数据的真实性和可用性。

    (3)计算效率:对称密码体制加解密速度快,数据处理能力强,计算开销和占用内存空间小,便于软硬件实现,在处理大规模数据时优势明显。与对称密码体制相比,非对称密码体制存在密钥长度过长、计算效率不高等不足。即使安全等级最高、密钥长度最短的椭圆曲线公钥密码体制的密钥长度和相同安全等级的对称密码体制相比仍有一定差距,如160比特的椭圆曲线密码体制和80比特的对称密码体制的安全等级相同。

    更多相关内容
  • 对称密码体制详解

    2022-06-24 09:45:18
    在使用非对称加密时,任何人都可以使用预期接收者的公钥对消息进行加密,但该加密消息只能使用接收者的私钥解密。对此,维基给出了一个生动的例子: 服务器程序生成用于对称密钥加密的加密密钥,然后使用客户端的...

    0x01 非对称密码体制

    非对称密码又称为公钥密码,意思为每对加密包含一个公钥(可能为他人所知)和一个私钥(可能不为所有人所知)。有效的安全需要保持私钥的私密性;公钥可以在不影响安全性的情况下公开分发。

    在使用非对称加密时,任何人都可以使用预期接收者的公钥对消息进行加密,但该加密消息只能使用接收者的私钥解密。

    使用非对称加密传递密钥

    对此,维基给出了一个生动的例子:
    服务器程序生成用于对称密钥加密的加密密钥,然后使用客户端的公开共享公钥来加密新生成的对称密钥。

    然后,服务器可以通过不安全的通道将此加密的对称密钥发送给客户端;只有客户端才能使用客户端的私钥(与服务器用来加密消息的公钥配对)对其进行解密。

    由于客户端和服务器都具有相同的对称密钥,它们可以安全地使用对称密钥加密,通过其他不安全的通道进行通信。该方案的优点是不必手动预共享对称密钥,同时获得对称密钥加密的更高数据吞吐量优势。

    使用非对称加密进行身份验证

    也可以使用公钥加密进行身份验证,其中使用发件人的私钥对消息进行签名,并且可以由有权访问发件人公钥的任何人验证。发件人可以将消息与私钥结合起来,在消息上创建一个简短的数字签名。

    任何拥有发件人相应公钥的人都可以通过公钥解密后,将该消息与数字签名进行比较;如果签名与消息匹配,则验证消息的来源。

    非对称加密体系的应用

    通过上述的两个总结,可以汇总下非对称加密体系的应用:

    • 公钥加密系统最明显的应用是加密通信以提供机密性——发送者使用接收者的公钥加密的消息,该公钥只能由接收者的配对私钥解密。
    • 公钥密码学中的另一个应用是数字签名。数字签名方案可用于发件人身份验证。
    • 不可否认系统使用数字签名来确保一方不能成功地对其文件或通信的作者身份提出异议。
    • 在此基础上构建的其他应用包括:数字现金、密码认证密钥协议、时间戳服务和不可否认协议。
    • 许多协议依赖于非对称加密,包括使 HTTPS 成为可能的传输层安全 ( TLS ) 和安全套接字层 ( SSL ) 协议。(在网站和浏览器之间建立加密链接也利用了非对称加密。)
    • 加密货币。比特币和其他加密货币依赖于非对称加密。用户拥有每个人都可以看到的公钥和保密的私钥。

    0x02 非对称密钥的生成

    在 1970 年代中期之前,所有密码系统都使用对称密钥算法,其中发送者和接收者都使用相同的加密密钥和底层算法,他们都必须保密。

    每个此类系统中的密钥都必须在通信方之间以某种安全方式在系统使用之前进行交换——例如,通过安全通道。随着参与者数量的增加,或者当安全通道不可用,或者当(如明智的加密实践)密钥经常更改时,此要求绝不是微不足道的,并且很快变得难以管理。特别是,如果消息要对其他用户保密,则每对可能的用户都需要一个单独的密钥。

    0x03 非对称密码体制的机密性

    非对称加密体系是现代密码系统中的基本安全原语,包括为通信和数据存储的机密性、真实性和不可否认性提供保证的应用程序和协议。

    机密性

    • 在通信双方需要相互通信机密信息时,接收方先生成一对公钥和私钥(私钥严格保密)
    • 接收方将公钥发送给发送方
    • 发送方使用公钥对信息进行加密
    • 发送方发送加密后的信息给接收方
    • 接收方通过自己的私钥对信息进行解密得到明文

    0x04 非对称密码体制的优缺点

    优点

    • 不需要交换密钥,消除了密钥分配问题
    • 可用于数字签名,方便进行身份验证
    • 允许不可否认性,因此发件人不能拒绝发送消息
    • 解密密钥(私钥)不需要通过网络传输,提高了安全性

    缺点

    • 丢失私钥的情况下就无法解密
    • 公钥没有经过身份验证,所以没有人可以确保公钥属于指定的人

    0x05 最广泛使用的公钥加密算法

    RSA

    RSA是最广泛使用的非对称算法,RSA嵌入在 SSL/TLS 中,用于通过计算机网络提供安全通信。
    RSA 的安全性源于将大整数分解为两个大素数的乘积的计算难度。将两个大素数相乘很容易,但从乘积中确定原始数字的困难。

    因式分解构成了公钥密码安全性的基础,将两个足够大的素数乘积分解所需的时间超出了大多数攻击者的能力。

    RSA 密钥的长度通常为 1024 或 2048 位,但专家认为 1024 位密钥很快就会被破解,这就是政府和行业正在转向最小密钥长度为 2048 位的原因。

    椭圆曲线密码术(ECC)

    ECC是一种基于椭圆曲线理论的公钥加密技术,它可以通过椭圆曲线方程的特性创建更快、更小、更高效的密码密钥。

    要破解 ECC,攻击者必须计算椭圆曲线离散对数,这比因式分解要困难得多。因此,ECC 密钥大小可以显着小于 RSA 所需的大小,同时仍以较低的计算能力和电池资源使用提供同等的安全性。

    展开全文
  • 对称加密体制

    2022-03-25 17:16:17
    相对于对称加密算法与非对称加密算法,现代密码算法其实还包括“单向加密算法”(也称为摘要算法) 是一种将任意长度的数据转变为固定长度,可称为哈希算法 可参考我的另一篇文章:5.1 HASH函数 -- lmn · 语雀 ...

    0x01 现代密码算法

    相对于对称加密算法与非对称加密算法,现代密码算法其实还包括“单向加密算法”(也称为摘要算法)
    是一种将任意长度的数据转变为固定长度,可称为哈希算法

    可参考我的另一篇文章:
    5.1 HASH函数 -- lmn · 语雀

    0x02 对称加密概要

    对称加密(symmetrical encryption)
    对称加密通常采用单钥密码系统的加密方法,加密与解密使用相同的密钥

    因为对称加密的特性,对称加密要比非对称加密所消耗的时间短,更少的存储空间和更快的传输速度,效率高
    对称加密的密钥通常比较小,一般小于256bit,小密钥加密的速度会快

    0x03 对称加密类型

    对称密钥加密可以使用流密码或分组密码

    1. 流密码一次加密一条消息的数字(通常是字节)或字母(替代密码)
    2. 替换密码是众所周知的密码,但可以使用频率表轻松解密
    3. 块密码采用多个位并将它们作为一个单元进行加密,填充明文使其成为块大小的倍数

    现在流行的对称密钥算法包括:Twofish、Serpent、AES (Rijndael)、Camellia、Salsa20、ChaCha20、Blowfish、CAST5、Kuznyechik、RC4、DES、3DES、Skipjack、Safer和IDEA

    0x04 对称加密安全性

    对称密码历来容易受到已知明文攻击、选择明文攻击、差分密码分析和线性密码分析的影响
    仔细构建每一轮的函数可以大大降低攻击成功的机会,还可以增加密钥长度或加密过程中的轮数,以更好地防止攻击
    但是,由于系统需要执行的操作量,这往往会增加处理能力并降低进程运行的速度

    因此,实施对称加密(尤其是使用硬件)可能非常有效,因为不会因为加密和解密而经历任何明显的时间延迟,对称密码术还提供了一定程度的身份验证,因为用一个对称密钥加密的数据不能用任何其他对称密钥解密

    0x05 DES

    DES全称为Data Encryption Standard,即数据加密标准
    DES是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来

    DES设计中使用了分组密码设计的两个原则:

    • 混淆(confusion)
      混淆是使密文的统计特性与密钥的取值之间的关系尽可能复杂化,以使密钥和明文以及密文之间的依赖性对密码分析者来说是无法利用的
    • 扩散(diffusion)
      扩散的作用就是将每一位明文的影响尽可能迅速地作用到较多的输出密文位中,以便在大量的密文中消除明文的统计结构,并且使每一位密钥的影响尽可能迅速地扩展到较多的密文位中,以防对密钥进行逐段破译

    0x06 AES

    密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准

    这个标准用来替代原先的DES(Data Encryption Standard),已经被多方分析且广为全世界所使用
    经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准,2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一

    3DES算法

    3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法

    0x07 对称加密的密钥管理问题

    对称密钥的缺陷是密钥管理方面,包括:

    钥匙用尽

    每次使用密钥都会“泄露”一些信息,攻击者可能会使用这些信息来重建密钥,针对这种行为的防御措施包括使用密钥层次结构来确保不会过度使用主密钥或密钥加密密钥,以及对加密大量数据的密钥进行适当的轮换
    为了易于处理,这两种解决方案都需要有效的密钥管理策略,就好像(例如)无法恢复已停用的加密密钥,数据可能会丢失

    归因数据

    与非对称(公钥)证书不同,对称密钥没有嵌入的元数据来记录诸如到期日期或访问控制列表之类的信息,以指示密钥的用途——例如加密而不是解密
    ANSI X9-31 等标准在某种程度上解决了后一个问题,其中密钥可以绑定到规定其用法的信息,但是为了完全控制密钥的用途和使用时间,需要一个密钥管理系统

    大规模密钥管理

    在一个方案中只涉及几个键(几十到几百)的情况下,管理开销是适度的,可以通过手动的人工活动来处理,然而,对于一个大的资产,跟踪到期和安排密钥的轮换很快变得不切实际

    References:
    https://www.ibm.com/docs/en/ztpf/2020?topic=cryptography-bulk-ciphers
    https://www.cryptomathic.com/news-events/blog/symmetric-key-encryption-why-where-and-how-its-used-in-banking
    展开全文
  • 对称密码体制与非对称密码体制对称密码体制对称加密算法对称加密算法的优点对称加密算法的缺点常用对称加密算法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 为每个线程缓存一个实例可以避免进行锁操作。

    展开全文
  • 对称密码体制和非对称密码体制

    千次阅读 2019-03-24 18:50:00
    一、对称加密(Symmetric Key Encryption) 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛...
  • 对称密码体制的基本特征是加密密钥与解密密钥相同。 优点:加密、解密处理速度快,具有很高的数据吞吐率,硬件加密实现可达到几百兆字节每秒,软件也可以达到兆字节每秒的吞吐率。密钥相对较短。 缺点: 密钥是...
  • 信息加密技术——对称密码体制

    千次阅读 2021-06-03 10:25:56
    对称密码体制(symmetricencryption)也称为秘密密钥密码体制、单密钥密码体制或常规密码体制,其模型如图3-4所示。如果一个密码算法的加密密钥和解密密钥相同,或者由其中一个很容易推导出另一个,该算法就是对称密码...
  • 由于对称加密体制的安全性难以保障,在网络安全状况日益严重的情况下,需要有一种强有力的安全加密方法来保护重要的数据不被窃取和篡改,非对称加密体制利用公钥和私钥来解决对称加密体制的安全性的缺点,RSA加密...
  • 对称密码体制与公钥密码体制

    千次阅读 2021-09-10 14:47:13
    对称密码体制 对称密码体制的优点是效率高,但是也有一些很严重的缺点。 一个主要的缺点是密钥分发问题。对称密码体制的密钥分发信道必须是保密且保真的。在某些情况下,通过一个物理安全的信道,如利用一个可靠的...
  • 对称密码体制

    千次阅读 2019-10-09 14:21:40
    对称密码体制分两种: 一、流密码:对明文的单个位(或字节)进行运算,明文加密后密文基本保持和明文同样长度。常用流密码算法有RC4、SEAL等。 同步流密码:发送方和接收方在传递信息时同步进行加解密操作,密文...
  • 这篇文章主要是针对非对称密码体制中常用的一种算法——RSA算法的加密过程进行分析。
  • 对称密码系统( asymmetric encryption)可为加解密或数字签名系统。由于加密或签名验证密钥是公开的,故称为公钥 (publickey),而解密或签名产生密钥是秘密的,故称为私钥(privatekey)。因为公钥与私 钥不同,且公钥与...
  • 对称加密算法: 加密和解密使用不同的密钥。公钥只能用来加密,而私钥只能用来解密。私钥由用户自己拥有。公钥公开配送,只要有需求即可获得。 优点: 算法安全性高,公钥公开,私钥自己保存 缺点: 加密和...
  • 密码学之对称密码体制

    千次阅读 2019-09-04 13:42:50
    对称密码体制加密密钥与解密秘钥相同的密码体制,这种体制只要加密(或解密)算法,就可以反推出解密(或加密)算法 对称密码体制可以分为分组密码和流密码 古典密码是现代密码的基础,包含着密码处理的基本单元,...
  • 对称密码体制 公钥密码体制 对称密码体制 分组密码的思想:将明文消息编码表示后的数字序列划分为成长为n的组,各组分别在密钥k控制下变换成等长的输出数字序列 DES就是一种分组密码算法,它将明文从算法的一端...
  • 对称密码体制

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

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

    千次阅读 2017-04-25 10:21:23
    加密:指利用某个值(密钥)对明文的数据通过一定的算法变换成加密(密文)数据的过程。它的逆反过程叫解密。 加解密过程图解: 对称加密方式:加密和解密使用相同的密钥 ...对称加密与公钥加密图解:
  • DES( Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。
  • 对称加密体制RSA.cpp

    2019-09-27 09:18:16
    对称加密,RSA,C语言完整代码,包括加解密以及纠错处理。
  • 凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换...
  • 对称密码体制——RSA

    千次阅读 2019-09-18 16:02:07
    对称密码体制又称为公开密钥系统或双钥系统 基于数学问题——不再是基于置换和替代 两类比较流行的公钥密码体制: 一、基于因子分解难题的,典型的是RSA密码算法 二、基于离散对数难题的,如ElGamal公钥密码体制...
  • 加密循环体制位数为16位,从K1,K2...K16,解密过程与之相反,从K16....K1,DES的加密密钥与解密密钥相同,属于对称密码体制,其安全性依赖于密钥(不是密钥算法),安全度不高,可利用差分密码分析思想对其明文...
  • 对称密码体制——DES

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

    千次阅读 2020-07-02 10:44:31
    对称密钥密码体制又称单密钥密码体制,是指加密密钥和解密密钥相同的密码体制。这种 密码体制的保密性主要取决于对密钥的保密,其加密和解密算法是公开的。要保证对称密钥密码 体制的安全性,其加密算法必须足够复杂...
  • 对称加密 一、对称加密 双方使用的同一个密钥,既可以加密又可以解密,这种加密方法称为对称加密,也称为单密钥加密。 优点:速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密...
  • 图解密码对称加密

    千次阅读 2022-02-23 08:49:26
    DES是一种对称分组加密算法,主要用于加密信息。DES是一种将64比特明文加密成64比特的密文的堆成密码算法,但是真实有效的密钥是56位,因为每八位就有一位是用来校验密钥的错对的,换句话来说DES的加密是一组一组来...
  • 对称加密和非对称加密体系

    千次阅读 2021-12-23 21:08:33
    这里写目录标题对称密钥密码体系非对称密钥密码体系RSA 对称密钥密码体系 对称密钥密码体系是指消息发送方和消息接收方必须使用相同的密钥,该密钥必须保密。发送方用该密钥对待发消息进行加密,然后将消息传输至...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,410
精华内容 3,364
热门标签
关键字:

对称加密体制的工作过程