0

状況:

15バイトの長い名前「namedata」などのデータを入力してキーコードを取得できるWebサイトサービスを提供したいと考えています。そのコードを使用して、ゲームの一部の機能 (私が提供) のロックを解除することができます。名前データも利用します (「Peter」が名前データである「Lazgun of Peter」という名前のカスタム Lazgun を考えてみてください)。

私の計画は、namedata をいくつかの短い署名 (たとえば 5 バイトの「hello」) とともに非対称暗号化 (秘密鍵を使用) で鍵コード (AsdF-STaCK-0VEr-FL0W-13Abbx のようなもの) に暗号化することです。

次に、ユーザーがゲームにキーコードを入力すると、ゲームは公開鍵を使用してデータを名前データと署名にデコードし、ユーザーは「ピーターのラズガン」を取得します。

問題:

問題 (または私の誤解?) は、典型的な RSA 暗号化は、キーの長さ (たとえば 1024 ビット) のデータの暗号化にしか使用できないことです。これは、私のキー コードには長すぎます。ユーザーは 150 でコードを入力したくありません。 + 文字 (入力された文字ごとに約 6 ビット データを想定)。

質問:

私のウェブサイトサービスだけが「正しい」コードを生成できるように、まともなセキュリティを得るにはどのような暗号化を使用する必要がありますか?

注: ゲームの実行可能ファイルは明らかに公開されており、そこに保存されている暗号化キーを読み取ることはできますが、実行可能ファイル自体を変更することはできません (コピー防止)。

4

1 に答える 1

0

すべてのアイテム データを実際のキー コード内に格納するのは間違った考えだと思います。

固有のダウンロード コードを作成する方が理にかなっています。入力すると、クライアントはサーバーに接続し、安全な接続を介して実際のアイテム データをダウンロードします。

これは意味がありますか?

于 2009-05-30T10:40:11.257 に答える