openssl RSA公钥私钥说明

生成一个密钥:

openssl genrsa -out test.key 1024

这里-out指定生成文件的。需要注意的是这个文件包含了公钥和密钥两部分,也就是说这个文件即可用来加密也可以用来解密。后面的1024是生成密钥的长度。

openssl可以将这个文件中的公钥提取出来:

openssl rsa -in test.key -pubout -out test_pub.key

-in指定输入文件,-out指定提取生成公钥的文件名。至此,我们手上就有了一个公钥,一个私钥(包含公钥)。现在可以将用公钥来加密文件了。

一般openssl生成的密钥是pem格式的。pem是一种文件存储格式, 可以用来存放公钥, 私钥, 证书等. 通常包含这样的信息
私钥格式

-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
公钥格式

-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY----

其中...密钥部分内容为密钥的base64编码。

公钥

根据X.509 即密码学公钥证书的格式标准,

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

随机生成RSA的公钥如下

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

私钥

格式定义
EncryptedPrivateKeyInfo {undefined
密码生成算法参数
加密算法参数
加密后的数据, 即RSAPrivateKey使用密码加密后的数据
}

RSAPrivateKey ::= SEQUENCE {undefined
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
}
以下是一段随机生成私钥, 密码为123456

30 82 05 0e 30 40 06 09 2a 86 48 86 f7 0d 01 05
0d 30 33 30 1b 06 09 2a 86 48 86 f7 0d 01 05 0c
30 0e 04 08 7d ff c1 d7 c3 3d 4b 55 02 02 08 00
30 14 06 08 2a 86 48 86 f7 0d 03 07 04 08 d6 cd
24 36 11 69 b9 76 04 82 04 c8 61 65 de 97 7e c5
ba 45 c6 f0 9f 4f d5 e4 d8 52 51 0f d4 a1 0e a7
cb b9 c4 f2 8c c3 95 69 56 6f 66 ad e9 e5 c2 7e
3b 15 91 61 f1 91 e0 84 23 4f 6a 12 67 c4 02 dd
6e fa a8 30 b5 10 58 7e 47 1a 58 35 20 6e 64 79
d7 79 46 7b 36 70 1d 76 e2 d2 22 10 7a d9 20 4b
fc dc 00 e7 5e 46 e1 90 6a 77 1d 04 e5 b5 67 9f
0e 3a 9c ab 89 65 4c d9 f6 51 52 6d 54 c8 88 ff
9f 70 89 7e 10 19 7f f0 a5 67 9c 4d 10 8e 92 51
2b 70 de 0a 2b bb 89 1f 67 57 3b 7f 2a ea a2 b2
fd 40 a1 14 96 09 9f 67 ce d8 83 21 c5 70 9f c0
4b b6 ca 69 d5 99 03 d0 5e 92 70 e8 b6 d3 9c 1e
68 4a 10 25 ab 77 ea 1e e2 18 2a f1 cc d9 7f 0b
05 ab a1 60 76 0d 6a c1 b8 52 52 a3 9b 7a 48 56
fd a2 7e 94 f0 17 47 a9 39 91 76 17 d6 27 44 32
e1 83 8e b2 f1 9c 9a a2 b7 80 bc 6b 82 b8 d0 e8
1a 81 5e a9 87 5d 01 9f 9d ed 40 55 d5 f8 bf aa
82 9c 91 75 43 c2 5c cc 62 8d 3c c4 21 d6 63 e9
d9 2d ca 6b bc 32 50 ce 0c 80 ba 05 0f a3 73 f3
39 4e b1 ff 4f 23 ff 24 99 40 20 f7 ce e3 62 27
a6 d2 09 ac 86 79 83 e3 d8 52 f1 a0 7f 68 d8 a9
a7 8d dd 92 9f 38 58 0b 08 94 67 c8 c6 48 bf 91
1a 35 41 a6 e1 37 5b c9 08 8e 49 8a 6b 26 ed 6e
35 38 ce 37 b0 0c eb 30 26 88 7c 88 d7 4f 7a 98
39 a3 13 b0 bd e7 ad 04 cd ae f9 e8 1e 37 84 39
c6 cc d1 f8 3b d3 06 a4 b0 d8 13 ba ba 61 2e df
1d a3 f6 ae 36 35 15 6c 07 7e 1f 27 3c 33 10 7f
0e 80 3f b8 c7 d6 fc 04 28 93 e7 0e 92 18 91 7e
53 e4 61 d5 7b bc 0f c3 a1 14 12 09 46 ad e8 4d
e4 46 73 a8 3b 90 b0 bf a5 f2 9e 75 2e 98 bb 0d
c9 b5 3d 65 a6 cf 70 80 16 b9 2a 93 c6 36 a0 b2
c4 db 2a 15 09 36 0f 8b 27 b4 db 23 eb 08 4b a3
aa d5 bc 40 0e 7f d3 c4 f8 dd d1 ce 37 77 f5 98
29 a1 2f ad 09 48 88 9e d5 01 62 19 2a b9 24 01
c0 d7 3a 44 39 1d 86 65 b4 db 82 bd 6a b8 d6 9d
d6 dc 13 c3 40 0c 5d d1 d4 3a 89 2e e1 55 af e1
e3 48 81 77 a9 d9 6e e5 c5 db 9e 5a 33 81 4d bb
03 23 6a 18 6d 82 a7 18 49 69 51 6b 83 84 5e 04
a4 5b 89 9a 3e f6 5d cc df b2 9e 0c 2a 82 e2 02
38 1e 38 c4 44 cb b1 79 5d 1a 68 4c a0 7d c9 18
14 d2 26 83 15 34 bd 26 4c cf 86 39 be 75 bb 1d
1b 1b 5a ab 10 e1 7b 83 13 54 c4 2c 76 18 f1 a3
c3 f9 f9 db d4 e0 6d 05 d2 b1 ee d3 09 d5 9d 76
f2 07 7c 79 10 3a 04 bb 59 7f c8 f0 f9 43 9e ad
23 0b 1c 46 08 15 c9 92 f1 bb e3 e5 ac a5 a9 ef
2e c7 90 84 df 3d 71 4d 08 96 f9 9b a2 59 67 ed
59 61 b8 ef 64 4c c8 e4 c7 39 20 4a 54 f7 f9 60
76 f1 4f 0a 56 02 57 15 f8 db 98 ca 36 ca f5 a4
a4 05 ad c9 fc 07 2c a2 8f 47 79 48 80 3a 27 e1
ff 67 ae c8 42 77 e7 1e 7a 8b 47 fc da 46 48 29
c9 82 4c 3c d2 95 99 af ef c2 29 db 47 1f c2 4d
78 bd b3 d5 01 26 63 ae d6 5d a5 a6 91 e7 90 7d
a0 b3 7d f2 93 4a 78 0a 31 c9 11 09 26 a7 59 09
41 d7 76 19 b6 fb b4 fd 87 88 f4 b1 f6 73 9c 04
1a 4c 6e 19 4a eb 4e d0 61 f5 e6 7e 69 51 94 62
69 6a 78 b1 93 b7 a8 60 b5 e7 c4 5d cf 0b 0c 70
ee ae 5c 3a ae 4b b9 ac 8c ba ad b1 79 1a 65 a7
b4 d9 47 c8 e7 ba 9d 00 95 46 f1 97 4a bc 02 48
c8 c0 18 cb e5 a6 5c b4 58 7d 7e 17 24 b7 c4 49
95 db 0a c4 de 39 91 bf fe 75 cc 75 e9 78 10 ab
47 e8 bb 6e 59 24 c5 95 a0 8a 22 2d d4 a9 df 74
3d 1a 66 80 ef 79 59 97 d2 d0 fd 59 70 7c 55 fe
dc da 67 6b 59 3d e7 32 7d 48 cf 25 ea b0 c9 af
95 ec 1d 35 45 b7 c8 b1 8e bd 8e 7e 86 79 b7 76
93 6c 17 ca c5 3a 2a 73 31 94 1f 30 61 5b a1 63
60 75 3e e8 df d1 54 61 cb 4f a8 07 f0 6d 84 3e
74 a0 87 eb 74 e6 92 37 d2 e1 59 3c 1d ff 4a a9
43 99 0e b2 da d1 53 a5 82 12 91 62 af d0 22 9d
85 fe 3a cd 46 2c 47 ec eb e6 34 52 60 df e0 3a
fc 5a bb d7 31 bd a4 64 bc cc 44 d5 2f 3e a9 14
8f b4 01 82 cf 8b 7c 7e 82 04 59 a9 ec 23 cc 09
4e 6e e0 fe 25 64 9f 61 7c ce 65 e9 25 5b 6a 07
e0 02 cf f8 ef 71 14 ba ca 77 0c 01 64 3b f8 a3
00 1b c7 f8 92 e5 74 c7 45 96 ff 44 cf c9 e0 db
1d f0 b3 ab 90 6c d5 57 2a 4e 58 eb 78 4c d5 42
d1 a0 bb 75 e7 84 be 30 21 36 77 89 68 78 ae f8
60 54 bf 97 7b 24 75 9d ad 60 56 7e b4 11 22 b3
67 d1

 它的格式如下

30 sequence
82 05 0e  长度0x050e, 1294
    30 sequence
    40 长度64 
        06 Object identifier type
        09 长度9
            2a   86 48   86 f7 0d  01 05 0d   
            // 1.2.840.113549.1.5.13  {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-5(5) pbes2(13)}
            //对应的定义为
        30 sequence
        33 长度51
            30 sequence
            1b 长度27
                06 Object identifier type
                09 长度9
                2a 86 48 86 f7 0d 01 05 0c  
                //oid 1.2.840.113549.1.5.12  {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-5(5) pBKDF2(12)}  https://tools.ietf.org/html/rfc2898
                30 sequnece
                0e 长度14
                    04 Octetstring type  
                    08 长度8
                        7d ff c1 d7 c3 3d 4b 55  8字节的salt
                    02 Integer type
                    02 长度2
                        08 00 整数2048   加密次数2048次         
            
            30 sequence  //此处为PBES2-Encs
            14 长度20字节 
                06 Object identifier type
                08 
                2a 86 48 86 f7 0d 03 07  1.2.480.113549.3.7 自定义的类型, 为DES-EDE3-CBC-Pad加密
                04 Octetstring type //iv
                08 
                d6 cd 24 36 11 69 b9 76 
    
    04 octetstring
    82 04 c8  //1224 剩下的所有字节都是octetstring, 是通过DES-EDE3-CBC-Pad算法加密之后的数据
    61 65 de 97 7e c5
    ba 45 c6 f0 9f 4f d5 e4 d8 52 51 0f d4 a1 0e a7
    cb b9 c4 f2 8c c3 95 69 56 6f 66 ad e9 e5 c2 7e
    3b 15 91 61 f1 91 e0 84 23 4f 6a 12 67 c4 02 dd
    6e fa a8 30 b5 10 58 7e 47 1a 58 35 20 6e 64 79
    d7 79 46 7b 36 70 1d 76 e2 d2 22 10 7a d9 20 4b
    fc dc 00 e7 5e 46 e1 90 6a 77 1d 04 e5 b5 67 9f
    0e 3a 9c ab 89 65 4c d9 f6 51 52 6d 54 c8 88 ff
    9f 70 89 7e 10 19 7f f0 a5 67 9c 4d 10 8e 92 51
    2b 70 de 0a 2b bb 89 1f 67 57 3b 7f 2a ea a2 b2
    fd 40 a1 14 96 09 9f 67 ce d8 83 21 c5 70 9f c0
    4b b6 ca 69 d5 99 03 d0 5e 92 70 e8 b6 d3 9c 1e
    68 4a 10 25 ab 77 ea 1e e2 18 2a f1 cc d9 7f 0b
    05 ab a1 60 76 0d 6a c1 b8 52 52 a3 9b 7a 48 56
    fd a2 7e 94 f0 17 47 a9 39 91 76 17 d6 27 44 32
    e1 83 8e b2 f1 9c 9a a2 b7 80 bc 6b 82 b8 d0 e8
    1a 81 5e a9 87 5d 01 9f 9d ed 40 55 d5 f8 bf aa
    82 9c 91 75 43 c2 5c cc 62 8d 3c c4 21 d6 63 e9
    d9 2d ca 6b bc 32 50 ce 0c 80 ba 05 0f a3 73 f3
    39 4e b1 ff 4f 23 ff 24 99 40 20 f7 ce e3 62 27
    a6 d2 09 ac 86 79 83 e3 d8 52 f1 a0 7f 68 d8 a9
    a7 8d dd 92 9f 38 58 0b 08 94 67 c8 c6 48 bf 91
    1a 35 41 a6 e1 37 5b c9 08 8e 49 8a 6b 26 ed 6e
    35 38 ce 37 b0 0c eb 30 26 88 7c 88 d7 4f 7a 98
    39 a3 13 b0 bd e7 ad 04 cd ae f9 e8 1e 37 84 39
    c6 cc d1 f8 3b d3 06 a4 b0 d8 13 ba ba 61 2e df
    1d a3 f6 ae 36 35 15 6c 07 7e 1f 27 3c 33 10 7f
    0e 80 3f b8 c7 d6 fc 04 28 93 e7 0e 92 18 91 7e
    53 e4 61 d5 7b bc 0f c3 a1 14 12 09 46 ad e8 4d
    e4 46 73 a8 3b 90 b0 bf a5 f2 9e 75 2e 98 bb 0d
    c9 b5 3d 65 a6 cf 70 80 16 b9 2a 93 c6 36 a0 b2
    c4 db 2a 15 09 36 0f 8b 27 b4 db 23 eb 08 4b a3
    aa d5 bc 40 0e 7f d3 c4 f8 dd d1 ce 37 77 f5 98
    29 a1 2f ad 09 48 88 9e d5 01 62 19 2a b9 24 01
    c0 d7 3a 44 39 1d 86 65 b4 db 82 bd 6a b8 d6 9d
    d6 dc 13 c3 40 0c 5d d1 d4 3a 89 2e e1 55 af e1
    e3 48 81 77 a9 d9 6e e5 c5 db 9e 5a 33 81 4d bb
    03 23 6a 18 6d 82 a7 18 49 69 51 6b 83 84 5e 04
    a4 5b 89 9a 3e f6 5d cc df b2 9e 0c 2a 82 e2 02
    38 1e 38 c4 44 cb b1 79 5d 1a 68 4c a0 7d c9 18
    14 d2 26 83 15 34 bd 26 4c cf 86 39 be 75 bb 1d
    1b 1b 5a ab 10 e1 7b 83 13 54 c4 2c 76 18 f1 a3
    c3 f9 f9 db d4 e0 6d 05 d2 b1 ee d3 09 d5 9d 76
    f2 07 7c 79 10 3a 04 bb 59 7f c8 f0 f9 43 9e ad
    23 0b 1c 46 08 15 c9 92 f1 bb e3 e5 ac a5 a9 ef
    2e c7 90 84 df 3d 71 4d 08 96 f9 9b a2 59 67 ed
    59 61 b8 ef 64 4c c8 e4 c7 39 20 4a 54 f7 f9 60
    76 f1 4f 0a 56 02 57 15 f8 db 98 ca 36 ca f5 a4
    a4 05 ad c9 fc 07 2c a2 8f 47 79 48 80 3a 27 e1
    ff 67 ae c8 42 77 e7 1e 7a 8b 47 fc da 46 48 29
    c9 82 4c 3c d2 95 99 af ef c2 29 db 47 1f c2 4d
    78 bd b3 d5 01 26 63 ae d6 5d a5 a6 91 e7 90 7d
    a0 b3 7d f2 93 4a 78 0a 31 c9 11 09 26 a7 59 09
    41 d7 76 19 b6 fb b4 fd 87 88 f4 b1 f6 73 9c 04
    1a 4c 6e 19 4a eb 4e d0 61 f5 e6 7e 69 51 94 62
    69 6a 78 b1 93 b7 a8 60 b5 e7 c4 5d cf 0b 0c 70
    ee ae 5c 3a ae 4b b9 ac 8c ba ad b1 79 1a 65 a7
    b4 d9 47 c8 e7 ba 9d 00 95 46 f1 97 4a bc 02 48
    c8 c0 18 cb e5 a6 5c b4 58 7d 7e 17 24 b7 c4 49
    95 db 0a c4 de 39 91 bf fe 75 cc 75 e9 78 10 ab
    47 e8 bb 6e 59 24 c5 95 a0 8a 22 2d d4 a9 df 74
    3d 1a 66 80 ef 79 59 97 d2 d0 fd 59 70 7c 55 fe
    dc da 67 6b 59 3d e7 32 7d 48 cf 25 ea b0 c9 af
    95 ec 1d 35 45 b7 c8 b1 8e bd 8e 7e 86 79 b7 76
    93 6c 17 ca c5 3a 2a 73 31 94 1f 30 61 5b a1 63
    60 75 3e e8 df d1 54 61 cb 4f a8 07 f0 6d 84 3e
    74 a0 87 eb 74 e6 92 37 d2 e1 59 3c 1d ff 4a a9
    43 99 0e b2 da d1 53 a5 82 12 91 62 af d0 22 9d
    85 fe 3a cd 46 2c 47 ec eb e6 34 52 60 df e0 3a
    fc 5a bb d7 31 bd a4 64 bc cc 44 d5 2f 3e a9 14
    8f b4 01 82 cf 8b 7c 7e 82 04 59 a9 ec 23 cc 09
    4e 6e e0 fe 25 64 9f 61 7c ce 65 e9 25 5b 6a 07
    e0 02 cf f8 ef 71 14 ba ca 77 0c 01 64 3b f8 a3
    00 1b c7 f8 92 e5 74 c7 45 96 ff 44 cf c9 e0 db
    1d f0 b3 ab 90 6c d5 57 2a 4e 58 eb 78 4c d5 42
    d1 a0 bb 75 e7 84 be 30 21 36 77 89 68 78 ae f8
    60 54 bf 97 7b 24 75 9d ad 60 56 7e b4 11 22 b3
    67 d1

里面的加密数据的解密方式为

使用PBKDF2WithHmacSHA1生成key, 以上生成示例生成的key为
9f 25 42 ea 69 b2 de 43 98 2d 49 b3 60 ea fd 92 a6 90 16 cb 2a 27 3d 00
代码 https://github.com/wzjwhut/tlsv12-demo/blob/master/src/main/java/com/wzjwhut/example/PBKDF2.java
使用DESede/CBC/NoPadding解密
代码 https://github.com/wzjwhut/tlsv12-demo/blob/master/src/main/java/com/wzjwhut/example/DesUtil.java
解密之后的数据的结构为

 

//总长度1224

30 sequence
82 04 c0 //长度1216
    02 整数
        01 
        00 数字0
    30 sequence
    0d //13
        06 Object identifier type
            09 
            2a 86 48 86 f7 0d 01 01 01 
            // oid 1.2.840.113549.1.1.1 
            //{iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) rsaEncryption(1)}
        05 00 
    
    04 Octetstring
    82 04 aa  //1194
        30  sequence
        82 04 a6 //1190
            02 
                01 00 //整数0
            02 
                82 01 01  //257, 以下是257字节的整数, 即RSA中的n
                00 cd 79 c6 0c 71 f8 c0 34 c1 c7
                a9 1a f5 9a 96 42 54 e1 5b ad 10 c0 51 76 7d 91
                2b de 0b 8f af 61 2d 6d 28 44 2e 35 71 65 20 3b
                3c b9 07 c1 4d a3 c8 c6 13 f9 00 3e 95 c2 56 55
                3b 8c d8 b8 65 82 73 00 dc 7a f5 13 bf 74 f2 82
                71 85 66 fd bc 34 23 43 04 a0 4f d7 bc 96 54 88
                c2 91 de b3 a4 04 13 83 6c 27 a0 d8 52 d5 b1 48
                dd e9 07 a3 9c f2 51 dc 0e e2 72 ac 38 85 3d 9b
                76 34 0c 02 b3 86 bb 06 6d 8e f0 d2 1f 09 56 db
                d8 b4 2f 70 76 30 34 97 b0 0e 83 03 59 58 62 bb
                4d 5e 1b 75 de d5 f9 5a be 65 25 92 d7 07 8d 3c
                d2 cb 7e 46 06 27 51 59 6d 7c 3c 00 fb 3d fa 9e
                99 91 cd 49 cf ce 11 d7 be 06 3e 18 50 48 19 d6
                0d a3 55 06 97 a1 a6 fa 2c 55 7b ba 91 18 7d 75
                74 9c d0 c8 a5 8c 00 af f3 04 ae d7 87 d1 32 3c
                07 cd f1 3f cc 1d 38 88 33 82 da d3 29 f8 f0 c8
                68 c9 8a 63 21 eb 
            02 整数
                03 01 00 01 //数字65537, 即RSA中的e
            02 
                82 01 01 257, 以下是257字节的整数, 即RSA中的d
                00 b9 82 a4 e5 1d 8d 08 f3 58 b4 cb 9f 54 78 d2 0a
                67 19 e3 ac 17 c0 9a 8b d1 08 5d 43 a6 ca 7d fb
                cd 88 8c df 29 9d 04 98 d9 85 c1 e8 07 f1 65 08
                67 3f 36 4f 0c 02 75 31 34 c2 d4 f5 ef c0 63 9d
                67 f9 32 16 2c e8 3c 65 f8 80 fe bf 03 62 38 26
                16 63 ee 6c 52 49 a3 b1 51 f6 fb 3b b9 86 14 a1
                bd 80 5d 08 56 36 98 6a e8 19 b2 88 2e 66 70 4f
                72 ca ac 01 94 a8 9a 8a e9 39 4f 79 e4 12 18 43
                fe 47 78 21 61 32 21 b2 e4 f9 7b a5 b4 4a 83 80
                dc b1 f3 89 87 5b 7e 06 a5 d4 88 af 95 46 fb 85
                21 fc ba 01 f0 83 1e 27 4c ba b8 57 0b a5 ec b8
                7b 5e 56 c7 2f 4c 64 24 c0 7b c0 51 d6 ba 58 15
                83 19 26 12 8e b4 9b 4e 97 48 72 3f 1a ac 12 bd
                5d 0b 18 90 01 e5 da c4 1f f2 2e 96 cb bb a5 46
                bd 8c 7e cd b6 06 39 d2 fc ea 71 1a 76 45 dd 0b
                2f 70 aa ab 0d b4 90 b1 6f e0 1c 92 8b 59 de 99
            
            
            02 整数
                81 81 //129字节, 以下是RSA中的p
                00 ff ab d0 57 65 c4 80 6b f6 d2 22 5e
                05 75 87 4a 8b fc 57 ef 7a a5 70 23 b6 d6 09 f0
                d3 84 53 34 2e 12 01 2d 35 ab f7 39 74 65 27 8f
                62 b9 29 9b 2b ec 8e 57 e3 9c b0 e8 57 01 fe 6b
                13 82 e8 66 8c a6 65 58 d0 1a 75 ea 00 f3 35 f5
                bc 72 3d 36 0a 3f f0 fb b6 8b c1 37 65 72 ac 0e
                7a 8b 4f 3c ab 28 19 0e 5e f2 4f 6a 39 1e 4e cb
                e9 f1 7c b0 3d a0 71 c7 23 d3 bb 29 90 47 a0 6f
                22 21 e6 5f 
            
            02 
                81 81 //129字节, 以下是RSA中的q
                00 cd bd 6e 81 fc 2d a7 74
                2f fb 1a 5d d4 ba 67 2a 80 a1 43 11 fe 27 ef 62
                2d dd 93 be c4 a7 b1 01 2d 06 d8 5e 8a 80 ee bd
                18 13 99 ba fd 3f 37 05 f9 53 3b 4c e7 03 eb 01
                93 38 6e f1 a6 b5 7a 2b ec cf cd 7c ed f6 78 c6
                b1 bd 73 26 d8 3f b3 a1 fc 43 e6 bc 2f 68 ee bc
                91 e9 45 83 28 ef 18 55 8b 23 f2 ec f9 de bd 5f
                ee 38 4a cd 2b 41 0e 79 87 89 94 54 cb ef 90 c6
                16 f2 db 06 1c d4 f7 f5 
            02 
                81 81  //129字节, 以下是RSA中的d mod (p-1)
                00 b9 49 43 e0
                c2 c0 e8 ac d5 a0 2e 05 e3 80 ec 3e 4b 3a e2 63
                8c 87 ae c0 43 35 d4 d8 72 01 b8 e6 dc e8 71 6f
                d9 30 ba 27 2a 42 50 ac 2a 48 b4 6d 5f 24 bd 77
                d6 5d 6d 1b c4 4a 8e 9d fc f2 e7 07 c2 b0 a8 4b
                f7 ec e5 3d 63 d8 de 67 2b 5d c3 1c 91 cb 0b 12
                f0 95 51 be 9a c7 c3 07 6f 29 dc 8f c4 1e 78 22
                21 0f 0c 1c 98 2e 6d be 7b d9 65 9a b7 de b9 f6
                2e f1 b7 f7 04 37 d4 7e 15 c7 69 93 
            02 
                81 81  //129字节, 以下是RSA中的d mod (q-1)
                00 ca d7 a7 6a 54 9d 16 6a 01 1c 4a e4 93 e5 ab ed
                45 a0 b8 a5 b6 b4 dc d9 29 6b 3a 4d 6d 49 ff c3
                af 06 fe b0 47 51 d3 0f 6f fb 73 27 de a3 42 b6
                8b 18 ba 70 99 9b 4d 49 e2 42 53 6f c0 f3 4f 9e
                9a fe 4e 14 8b f0 e3 26 d2 fa 7b db a2 7d 3b b7
                cb 25 8f 09 9e 9c 90 34 2e 8f 94 cf 39 be 71 79
                75 93 5d e0 b2 82 1e a7 c4 10 8f ff 34 54 11 d7
                54 00 1a d4 77 b4 9c 42 11 42 23 1b 25 b5 fb 39
            
            02 
                81 81  //129字节, 以下是RSA中的(inverse of q) mod p, //qInv, 是中国剩余定理的第1个系数
                00 c6 4c 62 45 cd a0 82 a4 84 48 c7 b5
                7b 61 1b 2c 67 d0 b6 88 17 7d c0 76 09 20 51 42
                73 48 ce 21 c0 c2 66 fc ae 90 f9 db 61 e4 81 83
                b0 68 30 32 f7 e2 f2 9d 79 01 ad b4 ca 87 65 66
                e4 e2 9b 3a 67 60 5f 00 52 68 a4 82 a5 cc a5 f7
                9a e8 bb 32 10 b7 09 ce 7d 8c 31 ec 60 4f 8e b5
                cf 14 4d ee 66 03 db a4 66 eb f7 3a 9f 74 1e 4a
                70 4d d6 0d e8 a2 c1 1e 21 6e 68 83 04 e9 3d 09
                17 ad 38 77 

04 04 04 04 //这是padding. 移除

————————————————
版权声明:本文为CSDN博主「wzj_whut」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wzj_whut/article/details/86477568

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值