1

こんにちは、Javascript で設定した次のスクリプトがあります。

<!DOCTYPE html>
    <html lang="en">
            <head>
            <script src="jquery-1.7.2.min.js" type="text/javascript"></script>
            <script language="JavaScript" type="text/javascript" src="jsbn.js"></script>
            <script language="JavaScript" type="text/javascript" src="rsa.js"></script>
            <script language="JavaScript">

                function encryptData(){
                    var pem ="-----BEGIN PUBLIC KEY-----\
                    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+tii3IwzHa4i142kAB0dRVXoXA2Q8oF48UgMA\
                    AV54+JDED5iVyJK1s7J/xGi4U3+9sRoraE7bS19Nihs5DuYa0gsbKs/5jXOtKiw94fAtMyJTcX0d\
                    SzZhJKcX9vEzI27Hdu1rNFY64Ixz3KjrG1N/pXHtwjE1Ira5XZdTezx0wwIDAQAB\
                    -----END PUBLIC KEY-----";
                    var key = RSA.getPublicKey(pem);
                    var message = "some text to RSA encrypt";
                    var encryptedMessage = RSA.encrypt(message, key);
                    $('#RSAMessageEncrypted').html(encryptedMessage);
                }
            </script>
            </head>
        <body onload=encryptData();>
        <form>
            <strong>RSA encrypted Message :</strong> <textarea rows="10" cols="100"   id="RSAMessageEncrypted"></textarea><br>
        </form> 
        </body>
    </html>

テキスト領域には、上記の公開鍵を使用して RSA で暗号化されたメッセージが表示されます。

暗号化されたメッセージは次のとおりです。

oH1JVWIT7MOH4ObCjFlBuFcAUvooSZANMokFy5jApSi8n0ABVc9vwXP2EFl2x5+UColU6s2VAU+RsZPV4ZgZu3+GhN9pDUb1ZMVyYRECDy/7h+mE+UdDZTPwP1TAcBrspL/XM6+q6mJfUWbEKfR/2vyNUhBxpt6QOhVaI29aHfU=

私の質問は次のとおりです。この公開鍵の派生元である秘密鍵ペアを使用してメッセージを復号化するにはどうすればよいですか? 復号化用のライブラリはありますか?

私の秘密鍵は:

-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQC+tii3IwzHa4i142kAB0dRVXoXA2Q8oF48UgMAAV54+JDED5iVyJK1s7J/xGi4
U3+9sRoraE7bS19Nihs5DuYa0gsbKs/5jXOtKiw94fAtMyJTcX0dSzZhJKcX9vEzI27Hdu1rNFY6
4Ixz3KjrG1N/pXHtwjE1Ira5XZdTezx0wwIDAQABAoGBAJY4Gd4XZ6t1Epxi4oQ5N33jXGXgMAZp
M5FD8EUCzw1ujWlB96iT8qvZPdLSPMJkUwxyAfELGoI13n3POR46lBhRpYKkTZm1UmEBscdO2B9w
B7YUM9caJG4TgWBKxD8KLriQANnXZrv9zNGx4Cs0USeQgWuDfgkBF+PvL5AVq+jRAkEA+O0MNvBM
kGtGCLt/V34jiivGs9HtXKSJY6vI60GYZYB7D3SniYVUsMocC+O3vyqdpMiO/szfLTAWdXB2yl3Q
VwJBAMQhmQkT57rJ07SS40t1HGonryrmGF3BcHw9sVCijZF/jrbKeL5XmhnbCr9Lhy/InepcSRFI
Pqzj32w0timLi3UCQCVsliKIXCp2RlA3yDxiNXunezc7v4DnJ9S5VfqwoPXZrCa1th6B0irGKBNN
iCmQgaTtljoOmRsVGLtNTj68ff8CQGeiLR/b0bUkEeY3OzzS27nH0EoFnNhlbw9m9btauR0pXnp9
j8FbvoRs9kfQG9WG1tJQAxfLqbpnCdY+IAbhwkUCQQDOIrm78sSuVL+U6f98P2eDSzhKgnepEEVJ
u5iBs3lT5T+p+Xov6DPLd13Pm7Lyppj8S7pW/1CwkTVwW+U3O2kj
-----END RSA PRIVATE KEY-----
4

1 に答える 1

7

まず第一に、これが本番環境で使用する RSA 秘密鍵でないことを願っています。

JavaScript 側で暗号化/復号化を行うことに関しては、Standford の JSBN RSA Encryption ライブラリや、単純な暗号化/復号化を行うための ohdave.com の RSA in JavaScript ユーティリティなど、さまざまなライブラリがありますが、これらのツールやアーキテクチャに関する主な関心事はパフォーマンス。絶対に必要であり、他に回避策がない場合を除き、JavaScript で RSA 暗号化を行うことはありません。

于 2013-01-14T00:51:47.310 に答える