2017-01-18 9 views
0

私はこのドメインで初めてで、かなり安全なライセンスメカニズムを構築する必要がありますが、公開鍵システムの仕組みに関するいくつかの質問があります。ライセンスシステムの鍵ジェネレータの作成に関する質問

  1. 秘密鍵を使用してMACと有効期限の文字列を生成するキージェネレータの実装を想像してください。この文字列はソフトウェアによって解読され、MACが実行可能かどうかチェックされます。私の質問です。誰かが私のメッセージを解読してMACを見たら、鍵を作るのはかなり簡単でしょう?私はあなたが1つの秘密鍵で暗号化し、公開鍵で復号化することができるという事実の裏に数学があることを知っているから、暗号化されたメッセージ、実際のメッセージ、公開鍵で誰かが秘密鍵キー。

  2. 暗号化の前にメッセージをハッシュする必要があるかどうかについての議論で少し紛失しています。また、圧縮のための楕円曲線の使用。誰かが私にその話題に関するいくつかの情報を与えることができたら、私は感謝します。

P.S.私はC++を使用していますが、他の言語のコメントは歓迎します。

+0

"したがって、暗号化されたメッセージ、実際のメッセージと私は誰かが秘密鍵を見つけることができると推測する。 - それは*どんな*公開鍵アルゴリズムでも当てはまらない。 – JimmyB

+2

プライベートキーを使ってライセンスデータを署名*し、アプリケーションに埋め込まれた公開鍵を使って署名を検証するのはなぜですか? – JimmyB

答えて

1

DSAまたはECDSAまたは<insert favourite sigining algo here>鍵ペアを作成...あなたは、秘密鍵の安全を守る...公開鍵は、あなたのバイナリ

に埋め込まれているあなたの関連するライセンス情報

はそれを圧縮保持するデータ構造を作成しますライセンスのチェック時に、それは

記号:

は、ライセンスのを確認ignature

解凍構造

メイクのチェックがライセンスデータに基づいて


  1. を必要としているものは何でも、共通のよく知ら非対称暗号は、既知平文​​攻撃に対する私の知識に

  2. がちではありません楕円曲線は圧縮のコンテキストでは使用されません

楕円曲線は、暗号化の文脈で使用される(暗号化およびデジタル署名を読み取る)

  • でGoogle-FU訓練:RSA、DSA、ECC(楕円曲線暗号を)、ECDSA
  • 関連する問題