[openssl] 一个奇怪的问题

下面两句可以生成并打印出rsa密钥的信息

openssl genrsa -out rsa_priv.txt 2048
openssl rsa -in rsa_priv.txt -text -noout

输出的内容是长这个样子的:

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

打印出来的是RSA算法中的各种参数。

按道理,当RSA的位数确定之后,各个参数的位数也是确定的。 但你可以多运行几遍,会发现有些参数不知道什么时候在最前面会多出来一个00 在实际使用的时候,必须把这个00去掉才是正常的参数长度和内容。

这种多个00的情况没什么规律,似乎是随机的。难道是openssl的bug?