首页 > 编程语言 >加密算法分类

加密算法分类

时间:2023-08-21 23:34:23浏览次数:32  
标签:数字签名 分类 SHA 算法 密钥 哈希 加密算法

密码加密算法

针对密码存储的加密算法通常会使用一些特定的哈希函数或密码学技术,以确保用户密码在存储时是安全的。

  1. bcrypt:这是一种基于 Blowfish 加密算法的密码哈希函数。它适用于存储密码,因为它的加密强度可以根据需要进行调整,以抵御暴力破解和彩虹表等攻击。

  2. scrypt:与bcrypt类似,scrypt 也是一种基于密码哈希的加密算法,但它还增加了内存和CPU要求,使得在专用硬件上进行攻击更加困难。这有助于抵御大规模攻击。

  3. Argon2:这是一种被选为密码存储的最新推荐算法。它是 PHC (Password Hashing Competition) 赛事的获胜者,结合了多种技术来抵御多种攻击,包括基于 GPU 和 FPGA 的攻击。

  4. PBKDF2:这是一个密钥派生函数,旨在通过多次应用一个伪随机函数(通常是哈希函数)来增加密码哈希的计算时间,从而提高安全性。

数字签名算法

数字签名算法是一种用于验证数字文档或数据的完整性、认证发送者身份以及确保数据不被篡改的密码学技术.
RSA (Rivest-Shamir-Adleman):RSA 是一种基于因数分解的非对称加密算法,可以用于数字签名。发送者使用私钥对消息进行签名,接收者使用公钥验证签名的有效性。

  1. DSA (Digital Signature Algorithm):DSA 是一种基于离散对数问题的数字签名算法。它通常用于确保消息的完整性和发送者的身份。

  2. ECDSA (Elliptic Curve Digital Signature Algorithm):ECDSA 是一种基于椭圆曲线密码学的数字签名算法。由于使用椭圆曲线可以在相对较短的密钥长度下提供与传统算法相当的安全性,因此它在资源受限的环境中较为流行。

  3. EdDSA (Edwards-curve Digital Signature Algorithm):EdDSA 是一系列基于扭曲爱德华曲线密码学的数字签名算法。与 ECDSA 相比,EdDSA 提供更高的性能和安全性。

  4. RSASSA-PSS (RSA Signature Scheme with Appendix - Probabilistic Signature Scheme):这是一种增强的 RSA 数字签名方案,提供更好的安全性和抗攻击能力。

  5. GOST R 34.10-2012:这是俄罗斯使用的一种数字签名算法,基于 GOST R 34.10-2001 标准的改进版本。

  6. HMAC (Hash-based Message Authentication Code):虽然不是传统意义上的数字签名,但HMAC 可用于将哈希函数与密钥结合,生成一个用于验证消息完整性的校验码。

非对称加密算法

  1. RSA (Rivest-Shamir-Adleman):RSA 是最早并最广泛使用的非对称加密算法之一。它基于大整数分解问题,使用公钥加密、私钥解密,或者私钥签名、公钥验证签名。

  2. DSA (Digital Signature Algorithm):DSA 是一种非对称加密算法,专门用于数字签名和认证。它依赖于离散对数问题,用于验证签名和生成签名。

  3. ECDSA (Elliptic Curve Digital Signature Algorithm):与传统非对称算法相比,ECDSA 使用椭圆曲线密码学,能够在相对较短的密钥长度下提供相当的安全性。它在资源受限的环境中较为流行。

  4. EdDSA (Edwards-curve Digital Signature Algorithm):EdDSA 是基于扭曲爱德华曲线密码学的一系列非对称加密算法。它提供更高的性能和安全性,逐渐成为一种受欢迎的选择。

  5. Diffie-Hellman Key Exchange:虽然不是严格意义上的加密算法,Diffie-Hellman 用于安全地交换密钥。它允许两个用户在公开信道上协商一个共享的秘密密钥,而无需在信道上传输秘密信息。

  6. ElGamal:ElGamal 是一种非对称加密算法,基于离散对数问题。它可以用于加密和数字签名。

密钥交换算法

密钥交换算法用于在不安全的通信渠道上协商共享密钥,以便进行后续的加密通信。
RSA (Rivest-Shamir-Adleman):RSA 是最早并最广泛使用的非对称加密算法之一。它基于大整数分解问题,使用公钥加密、私钥解密,或者私钥签名、公钥验证签名。

  1. Diffie-Hellman Key Exchange:Diffie-Hellman(DH)是最早的密钥交换协议之一。它允许两个参与者在公开信道上协商一个共享的秘密密钥,而无需将秘密信息传输给对方。

  2. Elliptic Curve Diffie-Hellman (ECDH):ECDH 是 Diffie-Hellman 协议的一个变体,使用椭圆曲线密码学。它在相对较短的密钥长度下提供与传统 DH 相当的安全性,从而提高性能。

  3. RSA Key Exchange:RSA 也可以用于密钥交换,其中一方使用对方的公钥对一个生成的随机密钥进行加密,然后发送给对方,对方再使用自己的私钥进行解密,从而协商出一个共享密钥。

  4. Schnorr Protocol:Schnorr 协议是一种强大且安全的密钥交换协议,基于离散对数问题。它支持秘密密钥协商和数字签名。

  5. MQV (Menezes-Qu-Vanstone) Protocol:MQV 是一种扩展 Diffie-Hellman 协议,允许双方同时认证和交换密钥。它可以增加安全性,但也更复杂。

  6. SIGMA Protocol:SIGMA 是一类协议,包括多个变体,用于实现安全的密钥交换。它的目标是提供正交性、完整性和前向保密性。

  7. J-PAKE (Password Authenticated Key Exchange by Juggling):J-PAKE 允许两个用户使用一个共享的密码在不安全的通信渠道上交换密钥,同时保持保密性和完整性。

  8. IKE (Internet Key Exchange):IKE 是在 IPsec 虚拟专用网络 (VPN) 中用于建立安全通信的协议。它使用密钥交换算法来协商密钥,通常支持多种密钥交换方法,包括 Diffie-Hellman 和 ECDH。

对称加密算法

  1. AES (Advanced Encryption Standard):AES 是目前最常用的对称加密算法之一,广泛用于保护敏感数据。它支持不同密钥长度(128、192、256位),安全性高且性能优越。

  2. DES (Data Encryption Standard):DES 是较早期的对称加密算法,使用56位密钥。由于其较短的密钥长度,现在已不推荐用于安全通信。

  3. 3DES (Triple DES):3DES 是 DES 的增强版本,通过多次应用 DES 进行加密,提高了安全性。然而,由于其性能较慢,现在通常被更现代的算法取代。

  4. Blowfish:Blowfish 是一种可变密钥长度的对称加密算法,适用于多种应用。尽管在一些情况下已经被 AES 取代,但它仍然被广泛使用。

  5. RC4 (Rivest Cipher 4):RC4 是一种流密码算法,曾经在许多应用中使用。然而,它已经被发现存在严重的安全弱点,不再被推荐用于安全通信。

  6. ChaCha20:ChaCha20 是一种流密码算法,被用作对称加密算法和随机数生成器。它在性能和安全性方面表现出色,被广泛应用于各种应用中。

hash算法

哈希算法(也称为散列算法)是一种将输入数据转换为固定长度的哈希值的算法,通常用于数据的唯一标识、完整性验证和密码存储等。

  1. MD5 (Message Digest Algorithm 5):MD5 是一个广泛使用的哈希算法,但它已被发现存在碰撞和弱点,不再被认为是安全的。

  2. SHA-1 (Secure Hash Algorithm 1):SHA-1 也是一种较早的哈希算法,类似于 MD5,但在安全性方面也存在问题,已被逐渐弃用。

  3. SHA-256/SHA-512:SHA-2 系列包括多个哈希算法,如 SHA-256 和 SHA-512,提供更高的安全性。SHA-256 输出 256 位哈希值,而 SHA-512 输出 512 位哈希值。

  4. SHA-3 (Secure Hash Algorithm 3):SHA-3 是由 NIST 发布的最新的哈希算法标准,它基于 Keccak 算法。它提供了一些新的安全性和性能特性。

  5. Blake2:Blake2 是一种高性能哈希算法,被设计为取代 MD5、SHA-1 和 SHA-256。它在安全性和性能方面都有不错的表现。

  6. Whirlpool:Whirlpool 是一种块密码的哈希算法,输出512位哈希值。它被认为是较安全的哈希算法之一。

  7. RIPEMD (RACE Integrity Primitives Evaluation Message Digest):RIPEMD 系列算法包括 RIPEMD-160、RIPEMD-256、RIPEMD-320 等,用于生成不同长度的哈希值。

  8. BLAKE3:BLAKE3 是 BLAKE2 的继承者,是一种高性能、安全性良好的哈希算法,适用于多种应用。

标签:数字签名,分类,SHA,算法,密钥,哈希,加密算法
From: https://www.cnblogs.com/ivanohohoh/p/17647335.html

相关文章

  • 多元分类预测 | Matlab鲸鱼优化算法优化深度极限学习机(WOA-DELM)分类预测
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 001 DDR基础知识(一)存储器分类
    1内存     内存(Memory)指的是内存存储器,又称为主存,是CPU用来直接寻址和存储的空间,它相当于一座桥梁,用以负责诸如硬盘、主板、显卡等硬件上的数据与处理器之间数据交换处理,我们可以把内存看作数据缓存区,一个高速的缓存区。内存之所以称为内存,是相对于硬盘这些外存而言,我们......
  • 多元分类预测 | Matlab粒子群优化算法优化深度极限学习机(PSO-DELM)分类预测
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 多元分类预测 | Matlab灰狼优化算法优化深度极限学习机(GWO-DELM)分类预测
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • Bcrypt加密算法相关
    简介Bcrypt是一个跨平台的文件加密工具,由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。spring-security内部就是使用这个算法来对用户密码加密的(BCryptPasswordEncoder)。使用maven依赖<dependency><......
  • Mnist数据集分类任务试用
    学习方法边用边学,torch只是个工具,用起来,查的过程才是学习的过程直接上案例来学习,先跑起来,遇到问题就地解决使用jupiter的方式,来实现查看torch版本importtorchprint(torch.__version__)1、拿到数据集frompathlibimportPathimportrequestsDATA_PATH=Path("data")......
  • TWCMS实现遍历所有频道及下面的分类
    $cate_arrs=$run->category->find_fetch();foreach($cate_arrsas$v){if($v['upid']==0){$v['flist']=$run->category->find_fetch(array('upid'=>$v['cid']));$parrs[]=$v; } } //hookkp_block_listeac......
  • 一文了解机器学习中分类和回归的差异
    前言分类和回归是数据挖掘和机器学习中常见的两个主要预测问题。分类算法分类算法是拟合一个模型或函数的过程,该模型或函数有助于将数据分为多个类别,即离散值。在分类中,根据输入中给定的一些参数,数据被分类到不同的标签下。在分类任务中,我们应该使用独立特征来预测离散的目......
  • 设计模式分类
    博客地址:https://www.cnblogs.com/zylyehuo/......
  • 论文解读:《lncLocator:基于堆叠集成分类器的长非编码 RNA》
    标题 ThelncLocator:asubcellularlocalizationpredictorforlongnon-codingRNAsbasedonastackedensembleclassifierDOI 10.1093/bioinformatics/bty085期刊 Bioinformatics作者 ZhenCao;XiaoyongPan;YangYang;YanHuang;Hong-BinShen出版日期 2018-02-1......