パスワード知識教程1


パスワードアルゴリズムについては知らない人もいますが、PGPといえば、多くのネット友達がよく知っています。これはツールソフトです。認証センターに登録したら、ファイルを解読したり、デジタル署名したりします。PGPはRSAアルゴリズムを採用しています。これから議論します。暗号アルゴリズムの目的は、情報の機密性、完全性、安全性を守るためであり、簡単に言えば、情報の偽造防止と盗撮防止のためであり、この点はオンライン支払いシステムにおいて特に意味がある。暗号学の元祖は情報論の創始者である香農であると言えます。彼はいくつかの概念と基本理論を提出しました。暗号アルゴリズムは理論的には理解できないことを実証しました。 One Time Paddingは、このアルゴリズムが鍵としてランダムなバイナリシーケンスを使用することを要求し、暗号化されるべきバイナリシーケンスとビット別に、鍵の長さは暗号化されるべきバイナリシーケンスの長さより小さくなく、鍵は一回しか使用できない。他のアルゴリズムは理論的に理解できる。DESアルゴリズムのように、その鍵の実際の長さは56ビットで、2^56回貧しい動作をすると、暗号化に使用される鍵が見つかるに違いない。したがって、暗号アルゴリズムを使用して、実際には解けないようにすればいいです。暗号アルゴリズムが知られている解読アルゴリズムの時間複雑さが指数レベルである場合、アルゴリズムを事実上不可解と呼びます。ちなみに、海外の報道によると、DESアルゴリズムを7時間半で解読した人がいます。暗号学は絶えず発展して変化する中で、人類の計算能力もムーアの法則の言及したように急激に発展するためです。第一部として、まず暗号アルゴリズムの概念について話します。     暗号アルゴリズムは複雑な関数変換と見なすことができます。C = F M, キー ),Cは暗号文、すなわち暗号化された後に得られた文字列を表し、Mは明文すなわち暗号化されるべき文字列を表し、Keyは鍵を表し、秘密に選択された文字列である。暗号学の原則の一つは「すべての秘密は鍵の中にある」ということです。アルゴリズムは公開できます。暗号化が完了したら、暗号文を不安全なルートで受信者に送ることができます。暗号解読鍵を持った受信者だけが暗号文を解読したり、逆変換したりして明文を得ることができます。鍵の伝達は安全なチャネルを通じて行わなければなりません。現在流行している暗号アルゴリズムは主にDESRSA、IDEA、DSAなどがあります。最近Liu氏のアルゴリズムもあります。華人劉尊全によって発明されたのです。暗号アルゴリズムは、従来の暗号アルゴリズムと現代の暗号アルゴリズムに分けることができ、従来の暗号アルゴリズムの特徴は、DESやIDEAなどの同じ鍵でなければならないことである。暗号化アルゴリズムは暗号化鍵と暗号解読鍵を区別し、暗号化鍵によって実際に復号鍵が求められない。このようなエンティティは、その暗号鍵(公開鍵と呼ばれ、暗号解読鍵は秘密鍵と呼ばれている)を公開しさえすればよく、エンティティ間では、従来の暗号アルゴリズムのように、通信の前に秘密鍵を渡さずに秘密通信を行うことができ、ここでは、秘密鍵が意図的に理解される。したがって、従来の暗号アルゴリズムは対称暗号アルゴリズムとも呼ばれる。 Cryptgraphic Algorithms ),現代暗号アルゴリズムは、非対称暗号アルゴリズムまたは公開鍵暗号アルゴリズムと呼ばれる。 Public-Key Cryptgraphic Algorithms ),Diffieからです とHellmanはまず1976年の米国国家コンピュータ会議でこの概念を提出しました。暗号化時の明文処理によって、暗号アルゴリズムはパケット暗号アルゴリズムとシーケンス暗号アルゴリズムに分けられます。パケット暗号アルゴリズムは暗号文を等長のグループに分けて暗号化し、シーケンス暗号アルゴリズムは1ビットに対して特別に処理し、既知の鍵ランダムシーケンスと平文を用いてビット別またはビット別に暗号化する。もちろんグループ長が1の場合、両者は混同します。これらのアルゴリズムは後で具体的に議論します。     RSAアルゴリズム     1978年にこのアルゴリズムが登場しました。データの暗号化にもデジタル署名にも使える最初のアルゴリズムです。それは分かりやすくて、操作もとても流行っています。アルゴリズムの名前は発明者の名前で命名されました。 Rivest、 Adi Shamar Leonardと AdlemanRSAの安全性は理論的に証明されていない。     RSAの安全性は大きな数の分解に依存する。公開鍵と秘密鍵は2つの大きな素数です。 大きい 10進数の関数100個。一つの鍵と暗号文から明文の難易度は二つの大きな素数の積を分解するのと同じであると推測される。     鍵ペアの生成。大きい素数を二つ選んで、p 和q 。計算:     n = p * q     暗号化鍵eをランダムに選択して、要求します。 e 和 ( p - 1 ) * ( q - 1 ) 相互質最後に、Euclidを利用します。 アルゴリズムは暗号解読鍵dを計算し、 満足する     e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )     ここではnとdも互いに質的でなければならない。数eとnは公開鍵であり、dは秘密鍵である。二つの素数pとqはもういらないです。捨てるべきです。誰にも分かりません。     暗号化情報 m(バイナリ表示)の場合、まずmを等長のデータブロックに分けます。 m 1 ,m 2,… 美。 ,ブロック長s、そのうち 2^s <= n, s なるべく大きいです。対応する暗号文は:     ci = ミ^e ( mod n ) ( a. )     復号時は次のように計算します。     美。 = ci^d ( mod n ) ( b )     RSA デジタル署名に使用できます。スキームは ( a. ) 式サイン、 ( b )式の検証。具体的な操作は安全性と m情報量が大きいなどの要因は、一般的に先作です。 HASH 演算子     RSA の安全性。     RSAの安全性は大きな数の分解に依存していますが、大きな数の分解に相当するかどうかは理論的に証明されていません。 RSAは必ず大数分解が必要です。大きな数を分解する必要のないアルゴリズムがあると仮定すれば,大きな数分解アルゴリズムに修正できるに違いない。現在、 RSAのいくつかの変形アルゴリズムは、大きな数分解に相当することを実証した。とにかく、nを分解することが一番明らかな攻撃方法です。現在、140以上の十進数の大きな素数が分解されています。したがって、係数nは大きくしなければならず、具体的な適用状況によって決まる。     RSAの速度。     大きな数の計算が行われているので、RSAが最も速い場合もDESより100倍遅くなり、ソフトウェアでもハードウェアでも実現できます。速度は常にRSAの欠陥です。一般的には少量のデータ暗号化にのみ使用されます。