暗号化と署名アルゴリズム

前文

消費したい文字列に一意の識別子がない場合、繰り返しの消費を防ぐにはどうすればよいでしょうか[email protected]

背景情報

暗号化

暗号化技術は、セキュリティと機密性を確保するために最も一般的に使用されている技術であり、重要なデータを技術的手段を用いて文字化けに変換(暗号化)し、送信先に到着した後、同一または別の手段で復元(復号化)する技術です。

このアルゴリズムは、通常の情報や理解可能な情報と一連の数字を理解できない暗号文に変換しますセキュリティと機密性においては、適切な暗号化技術鍵管理メカニズムを使用して、ネットワーク情報通信のセキュリティを確保できます。

AES

暗号化における Advanced Encryption Standard (AES) は、ラインダール暗号化とも呼ばれ、米国連邦政府によって採用されたブロック暗号化標準です。--------対称暗号化

この標準は、元の DES (データ暗号化標準) を置き換えるために使用され、多くの関係者によって分析され、世界中で広く使用されています。5 年間の選定プロセスを経て、Advanced Encryption Standard は 2001 年 11 月 26 日に国立標準技術研究所 (NIST) によって FIPS PUB 197 で公開され、2002 年 5 月 26 日に有効な標準となりました。 2006 年に、Advanced Encryption Standard は対称キー暗号化で最も人気のあるアルゴリズムの 1 つになりました [1]。

Advanced Encryption Standard アルゴリズムは、さまざまな方法で懸念事項に対処します。実際、 データ 高度暗号化標準アルゴリズム自体には影響を与えません。 真の 128 ビット暗号化、または 256 ビット暗号化でも、ブルート フォース攻撃が成功するまでにかなりの時間がかかります。

データ暗号化標準 (DES、Data Encryption Standard) は、キー暗号化を使用したブロック暗号であり、1976 年に米国連邦政府の国家標準局によって連邦データ処理標準 (FIPS) として認定され、その後国際的に広く普及しました。 。これは、56 ビット キーを使用する対称アルゴリズムに基づいています。このアルゴリズムには比較的短い鍵の長さ、いくつかの機密設計要素が含まれていること、

ハッシュ

ハッシュは一般に「ハッシュ」と訳されますが、「ハッシュ」への直接の音訳もあります。つまり、任意の長さの入力がハッシュ アルゴリズム を通じて固定長の出力に変換され、出力がハッシュ値になります。----ここが重要なポイントです。入力の長さは任意、出力の長さは固定です[email protected]

この変換は圧縮マッピングです。つまり、ハッシュ値のスペースは通常、入力のスペースよりもはるかに小さく、異なる入力が同じ出力にハッシュされる可能性があり、ハッシュから入力値を一意に決定することは不可能です。価値。-----したがって、異なる入力から同じ出力が得られる可能性がありますが、その確率は非常に小さいです[email protected]簡単に言うと、任意の長さのメッセージを固定長の情報要約に圧縮する機能です。

HASH は、主に情報セキュリティ分野の暗号化アルゴリズムに使用されます。さまざまな長さの情報を、ハッシュ値と呼ばれる乱雑な 128 ビット コード に変換します。ハッシュは、データの内容とデータの保存アドレスを見つけるためのものであるとも言えます 。マッピング関係

情報セキュリティにおけるハッシュ アルゴリズムの適用は、主に次の 3 つの側面に反映されます。

1) ファイル検証

私たちがよく知っているチェックアルゴリズムにはパリティチェックとCRCチェックがありますが、これら2つのチェックにはデータの改ざんを防ぐ機能はなく、データ伝送中のチャネルエラーをある程度検出して訂正することはできますが、データの改ざんを防ぐことはできません。 . 悪意のあるデータ破壊。

MD5 ハッシュ アルゴリズムの「デジタル フィンガープリント」機能により、現在最も広く使用されているファイル整合性チェックサム (チェックサム) アルゴリズムとなっており、多くの Unix システムでは、MD5 チェックサムを計算するコマンドが提供されています。

パリティについて

パリティ チェック(Parity Check) は、コード伝送の正しさを検証する方法です 送信された バイナリ 内の「1」の数が奇数か偶数かによってチェックが行われます。奇数パリティを 奇数 パリティ、その逆を偶数パリティと呼びます。

どのキャリブレーションを使用するかは、事前に指定されています。通常、 パリティ ビットは、 このコード グループ内の「1」の数を奇数または偶数にするために特別に設定されます。奇数パリティが使用されている場合、受信側はこのコード群を受信したときに、「1」の数が奇数であるかどうかをチェックして、送信されたコードが正しいかどうかを判断します。

奇数パリティチェック :元のデータ列(追加したいものも含む)の 1の数を
奇数1000110(0)にするため、すでに奇数の1が3つになるように0を足さなければなりませんので、 0を足しても1は奇数のままです。

偶数チェック :元のデータ列 (追加したいものも含む) の 1の数を偶数にすることです. 偶数チェックは実際には 巡回 冗長検査 特殊なケース です. 1 は多項式 x CRC
1000110 (1) 1 を足さなければならないので、1 は 3 つあり、1 の数が偶数の場合は 1 つしか足せません。

CRCチェックについて

巡回冗長検査 (英語: Cyclic redundancy check 、通称「 CRC 」)とは、オンラインデータパケットや コンピュータ 短い固定桁のチェックコードを生成する ハッシュ であり、主に不正な検査や不正行為の検出に使用されます。 verify データ送信や保存後に発生する可能性のあるエラーを確認します。結果として得られる数値は、送信または保存前に計算されてデータに追加され、受信側はデータが変更されたかどうかを確認します。一般に、 巡回冗長検査 の値は32 ビットの整数です。この関数は、バイナリ コンピュータ 広く使用されています。この方法は、1961 年に W. Wesley Peterson によって発表されました。

CRC は チェックサム 、 2 バイトのデータ ストリームをバイナリ除算 (桁上げなし、 減算の代わりに XOR を使用) で除算して得られる剰余です。このうち、被除数はチェックサムを計算する必要がある情報データ ストリームのバイナリ表現であり、除数は長さが (n+1) の事前定義された (短い) 2 進数で、通常は多項式の係数で表されます。除算を行う前に、情報データの後に n 個の 0 を追加します。

2) デジタル署名

ハッシュ アルゴリズムも現代の暗号システムの重要な部分です。非対称アルゴリズムは動作速度が遅いため、一方向ハッシュ関数はデジタル署名プロトコルで重要な役割を果たします。「デジタル ダイジェスト」とも呼ばれるハッシュ値へのデジタル署名は、ファイル自体にデジタル署名することと統計的に同等です。そして、このような合意には別の利点もあります。----非対称暗号化アルゴリズムに対するデジタル署名の利点は、その速度です。

3) 認証プロトコル

次の認証プロトコルは、「チャレンジ認証モード」とも呼ばれます。これは、伝送チャネルの傍受は可能だが改ざんはできない場合の、シンプルで安全な方法です。

MD5

Baidu エントリーの紹介を見る

MD5 メッセージ ダイジェスト アルゴリズム (英語: MD5 Message-Digest Algorithm) は、広く使用されている 暗号化 ハッシュ関数であり、情報伝送の完全な一貫性を確保するために使用される128 ビット (16 バイト) のハッシュ値 (ハッシュ値) を生成できます。 MD5 は、アメリカの暗号学者 Ronald Linn Rivest によって設計され、 MD4 アルゴリズムを置き換えるために 1992 年に公開されました。このアルゴリズムの手順は、RFC 1321 標準で指定されています。1996 年以降、このアルゴリズムは脆弱であり、解読される可能性があることが判明したため、専門家は一般に、高度なセキュリティが必要なデータの場合、 SHA-2 などの他のアルゴリズムを使用することを推奨します。2004年に、MD5アルゴリズムはコリジョン(衝突)を防ぐ ことができない、 SSL公開鍵認証やデジタル署名 などの セキュリティ認証には適さないことが 判明しました

上でわかるように、MD5 は文字列に基づいて16 バイトハッシュ値を生成しますが、同時に MD5 では衝突を防ぐことができないことがわかります。範囲:同じハッシュ値が異なる文字列から派生する可能性があります。

この国には多くの才能ある人材がおり、衝突の可能性が最も低いのは次の内容を参照することができます[email protected]

MD5 によれば、SHA は MD5 を置き換えるために使用されるテクノロジーです。

セキュア ハッシュ アルゴリズム (英語: Secure Hash Algorithm、略称 SHA)は、暗号ハッシュ関数のファミリーであり、FIPS によって認定されたセキュア ハッシュ アルゴリズムです。 デジタル メッセージに対応する固定長の文字列 (メッセージ ダイジェストとも呼ばれる) を計算できるアルゴリズム また、入力メッセージが異なる場合、それらは異なる文字列に対応する可能性が高くなります。----それでもデータ衝突の可能性はありますが、その可能性は MD5 よりもはるかに小さいです [email protected]

SHA ファミリの 5 つのアルゴリズム、つまり SHA-1、SHA-224、SHA-256、SHA-384、および SHA-512 は、米国国家安全保障局 (NSA) によって設計され、米国国立標準研究所によって開発されました。 and Technology (NIST);米国政府の標準です。後の 4 つは総称して SHA-2 と呼ばれることもありますSHA-1 は、TLS、SSL、PGP、SSH、S/MIME、IPsec などの多くのセキュリティ プロトコルで広く使用されており、かつては MD5 (以前に広く使用されていたハッシュ関数) の後継とみなされていました。しかし、SHA-1 の安全性は現在、暗号学者によって真剣に疑問視されています。これまでのところ SHA-2 に対する効果的な攻撃はありませんが、そのアルゴリズムは依然として基本的に SHA-1 と同様です。そのため、他の代替ハッシュ アルゴリズムを開発し始めた人もいます。 。

SHA の例: https://blog.csdn.net/Alian_1223/article/details/117443522

おすすめ

転載: blog.csdn.net/cuiyaonan2000/article/details/128826596