加密算法

简介: 加密算法主要分为对称加密(如AES、SM4)、非对称加密(如RSA、SM2)、哈希摘要(如SHA-2、SM3)、电子签名及密码存储技术。对称加密加解密快但需保密密钥;非对称加密使用公私钥,安全性高但速度慢;哈希摘要用于验证数据完整性,不可逆。各类算法在信息安全中各有应用场景。

请介绍一下你知道的加密算法
参考回答:
一般分类如下
1
对称加密
2
非对称加密
3
哈希摘要
4
电子签名
5
密码存储
其中

对称加密常见的有:DES、AES 等,国家标准有 SM4

非对称加密常见的有:RSA,ECDSA 等,国家标准有 SM2

哈希摘要有:MD5、SHA-2、SHA-3 等,国家标准有 SM3

电子签名有:通常会结合 RSA、ECDSA 和哈希摘要完成签名,或者是 HMAC

密码存储:直接使用哈希摘要作为密码存储、加盐存储、BCrypt

1.2【追问】解释对称加密、非对称加密、哈希摘要

对称加密

加密和解密的密钥使用同一个

因为密钥只有一个,所以密钥需要妥善保管

加解密速度快

非对称加密

密钥分成公钥、私钥,其中公钥用来加密、私钥用来解密

只需将私钥妥善保管,公钥可以对外公开

如果是双向通信保证传输数据安全,需要双方各产生一对密钥

A 把 A公钥 给 B,B 把 B公钥 给 A,他们各自持有自己的私钥和对方的公钥

A 要发消息给 B,用 B公钥 加密数据后传输,B 收到后用 B私钥 解密数据

类似的 B 要发消息给 A,用 A公钥 加密数据后传输,A 收到后用 A私钥 解密数据

相对对称加密、加解密速度慢

哈希摘要,摘要就是将原始数据的特征提取出来,它能够代表原始数据,可以用作数据的完整性校验

举个例子,张三对应着完整数据

描述张三时,会用它的特征来描述:他名叫张三、男性、30多岁、秃顶、从事 java 开发、年薪百万,这些特征就对应着哈希摘要,以后拿到这段描述,就知道是在说张三这个人

为什么说摘要能区分不同数据呢,看这段描述:还是名叫张三、男性、30多岁、秃顶、从事 java 开发、月薪八千,有一个特征不符吧,这时可以断定,此张三非彼张三

相关文章
|
关系型数据库 Java MySQL
clickhouse的常用语法你知道吗
clickhouse数据库,总结了一些常用的语法
886 0
clickhouse的常用语法你知道吗
|
缓存 Linux
【阿里云镜像】切换阿里巴巴开源镜像站镜像——Deepin镜像
【阿里云镜像】切换阿里巴巴开源镜像站镜像——Deepin镜像
2127 0
【阿里云镜像】切换阿里巴巴开源镜像站镜像——Deepin镜像
|
4月前
|
JSON Java fastjson
SpringBoot对接黄金白银期货数据API
该API提供黄金、白银等期货实时行情与K线数据,支持JSON格式。需传入API Key认证,通过/market获取产品ID(PID),再调用/queryFutures或/kline接口获取详情或指定周期K线(如PT1M、P1D)。附OkHttp Java示例及关键字段说明。
|
云安全 监控 安全
云安全中心和防火墙有什么不同
云安全中心和防火墙有什么不同
866 4
|
SQL 存储 关系型数据库
int(1) 和 int(10) 有什么区别?
在MySQL中,`int`类型后面的数字(如`int(1)`、`int(10)`)并不影响其存储范围,最大值仍为4294967295(无符号)。这些数字只有在配合`zerofill`使用时才有意义,用于显示时不足位数补0。例如,`int(4) zerofill`会将1显示为0001。这适用于需要固定长度编号的场景,如学号等。
578 3
int(1) 和 int(10) 有什么区别?
|
存储 安全 算法
网络安全之加密技术
【8月更文挑战第12天】
1360 3
|
Python
使用pycharm 开发streamlit的项目启动
要在 PyCharm 中配置 Streamlit 环境并调试应用,请按以下步骤操作:1. 确保 PyCharm 配置了 Python 解释器并安装 Streamlit 包(File -> Settings -> Project -> Python Interpreter)。2. 配置调试运行设置(Run -> Edit Configurations,添加 Python 配置并命名)。3. 选择新配置并点击调试按钮启动应用。
2408 23
|
存储 网络协议 安全
Kali渗透测试:拒绝服务攻击(二)
Kali渗透测试:拒绝服务攻击(二)
1432 1
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
1831 3
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
人工智能 搜索推荐 算法
人工智能在医疗诊断中的应用与前景
本文探讨了人工智能在医疗诊断中的最新进展、应用案例以及面临的挑战。通过分析AI在医学影像识别、电子病历分析和个性化治疗方案等领域的具体应用,揭示了其提高诊断准确性、缩短诊断时间的潜力。同时,讨论了数据隐私、算法偏见等伦理和法律问题,并提出了未来研究方向。