RSA的公钥和私钥的ASN.1编码 您所在的位置:网站首页 34e銭3amate8347鏓a7镝fb鏓df RSA的公钥和私钥的ASN.1编码

RSA的公钥和私钥的ASN.1编码

2023-11-24 15:07| 来源: 网络整理| 查看: 265

ASN.1 BER编码 https://blog.csdn.net/wzj_whut/article/details/86241935 pkcs-1定义 ftp://ftp.rsa.com/pub/pkcs/ascii/pkcs-1.asc RSA规范 https://tools.ietf.org/html/rfc8017 X509公钥格式 https://tools.ietf.org/html/rfc5280 object identifier查询 http://www.oid-info.com 如果是文件格式的文件(PEM格式), 需要先使用base64解码

公钥格式

X.509中的RSA的公钥定义为

SEQUENCE { SEQUENCE { OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1) NULL } BIT STRING, encapsulates { SEQUENCE { INTEGER INTEGER 65537 } } }

随机生成RSA的公钥如下 (https://github.com/wzjwhut/rsa-theory)

30 82 01 22 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 82 01 0f 00 30 82 01 0a 02 82 01 01 00 d7 99 7d 64 f1 5e 77 dd a9 c8 fe 3d ea ba 0f bd 83 56 27 f5 cb 52 78 09 da 60 fb 0f 16 ef b8 3a ed 19 dd c3 73 b1 e7 52 ca d8 82 95 cc 40 df 51 0c 59 26 52 6b 96 48 88 13 0a 78 28 68 3b 00 79 e6 a2 43 36 c2 04 aa 37 b0 77 73 19 ff 33 ec 50 76 45 ad 3b 46 09 29 83 c7 1b 73 d8 f7 f8 a0 f1 e4 e4 d8 ed aa fc 74 a0 5c ce 69 c4 be a8 e7 ac b3 e2 07 9b 90 de a3 94 42 89 85 90 09 58 43 fb ef 0c 05 91 38 67 f8 e1 8d 60 a8 c4 bb 3b 1f 35 1d 6a 17 38 12 50 cf 89 6d c5 27 4a 5f 98 23 df 23 d6 41 f3 ab a2 c1 5a 0d 2f d5 92 0c 3e 93 4e ef 4e 49 7d 0d 39 99 b9 a0 24 2a ce 7b 67 15 a3 df 25 2c ed b1 19 76 e3 41 ab 7f f8 86 fb 88 ed 85 94 2a 43 0d 3f 4d 1f c0 5d e7 af 5c 18 8a e0 99 bd de ba 78 ec 97 27 ae ca ea 75 be 5f 84 2a 9a 10 c6 fa db cd 25 11 59 2a bf 12 36 02 9c 0d 02 03 01 00 01

总共294字节, 它的格式如下

30 --表示ASN.1的SEQUENCE编码 82 01 22, --content长度为0x0122, 即290字节, 剩下的所有的数据都是content 30 --又是一个sequence 0d --长度为13字节 06 -- Object identifier 09 --长度为9个字节 2a --整数42 = 1*40 +2 , 即 {1, 2} 86 48 --整数840 86 f7 0d --整数113549 01 01 01 , --三个整数1 --因此, object id是{1 2 840 113549 1 1 1}, 官网上查到的pkcs-1的OID=1.2.840.113549.1.1.1 05 00 -- null 03 --表示bitstring 82 01 0f --长度为 271, 剩下的所有数据 00 --padding的比特数为0. 30 --sequence 82 01 0a --长度266 02 --整数 82 01 01 --长度为257, 以下是一个超级大的整数, 为密钥中的n 00 d7 99 7d 64 f1 5e 77 dd a9 c8 fe 3d ea ba 0f bd 83 56 27 f5 cb 52 78 09 da 60 fb 0f 16 ef b8 3a ed 19 dd c3 73 b1 e7 52 ca d8 82 95 cc 40 df 51 0c 59 26 52 6b 96 48 88 13 0a 78 28 68 3b 00 79 e6 a2 43 36 c2 04 aa 37 b0 77 73 19 ff 33 ec 50 76 45 ad 3b 46 09 29 83 c7 1b 73 d8 f7 f8 a0 f1 e4 e4 d8 ed aa fc 74 a0 5c ce 69 c4 be a8 e7 ac b3 e2 07 9b 90 de a3 94 42 89 85 90 09 58 43 fb ef 0c 05 91 38 67 f8 e1 8d 60 a8 c4 bb 3b 1f 35 1d 6a 17 38 12 50 cf 89 6d c5 27 4a 5f 98 23 df 23 d6 41 f3 ab a2 c1 5a 0d 2f d5 92 0c 3e 93 4e ef 4e 49 7d 0d 39 99 b9 a0 24 2a ce 7b 67 15 a3 df 25 2c ed b1 19 76 e3 41 ab 7f f8 86 fb 88 ed 85 94 2a 43 0d 3f 4d 1f c0 5d e7 af 5c 18 8a e0 99 bd de ba 78 ec 97 27 ae ca ea 75 be 5f 84 2a 9a 10 c6 fa db cd 25 11 59 2a bf 12 36 02 9c 0d 02 --整数 03 --就3个字节 01 00 01 --数字 65537, , 为RSA密钥中e 私钥格式

密码加密规范 https://tools.ietf.org/html/rfc8018 私钥文件格式 https://tools.ietf.org/html/rfc5958

格式定义 EncryptedPr



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有