ssh-keygen generates a pair of files: Private Key and Public Key.
In this example, Private Key file name is a and Public Key file name is a.pub.
Content of Private Key is:
$ cat aContent of Public Key is:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,9C597745A08DB86D4EFE5EC113143C0C
VkDJYd51MOjScxAJUHQ7l+7hDOsKn5m7iC59QcXAb+ROZerWBba+R4NFocA1+rof
7CpE55KR9wpsR4Zq15csHmjsYrOsGd1PYE9YCNKeAEAQqEs8uUjhb/0emJT3v8TP
vqt/gp8zC14v1lP7xEmFRZNAwtVk9a0Exc61GsSLEAVZk7neaUh1Q43it8+UkcSg
wgo7SsVgisOM2HT6rxl6MgEYpz0XAj0bzSamfyCJhRevGozWJjhHDbJGFW7bGJgj
eRLtWVZpDbWYpFwdowri72XREOYTQViThKR5dXebr4yz4Yr+zGwTtZjoShtkHfRH
qYNrOnJR9hKV3ALsjeb18PlX/Fh8h/dDX1Fyvr8vCzYwMz6lIk0y1HpVGxOz1ZV1
v8IX82dhiehO9FlxGwpbEQUgaiKqS0F4g4FEKfvwnhlU9hvikCjpQOJGF9mtxzya
iMOMC5EWqlAWNWkspyVAdG+iCDLKT9sBK2yzOasOcHxiSo93RZ40pDpJETRTwWwq
xjxQKqdUoekGDCpGGjzcnIZw8DKqVi+JdpQ3OQwcXgaLbW/ivl57PzxjRtNKHkuK
/Jqus47HrcY8MTXTXe4/IzWLU7rZgSBnlsHMVthl3hBpHeeZ5uiXirp86nJ82X7C
ApAM2HKImYrsgg4udW4lmoESkO5n8udCmGuQzfgDvVTAFn2UPY3KoFcLIiYclAtR
bda/20owVriVbK/f6FGH1JvPwn+0bo0jj8H8e1JuE5zrL+MsFW7SggoUGLkA48kc
XxDjco7R38w0vQ0F0VEqhORjpwDiLcn8WKcWCdTYGijWC42gTyJH8G7iXWOAyQSd
Bfmj2sF7Hzp4CPmL6L+qg7ry/PJK6AsbCeWxSOjmzZM2FVlOmM3x26p8UfYf3TPK
+LoqyROg29muzkR27kQ1Gw1hvvR+rDE4lZJ3LqKxLsPrURplgr1+qgz+eQ4YhAxV
OLMyNG6Chx3DbRpYTV1JU99n7n/+bABL7sDsFoKdbW54CD48UbtP7g3rU61QeSg+
4qMw1TS+1V3DFaLlHyzn8FdgWquowDm+3Q/ofhxZMzfQ71acYDE5mcVKvqxiJ6N6
m2JUHCoiJog92y4CvE/pn2o59vPxlaqk5pozBVU9Fz02pM3zM4TBrXy/qui4Lz2E
XuZG8AkbuJ8POfuezNQrCVQ9h7zj3lOmhFkgRiTSYGGWMnstmQiunE0mahoIfodw
0ttNiihXZSDTVp6Zg3/kzU7gqt6OHuaANGWhG1QyRx3dYNXgvpSXq7dE+xaMT/N3
jlC79QL0m1wuvaJGnWhggRzrJJ6wTU1dyAKKw3ErN4X+pqTIYChrtYvk65vIQ0ZA
hrezdJrNzSMtU//1cssrYjw5MV+btzj6eX12AV9YqBJMkAq5aTRjCUwgW3tris8L
O/xCX8VaE5/4O2v/fkyu2DrZIih5+nw6yEuKFDpPLza685oq9FBP0OWoFgoz9TeB
yCqdeyr23XOoS6qk7X9xRFZSDFOmP7AvnJmpJypyQ2YSQbwoqt8r7vZAi+uKNdCi
1WF6ajdFpK6Bqn+WFV7CM9wEH1bOga2YTaXfG5B+8he91hjgM/kaZJ3+RQYey021
-----END RSA PRIVATE KEY-----
$ cat a.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCFqDaXiuE7PddH0hGsehATmW4oK18UnxtywVI7aVhtnPCkt9LltQXFQndeaKmN6wPUeyf3Vj1AmWYSldye16dW9Ztj6/Sf4u5auMScYPSOW7Ow/C/Jtetn1a184lZZuJn87SLXPmb/iEIqN7aJ6nwFBUeZWCWxad/vqO4/8ZCh3lCI1xiPMTAZXrWS2CQp1SZbSjD5rRAmkxoYoNN8cL3SKBWTxSecE8l3YQ+7KUXbvVnCVDIcGsgbpLBqi8+DJgxcFssDsRs1YYVMaLJvW8/OUd3XNdxCCMzh0upwUdkQv2dIY3qH99ZbMHMMS/UCtzPRfK8qMN4FFP3cnPt3trj james@james-HP-Compaq-8100-Elite-CMT-PC
Both files are Base64 encoded while I want to dump the content in HEX format.
Dump Private Key:
$ openssl rsa -text -noout -in a
Enter pass phrase for a:
Private-Key: (2048 bit)
modulus:
00:c2:16:a0:da:5e:2b:84:ec:f7:5d:1f:48:46:b1:
e8:40:4e:65:b8:a0:ad:7c:52:7c:6d:cb:05:48:ed:
a5:61:b6:73:c2:92:df:4b:96:d4:17:15:09:dd:79:
a2:a6:37:ac:0f:51:ec:9f:dd:58:f5:02:65:98:4a:
57:72:7b:5e:9d:5b:d6:6d:8f:af:d2:7f:8b:b9:6a:
e3:12:71:83:d2:39:6e:ce:c3:f0:bf:26:d7:ad:9f:
56:b5:f3:89:59:66:e2:67:f3:b4:8b:5c:f9:9b:fe:
21:08:a8:de:da:27:a9:f0:14:15:1e:65:60:96:c5:
a7:7f:be:a3:b8:ff:c6:42:87:79:42:23:5c:62:3c:
c4:c0:65:7a:d6:4b:60:90:a7:54:99:6d:28:c3:e6:
b4:40:9a:4c:68:62:83:4d:f1:c2:f7:48:a0:56:4f:
14:9e:70:4f:25:dd:84:3e:ec:a5:17:6e:f5:67:09:
50:c8:70:6b:20:6e:92:c1:aa:2f:3e:0c:98:31:70:
5b:2c:0e:c4:6c:d5:86:15:31:a2:c9:bd:6f:3f:39:
47:77:5c:d7:71:08:23:33:87:4b:a9:c1:47:64:42:
fd:9d:21:8d:ea:1f:df:59:6c:c1:cc:31:2f:d4:0a:
dc:cf:45:f2:bc:a8:c3:78:14:53:f7:72:73:ed:de:
da:e3
publicExponent: 65537 (0x10001)
privateExponent:
1a:43:3d:98:ce:cd:4c:bb:53:ed:81:e2:21:ce:c9:
02:8a:99:31:16:6c:e3:39:b6:24:95:28:2d:ea:1a:
4a:d2:89:6f:76:b8:48:5e:2c:6c:c3:28:06:94:02:
f2:42:ee:41:54:70:94:61:3b:3c:4c:0a:bb:44:b3:
f8:85:c1:13:c1:ed:8d:fd:b7:68:e0:61:63:c1:96:
e0:54:03:e6:5a:67:28:0b:53:74:4a:29:3d:11:26:
86:90:61:b1:7b:3e:7f:9a:76:7f:b5:21:01:7e:ad:
b1:a2:48:25:74:e0:85:df:f1:cb:9f:24:26:c2:b0:
1b:95:0c:4a:68:31:c7:a6:98:e1:4b:0e:4e:38:8b:
f8:38:7c:78:b8:47:8c:a1:dc:05:50:cc:a2:63:ed:
dc:ff:24:21:81:49:3c:47:ff:e3:b4:81:93:a8:3c:
f7:de:88:1f:63:a4:30:3a:3c:0f:67:0f:da:62:9e:
b5:b2:48:9b:d9:71:6b:56:fe:9b:a1:82:79:18:6a:
52:13:08:9e:40:9a:26:d0:45:a1:b8:9e:32:12:78:
c6:9d:79:09:4e:cf:a9:3e:a4:62:a7:14:a6:06:84:
1a:3b:52:95:43:17:df:c4:91:15:c8:00:00:57:ac:
7b:6c:97:89:b2:57:e8:de:3f:8c:91:1a:3e:59:f9:
c1
prime1:
00:e6:d6:05:27:b6:55:ed:d7:50:67:68:35:ac:12:
9c:52:91:d7:33:2e:c3:1a:c9:9b:41:9d:0b:ce:d9:
10:c1:6d:cd:6c:93:93:20:8f:33:3d:22:1b:24:71:
fe:83:fc:97:33:db:65:db:85:c3:24:26:87:3d:85:
60:d2:bd:fd:2d:4b:2d:f6:a3:73:c9:73:27:96:24:
aa:8c:81:2e:40:d8:6c:27:56:b1:6f:d0:a6:5b:e5:
e0:34:71:9e:d5:18:5f:98:08:61:fb:84:7b:b6:a4:
9c:0e:3f:14:9a:cd:22:21:15:fc:25:09:d3:78:28:
51:be:83:be:96:79:50:8f:9b
prime2:
00:d7:3f:16:04:d4:59:8e:06:a1:3c:f7:03:1b:3c:
4c:93:a9:af:13:65:c7:8f:bd:0e:f1:d5:75:92:76:
75:ba:6a:4a:e5:ed:a3:1b:e4:e0:00:2d:38:65:ec:
9d:68:12:8d:e0:38:14:d1:be:6e:f8:bd:91:80:48:
a1:4b:55:ad:c8:96:45:10:be:b8:ec:d9:c6:2c:b1:
c1:bb:cf:d3:a8:7e:1b:72:c6:13:39:3e:01:37:6c:
a5:e3:90:f2:8b:c8:9f:17:80:36:05:9e:dd:dc:a4:
c0:82:c1:28:6c:9a:24:fc:4c:5e:28:0b:ec:3a:03:
7c:98:9a:98:fe:9c:80:aa:59
exponent1:
00:9f:66:db:58:79:09:0d:9c:c9:e1:1e:8d:31:ae:
08:54:dc:71:06:df:1b:cb:bb:bc:82:aa:b8:24:b6:
b0:63:62:37:a0:ea:a7:86:ac:5c:6d:b2:c7:9b:7b:
3c:8e:58:36:f1:90:67:de:17:98:91:b6:29:5d:ca:
64:fa:22:48:5a:a6:b7:ae:c1:60:8b:94:01:9a:24:
e7:c0:ee:d3:c9:e3:a9:8b:e0:c9:d6:b4:f6:ac:2f:
29:8c:0d:89:e9:0d:53:b5:e0:d4:08:a3:8b:ea:ab:
f1:37:c5:47:ad:3e:4a:7b:1e:7b:67:f8:49:17:88:
80:2a:57:3f:9d:19:59:10:51
exponent2:
00:a8:ba:ed:59:cf:d4:7b:ff:3a:79:fd:f0:53:73:
4b:5c:1d:91:fe:94:b4:81:3a:e4:f2:32:30:be:25:
5a:58:4d:66:75:23:79:cf:2d:f5:62:6e:10:5d:e5:
c3:e6:87:54:ec:45:4a:1c:b9:39:68:87:c1:fd:5b:
f2:04:8a:1f:76:b4:45:63:c0:fe:59:bc:c5:1a:d8:
25:54:42:b0:5a:ce:b0:59:a2:68:03:61:55:b6:ca:
d6:a7:b3:42:4e:cd:6f:d9:0e:4a:4a:d1:a4:7d:88:
30:d8:ce:ee:0f:64:2e:46:10:df:66:69:22:3e:bf:
e8:f5:ff:8a:9b:5c:b7:87:d1
coefficient:
71:b6:79:ba:77:02:a1:e3:2f:3d:85:c1:d4:bc:15:
1d:a0:d3:d4:0d:26:a4:53:d8:57:e8:c9:22:5c:c1:
9b:de:83:43:65:93:ff:a7:d2:15:09:49:31:48:53:
b4:19:c1:68:47:24:f2:27:f8:42:40:f4:18:bd:0f:
0f:a5:b8:68:46:ed:9a:ac:81:fe:5c:5b:72:6d:e7:
57:1b:5b:d4:7f:81:b8:a4:ee:02:41:3e:30:38:08:
dd:91:3b:60:d5:45:e4:25:02:f1:02:13:98:94:c5:
d6:ed:e9:5d:93:df:7c:43:8a:3c:21:44:2b:19:11:
2a:8f:6c:04:04:94:25:11
Dump Public Key:
$ cat a.pub | sed 's/ssh-rsa\s//g' | base64 -d | hd
base64: invalid input
00000000 00 00 00 07 73 73 68 2d 72 73 61 00 00 00 03 01 |....ssh-rsa.....|
00000010 00 01 00 00 01 01 00 c2 16 a0 da 5e 2b 84 ec f7 |...........^+...|
00000020 5d 1f 48 46 b1 e8 40 4e 65 b8 a0 ad 7c 52 7c 6d |].HF..@Ne...|R|m|
00000030 cb 05 48 ed a5 61 b6 73 c2 92 df 4b 96 d4 17 15 |..H..a.s...K....|
00000040 09 dd 79 a2 a6 37 ac 0f 51 ec 9f dd 58 f5 02 65 |..y..7..Q...X..e|
00000050 98 4a 57 72 7b 5e 9d 5b d6 6d 8f af d2 7f 8b b9 |.JWr{^.[.m......|
00000060 6a e3 12 71 83 d2 39 6e ce c3 f0 bf 26 d7 ad 9f |j..q..9n....&...|
00000070 56 b5 f3 89 59 66 e2 67 f3 b4 8b 5c f9 9b fe 21 |V...Yf.g...\...!|
00000080 08 a8 de da 27 a9 f0 14 15 1e 65 60 96 c5 a7 7f |....'.....e`....|
00000090 be a3 b8 ff c6 42 87 79 42 23 5c 62 3c c4 c0 65 |.....B.yB#\b<..e|
000000a0 7a d6 4b 60 90 a7 54 99 6d 28 c3 e6 b4 40 9a 4c |z.K`..T.m(...@.L|
000000b0 68 62 83 4d f1 c2 f7 48 a0 56 4f 14 9e 70 4f 25 |hb.M...H.VO..pO%|
000000c0 dd 84 3e ec a5 17 6e f5 67 09 50 c8 70 6b 20 6e |..>...n.g.P.pk n|
000000d0 92 c1 aa 2f 3e 0c 98 31 70 5b 2c 0e c4 6c d5 86 |.../>..1p[,..l..|
000000e0 15 31 a2 c9 bd 6f 3f 39 47 77 5c d7 71 08 23 33 |.1...o?9Gw\.q.#3|
000000f0 87 4b a9 c1 47 64 42 fd 9d 21 8d ea 1f df 59 6c |.K..GdB..!....Yl|
00000100 c1 cc 31 2f d4 0a dc cf 45 f2 bc a8 c3 78 14 53 |..1/....E....x.S|
00000110 f7 72 73 ed de da e3 |.rs....|
Content is an array of TLV:
00 00 00 07 (length of type name)
73 73 68 2D 72 73 61 (ssh-rsa)
00 00 00 03 (length of Public Exponent)
01 00 01 (Public Exponent is 65537)
00 00 01 01 (Len of Modulus is 257)
00 C2 16 A0 DA 5E 2B 84 EC F7 5D 1F 48 46 B1 E8
40 4E 65 B8 A0 AD 7C 52 7C 6D CB 05 48 ED A5 61
B6 73 C2 92 DF 4B 96 D4 17 15 09 DD 79 A2 A6 37
AC 0F 51 EC 9F DD 58 F5 02 65 98 4A 57 72 7B 5E
9D 5B D6 6D 8F AF D2 7F 8B B9 6A E3 12 71 83 D2
39 6E CE C3 F0 BF 26 D7 AD 9F 56 B5 F3 89 59 66
E2 67 F3 B4 8B 5C F9 9B FE 21 08 A8 DE DA 27 A9
F0 14 15 1E 65 60 96 C5 A7 7F BE A3 B8 FF C6 42
87 79 42 23 5C 62 3C C4 C0 65 7A D6 4B 60 90 A7
54 99 6D 28 C3 E6 B4 40 9A 4C 68 62 83 4D F1 C2
F7 48 A0 56 4F 14 9E 70 4F 25 DD 84 3E EC A5 17
6E F5 67 09 50 C8 70 6B 20 6E 92 C1 AA 2F 3E 0C
98 31 70 5B 2C 0E C4 6C D5 86 15 31 A2 C9 BD 6F
3F 39 47 77 5C D7 71 08 23 33 87 4B A9 C1 47 64
42 FD 9D 21 8D EA 1F DF 59 6C C1 CC 31 2F D4 0A
DC CF 45 F2 BC A8 C3 78 14 53 F7 72 73 ED DE DA
E3
Actually public key file content is Modulus and Public Exponent.
The length of Modulus is 256. The leading 00 is to make sure modulus is a positive integer.
No comments:
Post a Comment