标签:enc 字符串 操作 博客 语言 就是 读取 标准 standard
最近工作中遇到了RSA,这个,以前只是粗略的看了一下,结果,实际使用的时候,各种眼花缭乱啊。现在整理一下RSA有哪些相关知识。
1. RSA算法本身。算法本身的内容实际上是在pkcs#1的标准里面说明的。 在我博客里面记录:https://www.cnblogs.com/yxzamy/p/8961561.html
2. RSA具体使用的标准:PKCS。在我博客里面记录: https://www.cnblogs.com/yxzamy/p/9001179.html
3. RSA在编程语言中的使用。
RSA Laboratories‘ Public Key Cryptography Standard (PKCS)
这部分牵扯到算法的概念,密钥产生过程,密钥结构,具体标准这pkcs#1中定义,实际存储结构,有多种,在pkcs#7和pkcs#8中定义。
这里存储结构都是一样的,但是,实际存储的时候还是分多种文件格式的,比如pem或者der,一个用文本存储,一个二进制存储,但是,如果读取到可读到结构之后,是一样的。也就是,同样的数据结构,但是,文件结构是不一样的。
相关概念有:
公钥/私钥/module/密钥长度
密钥文件结构:pem/der/TLV
密钥存储结构结构:pem/der/ASN.1
pkcs#1中有两种算法:RSAES-OAEP RSAES-PKCS1-v1_5
加密解密的信息是有长度限制的 ,message最大长度分别是mLen <= k - 2hLen - 2,mLen <= k - 11,可是只密钥的模长度。hLen是hash操作的长度,所以,RSAES-OAEP在encoding的时候,是与hash函数有关的。
输出数据的长度都是K,也就是一个定长数据。
整个定义都在pkcs#1中
标签:enc 字符串 操作 博客 语言 就是 读取 标准 standard
原文地址:https://www.cnblogs.com/yxzamy/p/8962679.html