您当前的位置:首页 > 计算机 > 加密解密

常见的密码学算法分类总结

时间:02-28来源:作者:点击数:

密码算法分类

密码算法分类 特点 常见算法
对称加密算法 加密和解密使用相同的密钥 分组密码算法: AES, 国密(SM1, SM4, SM7), DES, 3DES 流密码算法: RC2
非对称加密算法 加密和解密用不同的密钥 RSA, 国密(SM2, SM9), DSA, ECC, DH
摘要算法 又称散列算法,哈希算法。无密钥,不可解密。把任意长度的数据计算成固定长度的数据。 SM3, MD5, SHA256, HMACSHA1

对称密码算法(Symmetric-key Algorithm)

加密和解密使用相同密钥的加密算法。 该算法又分为 分组密码算法(块加密算法) 和 流密码算法(序列密码算法).

分组密码算法 又称块加密算法:

  1. 将明文拆分为 N 个固定长度的明文块
  2. 用相同的秘钥和算法对每个明文块加密得到 N 个等长的密文块
  3. 然后将 N 个密文块按照顺序组合起来得到密文

流密码算法 又称序列密码算法

每次只加密或解密只处理一位或一字节明文或密文

  • 分组算法: 国密(SM1, SM4, SM7), AES, DES, 3DES, IDEA, RC2, RC5, RC6
  • 流密码算法: RC4, ZUC(国密祖冲之算法)

AES:安全强度较高、应用范围较广。密钥的长度能够为128、192和256位,也就是16个字节、24个字节和32个字节

SM1:国密,采用硬件实现

SM4:国密,可使用软件实现

DES/3DES:DES密钥长度64位(8字节), 3DES密钥长度为128位(k1 == k3时)或192位,即16或24个字节组成的字符串

非对称密码算法(Asymmetric-key Algorithm)

非对称算法 指加密秘钥和解密秘钥不同的密码。 又称为 公开密码算法 或 公钥算法

加密秘钥可以公开,即 公钥加密

解密秘钥必须保密,即 私钥解密

非对称算法有 大数分解 和 离散对数 2种:

  • 大数分解 RSA, DSA, ECDSA
  • 离散对数 国密(SM2, SM9), DH, DSA, ECC, ECDH

RSA密钥长度: 64整倍数(512、1024、2048位). 建议采用1024位的数字

ECC建议采用160位

摘要算法(Digest Algorithm)

摘要算法(散列算法,线性散列算法,签名算法),又称 散列函数 哈希函数 杂凑函数单向函数 等,是指把 任意长度 数据转化为 固定长度 数据的一种密码算法.

摘要算法所产生的 固定长度 输出数据称为 摘要值 、 散列值 或 哈希值 。 摘要算法无秘钥。

摘要算法 通常用来做数据完整性的判定,即对数据进行哈希计算然后比较 摘要值 是否一致.

摘要算法分类:

  • MD系列(Message Digest,消息摘要算法): 包括 MD2、MD4、MD5
  • SHA系列(Secure Hash Algorithm,安全散列算法): 包括 SHA-1、SHA-2 系列(SHA-1 的衍生算法,包含
    SHA-224、SHA-256、SHA-384、SHA-512)
  • MAC系列(Message Authentication Code,消息认证码算法): 包括 HmacMD5、HmacSHA1、HmacSHA256、HmacSHA384 和 HmacSHA512 算法
  • 国密SM3

MD5值的长度: 二进制编码为128位(16字节), 十六进制编码长度为32位(还有16位的加密结果,只是从32位MD5散列中把中间16位提取出来)

SHA256值长度: 二进制编码256位,十六进制编码64位

国密算法

国密算法,即国家商用密码算法。 如SM系列密码算法。SM代表商密,即商业密码,用于商业用途。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门