2009-09-04 3 views
-1

私は、JavascriptとJavaコードの両方でRSAコードを探したいと思っています。また、暗号化と復号化で同じ結果を返すことができます。JavascriptとJavaの両方でRSAコード

私の目的は次のとおりです。私は、(公開鍵を使って)JavaScriptを使用してユーザーのブラウザでメッセージを暗号化できます。私は自分のサーバーで秘密鍵を使ってそのメッセージを解読することができます。

私はインターネット上に見つかりましたが、JavascriptとJavaは差異の結果を返します.JavaScriptを使用して暗号化すると、Javaを使用して解読できません。

+0

これは宿題のように聞こえるが、私は間違っている可能性があります。 –

+5

「私にコードを渡す」部分は攻撃的ですが、基本的な考え方自体は壊れています。 –

+4

SSLは、すでにブラウザからサーバーへの安全なリンクを提供しています。あなたのサイトの何かがそれほど敏感であれば、SSLの背後にあるはずです。自分のセキュリティをローリングすることは、自分が行っていることを本当に本当に分かっていない限り、最後の手段に過ぎないはずです(そうした場合はこの質問をしません)。 – Kip

答えて

0

RSAがプラットフォームに依存しないため、javascriptとjavaが異なる結果を出すのはなぜか不思議ですが、キーをバイト配列に変換することが異なる可能性があります。

パスワードを暗号化する場合、暗号化/復号化できるバイト数はキーの長さに関係しているため、RSAを使用すると意味があります。

JavaとJavascriptのソースコードが見つかったり、少なくともキー配列がどのようにバイト配列に変換されているかを知っていれば、プライベートキーまたは公開キーがそれらから作成されています。

+0

James、この人物の実績を見てみたいかもしれません。 –

+0

私は理由を知りません。たぶん、JSとJavaのコードの違いがあります。例えば、javaを生成する場合、publicは、 "MIGfMA0GCSqGSIb3DQEBAQUAA4GNAD ....."のような1つのString結果のみを返します。しかし、javascriptでは、キーはkey:m、e、dの3つのパラメータを必要とします。次の例のように。 メートル= 1d7777c38863aec21ba2d91ee0faf51 E = 5abb D = 1146bd07f0b74c086df00b37c602a0b (例を参照してください:http://ohdave.com/rsa/)を – MartinJoo

+0

あなたが見ればhttp://bouncycastle.org/docs/docs1.6/ index.html、PublicKeyFactoryとRSAPublicKeyStructureを見て、エンコーディングがASN.1でエンコードされていることを確認してください。エンコーディングは重要なもので、キーがインターネット上で送信できるものに変換される方法です。 3つのものをリストにするには、公開鍵と秘密鍵を生成することができます。したがって、javascriptは決してそれを取得しません。エンコードされた公開鍵を使用してライブラリを見つけ、そのエンコードを使用するライブラリを見つける必要があります。 –

6

これはお勧めできません。

RSA公開鍵暗号化は、メッセージ全体ではなくセッション鍵を暗号化するのに適しています。それは遅すぎるので、直接使用すると中間者攻撃に敏感です。

SSLを使用してください。

0

ここには、単純なRSAアルゴリズムのJavascript(数字のみ)があります。あなたは簡単にページのソースコードを、次のことで、Javaに変換することができます

http://www.alporal.com/rsa.htm

関連する問題