做网站互联互通,提供网站建设搭建,官网关键词优化价格,网站wordpress是什么目录
1.概述
2. 对称密码类型
3. 对称加密优缺点
4. 对称加密算法
4.1 DES
4.2 3DES
4.3 AES
4.4 SM1
4.5 SM4 1.概述 对称加密#xff0c;是指在加密和解密时使用同一秘钥的方式。秘钥的传送和保存的保护非常重要#xff0c;务必不要让秘…目录
1.概述
2. 对称密码类型
3. 对称加密优缺点
4. 对称加密算法
4.1 DES
4.2 3DES
4.3 AES
4.4 SM1
4.5 SM4 1.概述 对称加密是指在加密和解密时使用同一秘钥的方式。秘钥的传送和保存的保护非常重要务必不要让秘钥被他人窃取。 2. 对称密码类型 序列密码体制 序列密码是以一个字符为单位进行加密变换 每一字符数据的加密与报文的其他部分无关 明文和密文的长度一般不变多用于通信领域 分组密码体制 分组密码将定长的明文块转换成等长的密文 电子编码本ECB 密码分组链接CBC或密码反馈CFB
3. 对称加密优缺点
优点 较非对称加密要快速密钥位数大的话很难被攻破缺点 每一对使用者都需要唯一的密钥密钥数量较大管理难度增加提供机密性但不提供认证和防抵赖功能
4. 对称加密算法
4.1 DES DESData Encryption Standard是1977年美国联邦信息处理标准FIPS中所采用的一种对称密钥FIPS 46-3。 然后随着计算机的进步DES已经能够被暴力破解1999年的DES Challenge III中只用了22小时15分钟。由于DES的密文可以在短时间内被破译因此除了用它来解密以前的密文以外现在我们不应该再使用DES了。 DES是一种64比特的明文加密成64比特的密文的对称密码算法它的密钥长度是56比特。尽管从规格上来说DES的密钥长度是64比特但由于每隔7比特会设置一个用于错误检查的比特因此实质上其秘钥长度是56比特。 DES是以64比特的明文比特序列为一个单位来进行加密的这个64比特的单位称为分组。一般来说以分组为单位进行处理的密码算法称为分组密码block cipherDES就是分组密码的一种。 DES每次只能加密64比特的数据如果要加密的明文比较长就需要对DES加密进行迭代(反复)而迭代的具体方式就称为模式(mode)。关于模式会在后续的博文中详细介绍。 4.2 3DES 3DEStriple-DES是为了增加DES的强度将DES重复3次所得到的一种密码算法也称为TDESTriple Data Encryption Algorithm通常缩写为3DES。 明文经过三次 DES处理才能变成最后的密文由于DES密钥的长度实质上是56比特因此三重DES的密钥长度就是56x3168比特。 三重DES并不是进行三次DES加密(加密→加密一加密)而是加密一解密一加密的过程。在加密算法中加入解密操作让人感觉很不可思议实际上这个方法是IBM公司设计出来的目的是为了让三重DES能够兼容普通的DES。 当三重 DES中所有的密钥都相同时三重DES也就等同于普通的DES了。这是因为在前两步加密一解密之后得到的就是最初的明文。因此以前用 DES加密的密文就可以通过这种方式用三重 DES来进行解密。也就是说三重DES对DES具备向下兼容性。 三重 DES 的解密过程和加密正好相反是以密钥3、密钥2、密钥1的顺序执行解密一加密→解密的操作。
4.3 AES AES(Advanced Encryption Standard)是取代其前任标准(DES)而成为新标准的一种对称密码算法。全世界的企业和密码学家提交了多个对称密码算法作为AES的候选最终在2000年从这些候选算法中选出了一种名为Rijndael的对称密码算法并将其确定为了 AES。 在AES的规格中分组长度固定为128比特密钥长度只有128、192和256比特三种。 Rijndael的算法背后有着严谨的数学结构也就是说从明文到密文的计算过程可以全部用公式来表达这是以前任何密码算法都不具备的性质。如果Rijndael的公式能够通过数学运算来求解那也就意味着Riindael能够通过数学方法进行破译。不过这也只是一种假设而已实际上到现在为止还没有出现针对Rijndael的有效攻击。 一般来说我们不应该使用任何自制的密码算法而是应该使用AES。因为 AES 安全、快速而且能够在各种平台上工作在其选定过程中经过了全世界密码学家所进行的高品质的验证工作而对于自制的密码算法则很难进行这样的验证。
4.4 SM1 其加密强度与AES相当。该算法不公开调用该算法时需要通过加密芯片的接口进行调用。
4.5 SM4 我国自主设计的分组对称密码算法用于实现数据的加密/解密运算以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度SM4算法与AES算法具有相同的密钥长度分组长度128比特。