加密算法理论概述-阿里云开发者社区

开发者社区> 人工智能> 正文
登录阅读全文

加密算法理论概述

简介: 加密算法理论知识概述RSA AES

加密算法理论知识概述

RSA公钥加密算法

原理:基于大数的因式分解十分困难
使用时生成一对RSA密钥,一个作为公开密钥,对外公开,一个是保密密钥由用户保存,加密时使用公钥对明文进行加密,解密时使用密钥进行解密

属于非对称加密算法
图解公钥和私钥的生成过程
欧拉函数
欧拉数的计算公式如上
在这里插入图片描述

加密过程:
X^E mod N = Y
其中X为明文,E为公钥,N为大整数,Y为密文,mod取余运算
解密过程:
Y^D mod N = X
其中Y为密文,D为私钥,N为大整数,X为明文,mod取余运算。

AES高级加密标准

最常见的对称加密算法
一共涉及了四种操作:字节替代,行移位,列混淆,轮密钥加

下图是十轮加密的流程图:
在这里插入图片描述
由于是对称加密算法,所以加解密的速度非常快,适合频繁传输的数据进行加密

ECC椭圆加密算法

其优势是使用更小的密钥取得更好的安全性,在私钥的处理上比RSA,DSA速度更快,存储空间更小,带宽要求更低


Ed25519数字签名算法

是一种在扭曲爱德华兹曲线上使用Schnorr机制来实现的一种数字签名机制。

  1. 签名和验证的性能高,安全性好,签名过程不依赖随机数生成器,不依赖hash函数的防碰撞性,没有事件通道攻击的问题
  2. 在 ED25519 的算法设计中,通过使用密码学哈希函数来代替伪随机数发生器,避免了签名算法的使用者因为采用的随机数生成器不够随机化而产生的安全问题。ED25519 的实现除去私钥的生成之外,签名过程已经完全脱离对随机数发生器的依赖,避免了因为随机化问题而导致密钥的泄露与安全性问题。

在这里插入图片描述

X25519椭圆加密算法

X25519是进行蒙哥马利迪菲赫尔曼密钥交换的椭圆曲线算法

  1. Curve25519是Bernstein在2006年构建的蒙哥马利曲线。
  2. 其中25519表示椭圆曲线所依赖的底层素数域的特征为2^255-19。
  3. 基于曲线Curve25519, Bernstein构建了Diffie-Hellman密钥交换协议X25519.与传统的ECDH密钥交换协议相比, X25519协议最显著的特点是仅依赖椭圆曲线上点的x坐标。

CBC

密文分组链接加密模式
将明文分组与前一个密文进行异或运算后得到新的密文再与后一组进行异或运算,直到得到最后的密文
在这里插入图片描述
需要注意的是加密第一个明文分组时,不存在密文分组,因此需要准备一个bit序列(又称为初始化向量),每次加密都会随机产生一个不同的序列来作为初始化向量

CTR

计数器模式加密是对一系列输入数据块进行加密,产生一系列输出块,输出块与明文异或得到的密文

其最大的优势是可以并行执行,适合高速传输需求

但是CTR不能提供密文消息完整性检验功能即无法防止篡改

在这里插入图片描述

CCM

CTR加密 + CBC-MAC认证
可以同时生成认证信息并对数据进行加密

认证处理使用CBC-MAX
操作流程:
需要的信息:
k——密钥
N——nonce N 长度为15
m——明文信息
在这里插入图片描述
数据加密采用CTR模式
在这里插入图片描述

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章
最新文章
相关文章