2017-01-23 4 views
0

無効な暗号文を含む特定の復号化操作でクラッシュするRSAライブラリを使用しています。セキュリティ上の理由から、クラッシュに関係するRSAキーまたは暗号テキストにはアクセスできません。珍しいが数学的に有効なRSA鍵を生成するには?

私のラボでは、複数のRSAキーを提出し、強制的にクラッシュするように暗号文の値を調整しようとしました。私は512から4096ビットの鍵で試しましたが、各ビットを変更したり、ゴミを追加したり、ゴミを追加したり、尾を切り捨てたり、頭を切り捨てたりすることで有効な暗号文を調整しました。いずれの場合も、ライブラリは正常に動作し、プロダクションではランダムに発生するため、クラッシュする代わりに「無効な暗号文が提供されました」と報告します。

私の最後の手段は、異常な指数などの異常なRSAキーを試すことです。 RSAキー生成を完全にカスタマイズできるライブラリやツールがありますか?

私はC#、JavaまたはC++(Visual Studio)から呼び出すことができますが、Windowsのコマンドラインツールでもあります。サンプルコードまたはリファレンスドキュメントへのリンクは高く評価されています。

+2

なぜキーの障害だと思いますか?あなたのデータに使用されているキーがわからず、それを変更できない場合でも、クラッシュするタイプのキーを見つけることは役に立ちません。それを修正する作者を取得してください... – deviantfan

+0

大きすぎる値を送信することによってオーバーフローしていないことを確認しましたか? – deW1

+1

プロダクション用に独自のセキュリティ機能を実装することには慎重を期しています。それが悪用が起こる方法です。 – user3853544

答えて

2

CoreFX RSAテストには、unusual keys definedという2つのテストがあります。

DiminishedDPParametersの値は、通常よりも1バイト少ないバイト数で表現できます(PとQの両方がN/Dの幅の半分である場合、DPは通常PまたはQと同じサイズです)。 OpenSSLののRSA_generate_keyはE.だけで作られたものまでの値をとるが、で立ち往生:

UnusualExponentParametersではなくE=0x010001(生成技術のE=0x01B1を使用しています(生成技術パラメータの一つが欠乏するまでopenssl genrsa [keysize] | openssl rsa -text -nooutに入るまでヒッターキープ) )

珍しいE値になるもう1つのことは、4バイト(Windows CAPI/.NET RSACryptoServiceProviderの制限)よりも大きくなることです。そのうちの1つでテストされているようには見えないので、インラインバージョンです。 (暗号の免責事項:この鍵は一例として生成されており、明らかにインターネットに公開されており、秘密にしたいものには使用しないでください)。

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