当前位置: 首页 > news >正文

常用的加密算法及相关术语简介

一、 HASH(哈希/散列)

  HASH一般翻译为哈希或散列,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。

1.1 基本概念

  • 输入数据称为关键字(key), 输出数据称为值(value), 计算方法称为哈希函数(function),计算公式如下:f(key) = value

  • 对不同的关键字可能得到同一散列地址,即key1≠key2,而f(key1)=f(key2),这种现象称为碰撞。

  • 具有相同函数值的关键字对该散列函数来说称做同义词。

  • 对于关键字集合中的任一个关键字,经散列函数映射到地址集合中任何一个地址的概率是相等的,则称此类散列函数为均匀散列函数。

1.2 应用场景

  1. 用于信息安全方面,如文件校验、数字签名、鉴权协议等
  2. 散列表是散列函数的重要应用,使用散列表能够快速的按照关键字查找数据记录

二、MD5

  MD5 (Message Digest Algorithm 5), MD5生成128位(16字节)的哈希值,广泛用于早期的校验和验证.该算法存在碰撞漏洞,可以被破解,对于安全性要求高的应用场景,建议使用其它算法,如SHA-2系列算法。

2.1 应用场景

  • 文件完整性校验
  • 低安全等级的密码存储与校验

三、SHA

  SHA是安全散列算法(Secure Hash Algorithm,缩写为SHA),能对一个输入信息计算出一个固定长度的字符串,这个固定的字符串称为消息摘要。

3.1 特点

  • 单向性:SHA算法只能从数据生成哈希值,但不能从哈希值恢复原始数据,这个特性适合用于数据完整性校验。
  • 抗碰撞性:SHA算法的设计在理论上可以保证碰撞的概率非常低。
  • 安全性:高版本的SHA算法如SHA-2或SHA-3版本,提供了更高的安全性。

  SHA包含5个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,后四个算法统称为SHA-2,最新的还有SHA-3版本。其中SHA-1安全性低,逐渐被淘汰,常用的是SHA-256算法。

3.2 SHA系列算法

SHA-1:

  SHA-1(Secure Hash Algorithm 1)是一个较早的加密哈希函数,它生成160位(20字节)的哈希值, 计算速度较快,适用于低性能设备。但存在碰撞漏洞(攻击者能够找到两个不同的输入产生相同的哈希值), 已经被淘汰。

SHA-224:

  SHA-224属于SHA-2(Secure Hash Algorithm)家族,生成224位(28字节)的哈希值。

SHA-256:

  SHA-256属于SHA-2(Secure Hash Algorithm 2)家族,生成256位(32字节)的哈希值,是最常用的哈希算法之一,广泛应用于区块链、数字签名和各种安全协议中。

SHA-512:

  SHA-512也是SHA-2家族的一部分,生成512位(64字节)的哈希值。与SHA-256相似,输出更长、安全性更高。

四、SSL与TLS

  SSL(Secure Sockets Layer)和TLS(Transport Layer Security)都是用于加密网络通信的安全协议。

说明:

  • TLS是SSL的继承者
  • SSL 2.0/3.0存在严重安全漏洞,已经被淘汰禁用
  • TLS 1.2和TLS 1.3是当前推荐的安全版本

五、DES与AES

5.1 DES(Data Encryption Standard)

  DES是一种对称加密算法,其密钥长度为56位。DES在早期被广泛使用,但56位密钥长度较短,容易受到暴力破解,不安全。

5.2 AES(Advanced Encryption Standard)

  AES是一种对称加密算法,具有更高的安全性。AES的密钥长度可以选择128位、192位或256位,提供了更高的灵活性。AES由于其强大的安全性和较高的计算效率,已成为现代加密标准,广泛应用于各种安全需求较高的场合‌。

5.1 说明

  • AES具有高安全性和灵活性,广泛应用于高安全性的场景,如银行交易、网络通信等

六、Base64

  Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。

七、RSA

  RSA算法是一种非对称加密算法,与对称加密算法不同的是,RSA算法有两个不同的密钥,一个是公钥,一个是私钥。

加密算法类型

  • 对称加密算法‌:使用相同的密钥进行加密和解密。常见的对称加密算法包括AES、DES等。通常用于保护传输中的数据,如SSL/TLS协议中的加密。

  • 非对称加密算法‌:这类算法使用一对密钥:公钥和私钥。公钥用于加密数据,而私钥用于解密数据。常见的非对称加密算法包括RSA、ECC(椭圆曲线密码学)和DSA(数字签名算法)。非对称加密算法常用于数字签名、密钥交换和加密较小的数据块。

  • 哈希算法‌:哈希算法是一种单向函数,它可以将任意长度的数据转换为固定长度的哈希值。常见的哈希算法包括SHA-256(安全哈希算法-256位)和MD5。常用于数据完整性验证和密码存储。

相关文章:

  • 如何通过Python的`requests`库接入DeepSeek智能API
  • 孜然SEO静态页面生成系统V1.0
  • Qwen2-Audio:通义千问音频大模型技术解读
  • Java内部类
  • 【STM32】uwTick在程序中的作用及用法,并与Delay函数的区别
  • redis三主三从集群部署
  • Logic-RL:小参数qwen模型复现DeepSeek R1 zero
  • 自学软硬件第755 docker容器虚拟化技术
  • 图解Spring-解决循环依赖流程
  • 使用 OpenSSL 构建安全的网络应用
  • 前端开发概论
  • 网易云信架构升级实践,故障恢复时间缩至8秒
  • TDengine 支持的所有运算符
  • 零基础学python+人工智能ai(持续更新ing)
  • 【MySQL】基本查询(下)
  • 什么是MCP(Model Context Protocol)?对话、意图识别、服务调用和上下文管理
  • django self.get_queryset() 如何筛选
  • Flask实时监控:打造智能多设备在线离线检测平台(升级版)
  • 素数判定方法详解:从基础试除法到优化策略
  • linux系统 Ubuntu22.04安装Nvidia驱动,解决4060系列显卡重启黑屏方法
  • 美国失去最后一个AAA评级,资产价格怎么走?美股或将触及天花板
  • 一个留美学生的思想转向——裘毓麐的《游美闻见录》及其他
  • 美国新泽西客运公司遭遇罢工:40年来首次,35万人受影响
  • 国家统计局公布2024年城镇单位就业人员年平均工资情况
  • 北方将现今年首场大范围高温天气,山西河南山东陕西局地可超40℃
  • 降水较常年同期少五成,安徽四大水利工程调水超11亿方应对旱情