RSA暗号化·復号化
RSA暗号化アルゴリズムとは?
RSAは1977年にロナルド·リーヴェスト(Ron Rivest)、アディ·シャミール(Adi Shamir)、レナード·アデレマン(Leonard Adleman)によって提唱された。3人ともMITで働いていました。RSAは3人の名前の頭文字を組み合わせたものである。RSAアルゴリズムは非対称暗号化アルゴリズムであり、対称暗号化アルゴリズムとは異なり、RSAアルゴリズムは2つの異なる鍵を有し、1つは公開鍵であり、もう1つは秘密鍵である。RSA公開鍵暗号方式は、異なる暗号鍵と復号鍵を使用して、“既知の暗号鍵から復号鍵を導出することは計算上不可能である”暗号方式である。公開鍵暗号体制では、暗号化鍵(すなわち公開鍵)PKは公開情報であるが、復号鍵(すなわち秘密鍵)SKは秘密にする必要がある。暗号化アルゴリズムEと復号化アルゴリズムDも共に公開されている。復号鍵SKは公開鍵PKから決定されるが,PKからSKを算出することはできない.この理論に基づいて、1978年に有名なRSAアルゴリズムが登場しました。通常、最初にRSA鍵のペアを生成します。そのうちの1つは秘密鍵であり、ユーザーが保存します。もう1つは公開鍵であり、公開したり、ウェブサーバに登録することもできます。機密性を高めるために、RSA鍵は少なくとも500ビットの長さです。これは暗号化の計算量を大きくする。計算量を削減するために、情報を送信する際には、従来の暗号化方式と公開鍵暗号化方式の組み合わせがよく使われます。すなわち、情報は改良されたDESまたはIDEAセッション鍵で暗号化され、セッション鍵とメッセージダイジェストはRSA鍵で暗号化されます。相手がメッセージを受信した後、異なる鍵でメッセージを復号し、ダイジェストを確認することができます。RSAは最も広く研究されている公開鍵アルゴリズムであり、提案されて以来、様々な攻撃のテストを経験し、徐々に人々に受け入れられ、一般的に最高の公開鍵スキームの1つと考えられています。1983年、マサチューセッツ工科大学がRSAアルゴリズムの特許を取得。RSAは公開鍵のサイズを選択できます。512ビットの鍵は安全ではないと考えられています。768ビットの鍵はNSA(国家安全保障局)以外のものから危険にさらされる心配はありません。RSAはWindows、Netscape Navigator、 Quicken、Lotus Notesなどの主要製品に組み込まれています。RSAアルゴリズムの1024ビット鍵が深刻なセキュリティ脅威に直面しているため、電子認証サービスの安全な応用を保障するため、2016年12月5日、上海市暗号管理局はその公式サイトで公告を発表し、2017年1月1日からRSAアルゴリズムの1024ビット鍵ペアサービスの提供を停止し、電子認証サービス機構と応用単位と協力して対応措置を講じ、円滑な移行を確保する。
RSA暗号化アルゴリズムのセキュリティ
RSAの安全性は大数分解に依存しているが、大数分解と同値かどうかは理論的に証明されず、解読が理論的に証明されていない。RSAの難しさは大数分解の難しさと等価である。RSAを解くには大数分解が必要である。大きな数を分解する必要のないアルゴリズムがあると仮定すると、それは間違いなく大きな数分解アルゴリズムに変更することができます。すなわち、RSAの主な欠点は、その秘密性能を理論的に把握できないことであり、暗号コミュニティのほとんどは因子分解がNPC問題ではないことを好む傾向があります。現在、RSAの変種アルゴリズムのいくつかは大数分解と等価であることが示されている。いずれにせよ、n分解は最も明白な攻撃方法である。140桁以上の大きな素数を分解することができます。したがって、モジュラスnは、特定の適用状況に応じて大きく選択する必要がある。RSAアルゴリズムの機密性は、鍵の長さとともに増加します。しかし、鍵が長いほど、その追加と復号に時間がかかります。したがって、保護された情報の機密性と、特にビジネス情報の分野では、攻撃者が解読するために費やすコストの価値、およびシステムが要求する応答時間の両方を考慮する必要があります。