当前位置:首页 > 教育 >

常见的非对称加密算法(非对称加密算法有哪三种类型)

来源:原点资讯(www.yd166.com)时间:2024-05-15 01:46:38作者:YD166手机阅读>>

rsa加密算法是一种非对称加密算法,是目前最常用的公钥加密算法,被ISO推荐为公钥数据加密标准。是1977年由Ron Rivest,Adi Shamir,Leonard Adleman在麻省理工学院工作时一起提出的。

非对称加密算法,就是指加密和解密使用不同的密钥,即使用加密密钥进行加密、解密密钥进行解密。

之所以也叫公钥加密算法,因为使用时把其中加密密钥(公钥)公开,而解密密钥(私钥)保密(也可以私钥加密公钥解密)。

常见的公钥密码算法有:RSA、ECC、ElGamal、Diffie-Hellman、ECDH、ECDSA 和 EdDSA等等。

它的使用场景非常多,主要有三大用途:加密与解密、签名与验证、密钥交换。比较常见在HTTPS、SSH等协议中都使用了RSA算法来加密通信过程中的数据(协商会话密钥的过程),数字证书也使用RSA算法。

RSA 可以使用不同长度的密钥:1024、2048、3072、4096、8129、16384 甚至更多。不过小于2048位的密钥等于现在被破解的风险。但是越长的密钥,会消耗更多的计算时间。

RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行。

算法的原理

非对称加密算法的核心设想就是,加密和解密使用不同规则,但是密文与明文间可以通过各自的计算逻辑转换。在数论中,用欧拉函数对两个互质数进行计算得到几个数字即可进行密文明文之间的转换。

质数:若一个数 (>1) 满足它的因子只有 1 和它本身,那么我们称这个数为素数(质数)。

互质:如果两个正整数,除了1以外,没有其他公因子,我们就称这两个数是互质关系。

欧拉函数:任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系,这个计算公式计算欧拉函数。

加密公式为:m^e ≡ c (mod N)。

解密公式为:c^d ≡ m (mod N)。

模运算:mod(%),整数被一个正整数除时的余数。两个整数被同一个正整数除时的余数相同则称为同余数。

其中公钥就是(N,e),而私钥就是(N,d),m为明文,c为密文。

关于n,e,d这几个数字计算计算过程:

两个互质数P1、P2,计算出两互质数的乘积N,用欧拉函数计算出φ(N),再1到φ(N)之间随机选择一个整数且与φ(N)互质的e,再计算e对于φ(n)的模反元素d,这需要使用"扩展欧几里得算法"来求解d。

这个较大的数N就是RSA算法的可靠性的关键,因为由它推导出d极其困难。

这一系列证明过程用到的数学知识有:求模运算、最大公约数、扩展欧几里得算法、中国余数定理、欧拉函数、费马小定理等等。

算法举例

A和B要相互通信:

  1. A随机取大质数P1=53,P2=59,那N=53*59=3127,φ(N)=3016
  2. 取一个e=3,计算出d=2011。
  3. 只将N=3127,e=3 作为公钥传给B(公钥公开)
  4. 假设B需要加密的明文m=89,c = 89^3 mod 3127=1394,于是B传回c=1394。 (公钥加密过程)
  5. A使用c^d mod N = 1394^2011 mod 3127,就能得到明文m=89。 (私钥解密过程)
密钥的格式

密钥的生成过程使用到了6个数字:

  • 两个互质数,P1P2。这两个质数越大,就越难破解。
  • 两个互质数的乘积N,它的长度就是密钥长度。RSA密钥一般是1024位,重要场合则为2048位。
  • N的欧拉函数计算结果φ(N)
  • 在1到φ(N)之间,随机选择一个整数e。RSA常常选择65537。
  • 计算e对于φ(n)的模反元素d

将N和e封装成公钥,对外公开,N和d封装成私钥。公钥和私钥的数据都采用ASN.1语法定义,同时加了其他的信息。对ASN.1定义的二进制数据结构,输出就是 DER 格式。

ASN.1是一套标准,是描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则以描述独立于特定计算机硬件的对象结构。

DER,Distinguished Encoding Rules,可分辩编码规则,内容是二进制串。文件后缀通常为 “.der”。

公钥语法:

RSAPublicKey ::= SEQUENCE { modulus INTEGER, -- n publicExponent INTEGER -- e }

私钥语法:

RSAPrivateKey ::= SEQUENCE { version Version, modulus INTEGER, -- n publicExponent INTEGER, -- e privateExponent INTEGER, -- d prime1 INTEGER, -- p prime2 INTEGER, -- q exponent1 INTEGER, -- d mod (p-1) exponent2 INTEGER, -- d mod (q-1) coefficient INTEGER, -- (inverse of q) mod p otherPrimeInfos OtherPrimeInfos OPTIONAL }

一般而言,密钥都是通过 PEM 的格式进行存储的,它是对DER的Base64的编码形式,明文格式。

PEM,Privacy-Enhanced Mail,隐私增强邮件。PEM格式文件后缀通常为".pem"、“.cer”、“.crt”、“.key”。

在ASN.1语法基础上,RSA制定了一组公钥密码学标准PKCS,PKCS #1 标准是专门为 RSA 密钥进行定义的。

PKCS,(Public-Key Cryptography Standards,公钥加密标准),是一系列公钥密码学标准,包括了许多标准,涵盖了密钥管理、数字签名、加密算法等多个方面。

PKCS#1 对应的 PEM 格式如下:

-----BEGIN RSA PRIVATE KEY----- BASE64 ENCODED DATA -----END RSA PRIVATE KEY-----

注:PKCS已经公布了15个标准,其编号分别为PCKS#1~15。

PEM格式的密钥文件的后缀一般情况下都是. pem,下面几个也有不同:

PKCS#8文件的后缀为 .key PKCS#12文件的后缀为 .p12, pfx X.509文件后缀为.cer, .crt(X.509 是密码学里公钥证书的格式标准)

OpenSSL生成RSA密钥

1,生成一个RSA密钥

openssl genrsa -out private_pkcs1.pem 2048

2,从生成的RSA密钥中提取RSA公钥

openssl rsa -in private_pkcs1.pem -out public_pkcs1.pem -pubout -RSAPublicKey_out,

栏目热文

对称加密算法用途(对称加密算法包括哪些)

对称加密算法用途(对称加密算法包括哪些)

数字签名主要经过以下几个过程:信息发送者使用一单向散列函数(HASH函数)对信息生成信息摘要;信息发送者使用自己的私钥签...

2024-05-15 01:07:42查看全文 >>

对称加密算法的特征(对称加密算法的优缺点简答)

对称加密算法的特征(对称加密算法的优缺点简答)

对称算法使用一个密钥,给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同,解密时,使用读密钥与加密密钥相同。常见...

2024-05-15 01:14:36查看全文 >>

常用非对称加密算法(非对称加密算法的例子)

常用非对称加密算法(非对称加密算法的例子)

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。小编:记得关注哦来源...

2024-05-15 01:18:48查看全文 >>

对称加密算法描述正确(对称加密和非对称加密算法举例)

对称加密算法描述正确(对称加密和非对称加密算法举例)

什么是对称加密算法?对称加密算法是一种加密技术,使用相同的密钥来进行加密和解密。这意味着发送方和接收方必须在通信之前达成...

2024-05-15 01:33:52查看全文 >>

某科学的超电磁炮第3季大结局(某科学的超电磁炮第三季大结局)

某科学的超电磁炮第3季大结局(某科学的超电磁炮第三季大结局)

可靠消息显示,《某科学的超电磁炮》第3季动画已经确定将会在2020年播出,去年这部作品确定了将会有第三季,不过啥时候还没...

2024-05-15 01:19:48查看全文 >>

某科学的超电磁炮第三季结局讲解(某科学的超电磁炮第三季最新24集)

某科学的超电磁炮第三季结局讲解(某科学的超电磁炮第三季最新24集)

在整个魔禁系列中,芙兰达应该是最让人惋惜的领便当角色了,很大一部分原因是她的形象太可爱了,和她的悲惨结局形成了鲜明的对比...

2024-05-15 01:29:53查看全文 >>

某科学的超电磁炮第三季第十二集(某科学的超电磁炮第三季普通话)

某科学的超电磁炮第三季第十二集(某科学的超电磁炮第三季普通话)

《某科学的超电磁炮》是轻小说《魔法的禁书目录》的外传漫画,也曾推出了两季电视动画。此前官方同时宣布了《某科学的超电磁炮》...

2024-05-15 01:24:21查看全文 >>

某科学的超电磁炮第三季男主爆发(某科学的超电磁炮第三季内容)

某科学的超电磁炮第三季男主爆发(某科学的超电磁炮第三季内容)

每个肥宅都有一个中二魂,嗨大家好,这里是ACG次元饭君。 随着1月新番放送,基本上每部番剧都或多或少播出了一两话,这本季...

2024-05-15 01:33:25查看全文 >>

某科学的超电磁炮第三季预告(某科学的超电磁炮第三季高清)

某科学的超电磁炮第三季预告(某科学的超电磁炮第三季高清)

人气动漫《魔法禁书目录》第三季现已正式开播,不少粉丝在欣赏“当妈”新冒险的同时也在期待着“炮姐”的回归。而官方似乎听到...

2024-05-15 01:22:10查看全文 >>

文档排行