密码学
文章平均质量分 89
主要记录密码学相关的一些知识点、心得等。
KXue0703
学习,总结,分享
展开
-
【密码算法 之六】CCM 浅析
加密流程总结首先将数据N,A,P格式化成block块,分别对各个块进行加密,取最后一个“密文块”的高Tlen字节作为Tag值(至此CCM方法计算的MAC值已经得到了);通过“计数生成函数”生成各Ctr0,Ctr1 … Ctrm值(生成器的种子就是nonce),然后分别对各个Ctrx值进行加密,得到密文Sx,将S1,S2 … Sm拼接组成S(特别注意:这里的S0);最后得到密文,密文是P和T按照一定的形式进行的拼接;CCM的加密过程是“先计算MAC,再进行加密”,符合“MTE”的模式;原创 2023-04-29 08:34:21 · 6503 阅读 · 6 评论 -
【密码算法 之七】GCM 浅析
GCM 全称为 Galois/Counter Mode,其中 G 是指 GMAC,C 是指 CTR 模式,可以将 GCM 认为是认证模式的一种,提供认证和加密两种功能。GCM模式的分组大小为128bit。在进行GCM原理分析之前,首先应该了解一下GHASH函数及GCTR函数。GCM运算所需的对称加密算法的分组长度必须是128bit(DES\3DES不满足添加,AES\SM4满足条件);加密时,在计算MAC之前必别将附加数据(A)及密文(C)分别进行Block对齐;原创 2023-04-16 22:28:06 · 9575 阅读 · 10 评论 -
【密码算法 之十四】非对称算法,ECC椭圆曲线算法 之 ECDSA、ECDH、SM2、SM9等
ECC(Elliptic Curve Cryptography),就是椭圆曲线密码算法,它是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全,RSA加密算法也是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密(有待考证)。 ECDSA(Elliptic Curve Digital Signature Al原创 2023-04-16 21:14:34 · 6945 阅读 · 1 评论 -
【密码算法 之零】对称算法(DES,、3DES、 AES、DM5、HMAC、CMAC、SHAxx、SM3、SM4),非对称算法(RSA、ECC、ECDSA、ECDH、SM2、SM9...)
由于工作的需要,在过去的两年中学习、适配了很多算法,包括对称算法、非对称算法、国密算法、国际算法等。为了逼迫自己能够牢记并掌握这些算法的基本知识点,故本人写了一个关于算法的专栏(持续更新中。原创 2023-04-10 21:19:24 · 4089 阅读 · 2 评论 -
【密码算法 之一】对称加密算法 DES \ 3DES 浅析
DES 与 3DES 属于“分组密码”算法,目前属于“不推荐,慎用”的算法;DES 与 3DES 的分组长度均为64bit(8字节);DES 的秘钥长度为64bit(8字节),真实的有效秘钥长度为56bit;3DES 的秘钥长度为192bit(24字节),真实的有效秘钥长度为168bit;原创 2023-03-10 16:44:10 · 3943 阅读 · 0 评论 -
【密码算法 之二】对称加密算法 AES(Advanced Encryption Standard)浅析
AES算法的分组长度为128比特(16字节);AES算法的秘钥长度有3种,分别为128比特、192比特、256比特;AES算法是是 Rijndael 的一个子集,两者不能完全画等号,只有分组长度为128比特,秘钥长度为128、192、256比特的Rijndael算法才是AES算法;。原创 2023-03-06 08:00:00 · 3262 阅读 · 0 评论 -
【密码算法 之八】Hash类算法(单向散列函数) MD5 \ SHA1 \ SHA224 \ SHA256 \ SHA384 \ SHA512等浅析
MD5与SHA-1算法已被攻破,不应该再用于新的用途;SHA-2与SHA-3还是安全的,可以使用。SHA-2包括:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。SHA-3包括:SHA3-224、SHA3-256、SHA3-384、SHA3-512。算法分组长度(bytes)输出长度(hash value)(bytes)是否安全SM36432安全MD46416不安全MD56416不安全SHA164。原创 2023-03-01 22:06:53 · 5948 阅读 · 0 评论 -
【密码算法 之三】分组密码工作模式 (ECB \ CBC \ CFB \ OFB \ CTR \ XTS)浅析
1. 什么是分组密码的模式 对称加密算法DES、3DES、AES等都属于分组密码,它们只能加密固定长度的明文,然而在实际生活中,人们通常需要加密的文件(数据)并不是8字节或者16字节的单个明文分组,而是需要加密一个较大的文件或者电子邮件等,对于这种需要加密任意长度的明文,就需要对分组密码进行迭代,分组密码的迭代方式就称为分组密码的“模式”。 分组密码的模式有很多种,主要分为如下几类:ECB模式:Electronic Code Book mode(电子密码本模式)CBC模式:Cipher Blo原创 2022-05-01 22:16:10 · 23424 阅读 · 0 评论 -
【密码算法 之四】HMAC 浅析
1. 什么是HMAC HMAC是一种使用单向散列函数来构造消息认证码(MAC)的方法,其中H就代表了hash的意思。 HMAC中所使用的单向散列函数并不是仅仅局限于一种,任何获得认证的高强度的单向散列函数都可以用于HMAC的计算。 使用单向散列函数SHA-1、SHA-224、SHA-256、SHA-384、SHA-512等构造的HMAC,分别称为HMAC-SHA1、HMAC-SHA224、HAMC-SHA256、HMAC-SHA384、HAMC-SHA512。2. HMAC的工作步骤 步原创 2021-08-13 12:51:24 · 7414 阅读 · 0 评论 -
【密码算法 之五】CMAC 浅析
1. 概述 CMAC(Cipher Block Chaining-Message Authentication Code),也简称为CBC_MAC,它是一种基于对称秘钥分组加密算法的消息认证码。由于其是基于“对称秘钥分组算法”的,故可以将其当做是对称算法的一种操作模式。 CMAC可以应用的算法主要有:AES、DES、3DES等。2. 原理分析 以AES128为例,对其工作原理进行探讨。2.1 符号名称含义b加密块的位长(bit)Rb用于生成子秘钥的常量字符串原创 2021-08-12 20:37:07 · 32751 阅读 · 16 评论