BLOGTIMES
2021/08/27

ssh の RSA キーファイルから素数を取り出してみた

  cryptography 
このエントリーをはてなブックマークに追加

RSA 暗号大きな数の素因数分解が困難であることを利用したアルゴリズムです。

このため、秘密鍵には 2 つの大きな素数が含まれています。以前、これを確かめるためにわざと鍵長を短く (32bit) にして、その動作を観察したことがありましたが、ふと思い立って普段使っている鍵にどれくらい大きな素数が使われているのか調べてみました。僕自身、自分の鍵の素数を確認してみるというのは初めての経験です。

openssl の標準のコマンドでは10進表示はできない

あらかじめ断っておきますが、このエントリで使われている秘密鍵はサンプルとして生成したものです。
自分が実際に使っている鍵に含まれているこれらの値を公開してはいけません。

OpenSSL では openssl rsa -text -noout を使うと、秘密鍵の情報を表示させることができるのですが、鍵長が一定以上になると値が 16 進数で表示されるので、素数の値を直感的に理解することが難しくなります。具体的には以下のような感じになります。

このうち、秘密鍵にあたる素数は prime1, prime2 です(ただし、実際の計算に使われる秘密鍵にあたる値は publicExponent^(-1) mod ( prime1 - 1 ) * ( prime2 - 1 ) を計算して得られる privateExponent の方です)。

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

ruby を使って 10 進数表示してみる

OpenSSL のコマンド単体では大きな数の10進表現は無理なようなので、Ruby の OpenSSL::PKey::RSA*1を使って簡単なスクリプトを書いてみました。

rsa_dump.rb

require 'openssl' def to_h(n) n.to_s(16).gsub( /(.{2})(?=.)/, '\1:') end k = OpenSSL::PKey::RSA.new(File.read(ARGV[0])) puts <<"EOS" modulus: #{k.n.to_i} ( #{to_h(k.n)} ) publicExponent: #{k.e.to_i} ( #{to_h(k.e)} ) privateExponent: #{k.d.to_i} ( #{to_h(k.d)} ) prime1: #{k.p.to_s} ( #{to_h(k.p)} ) prime2: #{k.q.to_s} ( #{to_h(k.q)} ) exponent1: #{k.dmp1.to_i} ( #{to_h(k.dmp1)} ) exponent2: #{k.dmq1.to_i} ( #{to_h(k.dmq1)} ) coefficient: #{k.iqmp.to_i} ( #{to_h(k.iqmp)} ) EOS

これに秘密鍵を食わせると秘密鍵に含まれる値を 10 進表現として取り出すことができます。

具体的な出力を確認してみると、prime1, prime2 共に 10 進で 617 桁であることが分かります。
また、これらを掛合わせた値 modulus10 進で 1233 桁になっています。
任意精度演算が可能な計算機を使うと prime1 * prime2 == modulus であることが確認できます。

$ ruby rsa_dump.rb id_rsa modulus: 887153319317956627464195922141130043378803095776919540308803921849592282862879218339693248100317798454505964133548960908960638673874867346370837503740750148818257618484107020482052685280189700919464696188390164261869726720586224546950503256452211064830663895120017797965758903589481942299249373760780159646270795328403114142929673015396554286491784674946375800942213291357707858557165939046412231277134429235791484051815463532242176000819792249307849953555879287011517210271297817794569305241859306085173312201118089521467747561131899553663783619813480244623162602954139901271835889030169281355450419829618289884693042638913327755165482624230062991497460271776095949773375523255211431534724231665640071912409294116111501857113739146326662119315438534592052708523462188343472458816149932750539949578970970916115362604494235168893427179932798301542012890618593755491593429902839189655204343625349883445285816797291501164212645809068135983861969473370760397947799347366862533906582897973854202964004549929535591947796206321145195553703454866056620625159475167270748112642302598940097346174634047862520608620492033905862741155828072304109939406528477613614206429683331709976266035641201579647653895192907968308772489160543760376304426257 ( D9:75:60:E5:03:BE:F0:42:7B:B0:7E:8E:DC:76:92:8C:DA:6C:85:64:E6:42:67:A2:C5:B7:4F:7E:F3:1E:4E:52:CD:1F:6D:81:5A:F6:A6:1E:A5:9E:B5:37:AF:6B:98:5F:13:1F:CF:AE:F0:69:9B:A2:15:CE:BC:F9:55:62:B8:D2:C2:4A:F7:6A:96:14:3F:10:DA:B6:38:2A:A9:95:19:D3:B8:42:56:A8:19:BC:FC:80:25:70:25:2A:67:08:BA:C3:26:EB:EF:A9:D4:CD:99:3C:51:BA:56:A6:B9:A2:E0:2F:F5:AF:5C:62:2D:83:97:CF:FE:D0:36:55:52:FC:F7:FF:5D:19:D7:F5:C2:C1:93:06:52:FB:4B:A4:21:FB:25:F2:B1:9F:DF:09:66:8F:BC:4A:3A:F1:97:6F:FA:CA:A2:67:95:4F:D4:A8:C4:84:6A:AF:8E:EE:1D:01:7D:1C:2E:69:ED:C8:AC:D4:D7:8D:D4:95:86:51:42:6B:B3:D4:0E:86:3A:62:BD:D4:CF:A0:C0:03:4D:35:E8:3A:C3:F6:2E:FA:29:B5:EA:46:83:5A:06:B5:36:84:B6:90:4A:06:2A:30:1F:AA:A9:E2:AE:E8:27:25:C8:49:2B:3F:73:BD:19:8F:C7:52:32:47:91:61:CF:2B:CA:CC:39:56:32:5B:A8:2E:96:D6:4F:DC:CB:97:0E:0F:E7:0E:A2:D1:19:9F:C0:91:9F:E0:19:EB:A5:57:C3:58:AC:DD:D1:05:6E:CE:61:52:20:D7:7F:62:09:07:5F:4E:95:F3:51:04:C2:F3:CC:5E:60:7B:8A:A6:C3:51:87:9A:1F:DA:0A:F9:81:22:E3:00:C8:22:3E:53:EA:17:35:77:63:FB:34:3F:A8:5F:75:AE:D5:1B:3F:8F:7F:89:3F:4D:F4:40:15:56:9B:7B:DB:95:73:77:85:80:7E:EC:F8:57:E7:08:D2:C9:51:54:40:B0:04:E9:EE:7C:B4:6D:06:61:31:3A:78:BD:2D:B9:98:B1:EA:5A:EC:4D:FB:99:3C:28:0E:C7:C9:E4:C9:31:9B:8D:43:45:88:F8:92:DA:C1:70:84:F7:54:9B:99:07:80:3D:F4:69:82:EB:0B:D5:A6:74:FF:BF:D8:82:24:B5:07:B5:AC:43:DB:10:04:FD:99:93:58:BA:28:D6:57:EC:AD:69:07:87:D9:C9:67:D6:FE:32:D5:3B:65:B1:59:75:36:2E:A2:D0:8D:91:2C:75:4B:F0:67:69:D4:68:D0:70:91:DA:F7:D0:C0:F1:E8:5A:AC:09:63:4C:7B:B0:30:FA:32:4B:F9:FF:15:F2:A2:C7:4B:E0:1A:A1:0B:FD:EA:AE:DD:11 ) publicExponent: 65537 ( 01:00:01 ) privateExponent: 147468578980573103736743372076925564071725604244835153762364922480880393205490123206625543506795582592480399976667872806845250739478352760598805312506702048022126409444525411311648106465697035290242891805794016349067073605658884755397390519489607204178788355790430960999725002604693780298274603319497979144398950887401369081176676653336742029648008029797912903786631545478903053406804793322422674939852334896237429654400989665688790535925215019972835457742004500552412659851618451059005416959958729885284313641438888982511705478294259940760383581095382055707840355777383769236543939684371639701028073815155738743058811911808042974127417907059195629010420642082732089568714601530794116447813631652408652958878790019862125712772908055273255532990588261730429431607835698758280348180841208306504129933597022879294454468213360271988737896765685235079980117672836355968461937637459021673637171457129961183061373846589466738763091626266287207781629415319356777800480568955275066468992629817023271674417533869246693115614496369030623700291634493784796621702721990637900941052662763050930896765438179210907446436402733145484009922607268276625937938816133806260291678001044582360436151421726711506564248681799891758774862415937856446928031265 ( 24:25:BC:DB:94:C9:D2:8A:5A:A1:36:08:6D:61:50:6F:15:87:E0:8C:AB:31:F2:A4:3E:15:80:A3:6B:AA:67:FE:9F:96:4F:CF:A6:DD:45:33:E6:F8:00:CB:A6:DF:4D:CE:D0:11:03:A6:E2:D3:CB:49:20:32:E3:7A:D6:D4:B8:40:60:87:B1:A5:08:19:89:7A:35:C1:00:89:26:F3:5F:FD:AF:AD:67:56:3E:21:0A:20:0B:19:1F:34:73:38:22:43:7A:5E:D1:D1:FB:4B:C9:E3:1A:FA:CC:98:9E:57:12:C9:26:1F:E6:4D:73:9F:62:46:F2:E6:8D:81:95:6F:F3:91:81:5A:60:69:BB:DC:0D:A2:89:7C:B8:50:2A:4D:E3:3A:FA:87:C6:BD:7B:4C:FD:51:A1:86:B3:53:AB:EE:AF:1C:64:D7:86:54:1F:86:9B:6D:5F:66:F9:6F:5B:EA:A9:54:76:70:5B:3A:6E:32:67:5A:0B:9F:CA:58:B8:E5:D1:1C:42:EC:52:FD:E3:1D:A7:8D:64:F2:47:0E:2D:B0:E8:92:31:08:CA:4E:BA:5A:E6:AE:8C:C7:76:C9:79:64:98:F2:B2:F0:DD:98:8E:D6:8C:5B:5D:75:BC:38:A9:F6:8F:1F:35:54:D6:82:CB:09:E5:34:34:5B:CA:54:27:BE:D0:AF:CF:4E:36:BE:E5:51:27:9B:A5:95:E2:EB:CE:06:2D:F9:2D:15:59:BB:BD:72:C0:A7:1C:8B:FD:6F:CA:9F:FA:E4:1D:CB:A2:F4:3E:C5:96:51:D7:BF:48:BC:31:66:CF:90:AD:73:49:7E:60:C8:EB:9E:4B:3B:52:81:E7:F3:20:8D:9F:6C:FE:82:20:6E:0C:CC:5E:8A:90:15:CF:A9:49:50:D2:86:97:19:7B:BB:38:20:39:89:9A:A3:58:A7:1C:79:01:88:D6:B7:97:EE:B6:87:0B:57:FE:4D:F2:2C:39:F8:84:A0:F3:75:C9:43:ED:46:91:15:70:C1:A3:41:74:B3:9F:AB:16:64:A7:BD:CD:FE:42:53:34:D3:20:49:CC:6A:F5:94:A1:6A:1D:CE:98:C7:3C:EF:DD:90:EC:33:42:B0:62:9F:6B:7C:A7:6A:31:14:F2:1E:EB:8F:EC:27:30:AF:EE:BB:7A:C6:C8:75:01:10:4B:D5:67:E6:15:5F:49:12:7E:15:15:A4:74:EA:C0:AB:46:3F:0C:55:07:8E:C4:9E:F5:1E:E9:8C:93:39:E8:10:54:E8:9C:3B:CC:A9:40:63:B6:5A:A3:99:A4:22:5E:87:57:3C:34:F9:3C:20:F3:DA:C5:C4:1D:62:28:5C:67:99:9F:F9:37:D6:A1:50:8E:21 ) prime1: 31720166957397019562536359576195634670385815683413551851432819901172721554341254487492090525224012507111096587265694200074580556701432764155935173355262321217273424812781466916711213516333112139501227366719828188141473356546717555914550064801745405438318787485987538659089333759195833583845990820696586226108301212916037544088762637057848914536136275983436637026653565067393995017607963644112128321812669442735717965218687157577701897875321766858225859746250695874328892870575811995678439394944366142822339452607290598798153398455306844448972792128953931452910617504345141340711498863488937788831077038679103365063749 ( FB:45:A9:E2:F1:31:90:62:F7:CA:B8:8F:CB:4F:94:73:21:7B:2B:A9:15:8C:A1:A6:4E:07:AD:45:17:D6:04:91:CD:C0:56:6F:AC:22:4C:EE:06:29:E0:0B:4A:51:9D:1A:8F:CA:42:37:F1:E9:77:E3:9D:36:7D:8B:F5:4C:F8:28:89:16:A3:7C:21:9C:D5:6F:AD:F3:83:91:6F:F1:C9:66:8B:40:76:5E:78:1F:15:B6:EE:1D:2C:20:E1:DD:DE:9D:CF:AE:73:A6:46:51:BF:DC:25:35:3C:3F:C7:03:9F:1E:7E:8B:A8:17:47:86:71:5C:EA:7B:A1:15:10:67:9D:83:46:3E:89:68:DC:7D:B4:0D:2C:89:F6:C3:B0:EA:69:72:7F:A3:30:88:B1:E2:EF:4B:04:CC:D1:E9:07:A1:22:B4:D9:52:1F:24:83:C9:5B:0C:86:C1:C7:17:FE:08:64:5E:47:CF:86:A3:D1:37:7A:98:67:62:04:47:EC:FA:1A:9E:EF:CC:2F:5E:25:F7:36:C4:17:55:DC:32:21:B4:98:D2:FF:8B:92:50:E9:4D:D8:46:56:63:84:5D:19:8E:31:31:45:02:14:84:33:F8:E8:0D:39:F6:49:88:69:10:A9:85:D7:EC:2B:B2:3A:85:17:7D:56:D3:A6:08:46:C2:24:45 ) prime2: 27968116325159377002575942957519338470295343925207961486561472243064977998054758141207601759298529186901056285783602811060839143886458443726252028027966088216340272208248329395116146054225793665538035535906001130665223711122774417835354329753432786257001426886899250273975992900925719440794215325781477351625087200394837415306175045738059707937798237761598538294083557102014061120050356857100645798310620936902148386221324926744759452962880161856292715330397990059424357537113417769163970107010399313680676306386525790001662879153823119974484506912431631750516640577765807423779814925743718805563889148619187174502493 ( DD:8C:D7:1C:35:1A:21:7E:30:B2:AD:A2:6D:E5:7C:74:55:BA:72:D1:14:75:4F:6D:E9:A4:CA:B1:D0:D7:9D:A7:5A:31:6A:16:D7:0C:26:15:38:C4:36:91:5D:DE:2D:C5:E1:FD:1D:B8:20:FD:BD:DC:3A:E1:A4:B5:D1:A6:A0:0D:7E:F2:D6:99:34:CE:18:E9:69:A2:C5:1D:B4:DA:AF:A9:E8:64:D4:2F:F9:B8:BF:3E:E8:F4:54:DC:59:D2:E1:C0:A6:CC:06:53:E2:73:7F:08:9D:3C:C7:52:AE:97:F8:A3:8E:E3:2F:29:64:36:77:71:71:EF:D1:85:86:01:C1:89:6E:E4:5C:E2:A0:9F:CA:8F:26:72:DB:DC:F7:D3:D8:5D:EC:C4:71:60:27:12:A4:A7:ED:81:5A:06:83:33:BA:2D:79:A8:18:57:67:F9:AB:EA:7D:21:A7:39:BF:DC:E2:B7:3C:54:E6:40:9B:14:CE:B9:37:CD:44:DB:2E:E6:03:AF:46:C9:D1:94:52:1B:6D:FE:7C:FB:FD:1C:6E:0A:4D:CB:D4:32:A2:E7:FB:30:35:CF:14:0E:B2:D3:9F:D4:95:17:23:E0:88:B4:05:38:03:F4:E1:DC:E3:66:37:3F:36:70:76:CA:82:B5:34:43:E5:C1:C2:2F:40:D5:9B:7B:F0:5D ) exponent1: 16100391440526906262840410780202752449919650864530750604054392999565292621040966637569989339175988770451052504316543594694308897549066342671272465045131774650847620068010062971823527436727664911737008534933473986885669334963861017402345360721883224924938194694926155812664703716978949359394492952843003811762708696578299112014780797438536157316394910059798582948435705661944569392262827267366372409861581229116432825930384794800223593280476350375190857446313218460709990102380401697304473602283051402123764009505798583533280021966458369784931869480898614977509982014465738845213665710880258717143991603089252993558533 ( 7F:8A:27:A6:22:88:E6:E1:E5:26:87:B1:AD:1F:D2:98:F1:A8:A4:4B:A9:BD:7D:1B:7D:C5:D5:C4:19:4A:2F:7D:96:73:07:2C:9D:B1:B7:5C:A5:D2:41:7F:59:94:BD:6A:8B:0B:BD:BA:C9:D6:98:5C:F7:22:7E:6D:38:F0:7D:91:8D:AB:E9:05:8B:C6:20:6C:14:5E:63:2C:C2:26:76:F4:CE:BF:C4:95:44:E1:7A:53:24:DF:B7:D3:64:F2:0A:1A:0E:1D:5D:64:4B:93:19:10:73:EE:66:8B:74:C7:B8:CF:70:AA:10:82:E8:72:2C:3E:5E:62:AC:2B:95:ED:11:FD:5C:FD:47:1F:EB:B2:FE:5E:25:7A:4D:BF:9C:A0:0F:2F:E7:EB:7C:2A:16:28:BB:0F:57:FB:62:9C:A6:9B:BA:93:13:2F:E4:D0:D2:F7:B4:78:52:3A:2F:85:55:13:0B:66:F3:8A:39:AC:12:F8:D7:08:5E:89:58:E4:ED:3B:31:A1:F4:D3:AE:43:5A:7F:F5:D3:68:88:D3:40:BA:ED:01:19:30:4E:B6:D0:CC:EB:0F:58:FC:66:7C:FC:08:89:AD:1C:76:0B:8D:40:61:64:F8:DC:25:CC:86:1C:70:3F:DD:DC:2A:F2:1C:67:D5:DE:52:42:F3:7C:70:6D:09:05:68:05 ) exponent2: 1624222206288914489094771486279790076108825228181660762895051091095187546891014380967028278619561500913154709914893759233677980097225396902850530519774157067784474053200377522282253564892860074325003635345808326644671581618525099322235661977837941689338044627180654386724333261835654488177102759203569019031769563524463298635203049026947453322722433021356547244263271408979134177989710517694204158084291671664091684971212638222539244670594044524849322894662476923969194573847653509154188782325733246683074507867420192513333367686336737943801028934933164326143496559790296520361108619671034587698188231070153140762569 ( 0C:DD:C7:08:4E:55:2C:28:C5:EF:3A:82:3A:5B:9F:74:AA:1D:DF:D9:20:95:07:7D:DC:99:C3:63:BC:3B:29:5E:B4:B0:35:F7:09:9A:1D:04:12:7D:E2:A5:62:8C:2A:A0:59:55:77:CA:5F:B0:1C:BC:93:76:D3:37:F3:EA:F7:54:91:50:CD:01:AC:BD:63:58:FA:D7:87:17:08:8F:C2:AF:DD:5D:2D:AD:73:95:35:16:14:35:4C:50:57:AF:15:89:38:A6:94:9F:7E:81:32:99:6F:78:3E:23:21:1C:96:45:F9:60:5C:36:CD:29:14:9A:B4:01:37:6B:C7:B2:86:68:D2:D5:D4:47:1D:08:EA:9C:91:A1:0D:FF:B1:2C:CE:5D:F6:08:1A:85:78:FF:6E:2C:8A:70:7E:A7:EE:2A:AC:DF:43:37:6D:E2:75:99:5C:50:8B:DF:CE:74:5E:1E:17:D4:88:5E:6D:D8:C6:A8:D8:B0:8C:FB:10:CA:A1:D8:9D:D2:2A:0C:42:6D:98:AF:1B:1E:32:67:F7:F5:14:B6:E8:79:B3:E3:14:EE:DF:F9:96:C6:65:E5:CC:A0:D9:A1:60:DF:2D:28:37:08:2D:5D:69:6D:69:48:88:B4:40:F5:1C:D6:3F:2F:D7:93:6A:6B:9F:06:37:9E:C2:E7:24:D6:77:C9 ) coefficient: 28809684973535337606438418494311224749466178540761610608827490675553484780976386459460256993111303065623189622302100993383301604920324500779219344848819135516998320284779838491469032785481768918128844366563256417933555574769513028154028340296159483186176279264925214447634745200464723488271988625990543977626839656382789941763494963678149493813821187850420772208531660241199544111586184678574272551048610028819168130715845505822547068088191204934605735269934766301036622918961995543608099477680689198601710836303728276110166959200740341385837595587738276554250938511456168461012436702837917036842064114611324268278865 ( E4:37:77:5E:05:2F:BA:4A:A9:F2:C7:5A:88:93:2D:47:E7:92:7F:BF:18:16:71:4E:5E:A6:39:9C:FB:06:72:FC:44:3D:7E:42:A1:F6:1C:DE:ED:C1:9B:0F:9E:40:F8:84:34:D6:22:E1:8E:AD:76:D4:52:AE:0D:6A:37:A7:0C:A1:BE:EB:83:BE:B8:EA:79:67:8B:D3:E8:59:6B:AB:E2:06:2F:1C:A2:2A:71:63:1E:1A:A1:26:12:46:D4:F6:3A:26:85:38:BC:EA:09:DA:BF:A6:22:05:F2:D2:8F:F0:E0:7F:C4:03:52:8A:5B:CB:C0:65:E2:9C:7B:3F:F0:88:C5:74:0C:F4:28:9E:07:7F:FA:B7:2F:3C:D1:4A:4F:39:91:9A:D1:19:15:E3:6B:47:82:F4:C9:EE:36:4E:A0:0F:79:84:DE:6C:AC:35:05:DB:13:A7:1D:A9:34:34:DF:30:5B:2E:B7:13:C5:24:80:D1:E1:54:BB:FC:2E:07:CB:6C:89:76:B5:55:4C:38:94:C3:D8:8C:94:7D:CA:80:B9:27:17:26:43:D1:7D:E3:02:51:EB:E7:F3:B2:41:9E:0B:F9:08:19:D2:B6:2C:AA:49:DB:A1:E0:E4:57:34:75:D6:B9:5A:90:AC:A4:E9:36:95:82:73:41:1C:93:A1:41:65:7F:74:51 )

こうやって実際に値が確認できると、RSA は単純ですが興味深いですね。

参考

今回使った秘密鍵のファイルは以下になります。

$ cat id_rsa -----BEGIN RSA PRIVATE KEY----- MIIJKAIBAAKCAgEA2XVg5QO+8EJ7sH6O3HaSjNpshWTmQmeixbdPfvMeTlLNH22B WvamHqWetTeva5hfEx/PrvBpm6IVzrz5VWK40sJK92qWFD8Q2rY4KqmVGdO4Qlao Gbz8gCVwJSpnCLrDJuvvqdTNmTxRulamuaLgL/WvXGItg5fP/tA2VVL89/9dGdf1 wsGTBlL7S6Qh+yXysZ/fCWaPvEo68Zdv+sqiZ5VP1KjEhGqvju4dAX0cLmntyKzU 143UlYZRQmuz1A6GOmK91M+gwANNNeg6w/Yu+im16kaDWga1NoS2kEoGKjAfqqni rugnJchJKz9zvRmPx1IyR5FhzyvKzDlWMluoLpbWT9zLlw4P5w6i0RmfwJGf4Bnr pVfDWKzd0QVuzmFSINd/YgkHX06V81EEwvPMXmB7iqbDUYeaH9oK+YEi4wDIIj5T 6hc1d2P7ND+oX3Wu1Rs/j3+JP030QBVWm3vblXN3hYB+7PhX5wjSyVFUQLAE6e58 tG0GYTE6eL0tuZix6lrsTfuZPCgOx8nkyTGbjUNFiPiS2sFwhPdUm5kHgD30aYLr C9WmdP+/2IIktQe1rEPbEAT9mZNYuijWV+ytaQeH2cln1v4y1TtlsVl1Ni6i0I2R LHVL8Gdp1GjQcJHa99DA8eharAljTHuwMPoyS/n/FfKix0vgGqEL/equ3RECAwEA AQKCAgAkJbzblMnSilqhNghtYVBvFYfgjKsx8qQ+FYCja6pn/p+WT8+m3UUz5vgA y6bfTc7QEQOm4tPLSSAy43rW1LhAYIexpQgZiXo1wQCJJvNf/a+tZ1Y+IQogCxkf NHM4IkN6XtHR+0vJ4xr6zJieVxLJJh/mTXOfYkby5o2BlW/zkYFaYGm73A2iiXy4 UCpN4zr6h8a9e0z9UaGGs1Or7q8cZNeGVB+Gm21fZvlvW+qpVHZwWzpuMmdaC5/K WLjl0RxC7FL94x2njWTyRw4tsOiSMQjKTrpa5q6Mx3bJeWSY8rLw3ZiO1oxbXXW8 OKn2jx81VNaCywnlNDRbylQnvtCvz042vuVRJ5ulleLrzgYt+S0VWbu9csCnHIv9 b8qf+uQdy6L0PsWWUde/SLwxZs+QrXNJfmDI655LO1KB5/MgjZ9s/oIgbgzMXoqQ Fc+pSVDShpcZe7s4IDmJmqNYpxx5AYjWt5futocLV/5N8iw5+ISg83XJQ+1GkRVw waNBdLOfqxZkp73N/kJTNNMgScxq9ZShah3OmMc8792Q7DNCsGKfa3ynajEU8h7r j+wnMK/uu3rGyHUBEEvVZ+YVX0kSfhUVpHTqwKtGPwxVB47EnvUe6YyTOegQVOic O8ypQGO2WqOZpCJeh1c8NPk8IPPaxcQdYihcZ5mf+TfWoVCOIQKCAQEA+0Wp4vEx kGL3yriPy0+UcyF7K6kVjKGmTgetRRfWBJHNwFZvrCJM7gYp4AtKUZ0aj8pCN/Hp d+OdNn2L9Uz4KIkWo3whnNVvrfODkW/xyWaLQHZeeB8Vtu4dLCDh3d6dz65zpkZR v9wlNTw/xwOfHn6LqBdHhnFc6nuhFRBnnYNGPolo3H20DSyJ9sOw6mlyf6MwiLHi 70sEzNHpB6EitNlSHySDyVsMhsHHF/4IZF5Hz4aj0Td6mGdiBEfs+hqe78wvXiX3 NsQXVdwyIbSY0v+LklDpTdhGVmOEXRmOMTFFAhSEM/joDTn2SYhpEKmF1+wrsjqF F31W06YIRsIkRQKCAQEA3YzXHDUaIX4wsq2ibeV8dFW6ctEUdU9t6aTKsdDXnada MWoW1wwmFTjENpFd3i3F4f0duCD9vdw64aS10aagDX7y1pk0zhjpaaLFHbTar6no ZNQv+bi/Puj0VNxZ0uHApswGU+JzfwidPMdSrpf4o47jLylkNndxce/RhYYBwYlu 5FzioJ/KjyZy29z309hd7MRxYCcSpKftgVoGgzO6LXmoGFdn+avqfSGnOb/c4rc8 VOZAmxTOuTfNRNsu5gOvRsnRlFIbbf58+/0cbgpNy9Qyouf7MDXPFA6y05/UlRcj 4Ii0BTgD9OHc42Y3PzZwdsqCtTRD5cHCL0DVm3vwXQKCAQB/iiemIojm4eUmh7Gt H9KY8aikS6m9fRt9xdXEGUovfZZzByydsbdcpdJBf1mUvWqLC726ydaYXPcifm04 8H2RjavpBYvGIGwUXmMswiZ29M6/xJVE4XpTJN+302TyChoOHV1kS5MZEHPuZot0 x7jPcKoQguhyLD5eYqwrle0R/Vz9Rx/rsv5eJXpNv5ygDy/n63wqFii7D1f7Ypym m7qTEy/k0NL3tHhSOi+FVRMLZvOKOawS+NcIXolY5O07MaH0065DWn/102iI00C6 7QEZME620MzrD1j8Znz8CImtHHYLjUBhZPjcJcyGHHA/3dwq8hxn1d5SQvN8cG0J BWgFAoIBAAzdxwhOVSwoxe86gjpbn3SqHd/ZIJUHfdyZw2O8OyletLA19wmaHQQS feKlYowqoFlVd8pfsBy8k3bTN/Pq91SRUM0BrL1jWPrXhxcIj8Kv3V0trXOVNRYU NUxQV68ViTimlJ9+gTKZb3g+IyEclkX5YFw2zSkUmrQBN2vHsoZo0tXURx0I6pyR oQ3/sSzOXfYIGoV4/24sinB+p+4qrN9DN23idZlcUIvfznReHhfUiF5t2Mao2LCM +xDKodid0ioMQm2YrxseMmf39RS26Hmz4xTu3/mWxmXlzKDZoWDfLSg3CC1daW1p SIi0QPUc1j8v15Nqa58GN57C5yTWd8kCggEBAOQ3d14FL7pKqfLHWoiTLUfnkn+/ GBZxTl6mOZz7BnL8RD1+QqH2HN7twZsPnkD4hDTWIuGOrXbUUq4NajenDKG+64O+ uOp5Z4vT6Flrq+IGLxyiKnFjHhqhJhJG1PY6JoU4vOoJ2r+mIgXy0o/w4H/EA1KK W8vAZeKcez/wiMV0DPQongd/+rcvPNFKTzmRmtEZFeNrR4L0ye42TqAPeYTebKw1 BdsTpx2pNDTfMFsutxPFJIDR4VS7/C4Hy2yJdrVVTDiUw9iMlH3KgLknFyZD0X3j AlHr5/OyQZ4L+QgZ0rYsqknboeDkVzR11rlakKyk6TaVgnNBHJOhQWV/dFE= -----END RSA PRIVATE KEY-----

トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/12683
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン