一般的にはそれらのことを解読するための数字のダイジェストを追加します.

2421 ワード

一般的なデジタルダイジェストアルゴリズムは、MD5SHAなどであり、これらのデジタルダイジェストアルゴリズムを紹介する.データ(セグメントのテキストのような)演算を別の固定長値に変更することは、ハッシュアルゴリズムの基礎原理である.
MD 5アルゴリズム
メッセージ要約アルゴリズムバージョン5(Message-Digest Algorithm 5)すなわちMD5は、Ron Rivest(RSA社)によって1992年に提案され、現在はデータ完全性チェック、データ(メッセージ)要約、データ暗号化などに広く使われている.MD2MD4MD5のいずれも16バイト(128ビット)の検証値を生成し、通常は32ビットの16進数で表される.MD2のアルゴリズムは遅いが、比較的安全で、MD4の速度は速いが、安全性が低下し、MD5MD4よりも安全で、速度が速い.
紹介するMD5ダイジェスト・アルゴリズム:MD5ダイジェスト・アルゴリズムは、任意の長さの情報を入力値とし、128ビットの長さの「指紋情報」または「要約文」の値に換算してこの入力値を表し、換算した値を結果とする.MD5アルゴリズムは主にデジタル署名アプリケーションのために設計されている.このデジタル署名アプリケーションでは、大きなファイルは暗号化(ここでの暗号化プロセスは、RSAなどの公開鍵の下で秘密鍵を設定することによって行われる)の前に安全な形で圧縮されます.[ RFC1321] MD5は用途が広く、データ生成情報の要約が改竄され、大ファイルのために一意のMD5情報要約が生成され、ファイルが修正されていないことを保証する.
実現原理:MD5は512ビットのパケットで入力された情報を処理し、各パケットは16個の32ビットのパケットに分割され、一連の処理を経て、アルゴリズムの出力は4つの32ビットのパケットからなり、これらの4つの32ビットのパケットをカスケードした後に128ビットのハッシュ値を生成する.
MD 5原理参照:MD 5アルゴリズム原理SHA 1とMD 5アルゴリズムの詳細解とソース
SHAアルゴリズム
セキュリティハッシュアルゴリズム(SHA)は、1つのデジタルメッセージに対応する長さ固定の文字列(メッセージ要約とも称する)のアルゴリズムを計算することができる.また、比較的によく使われるデータのダイジェストアルゴリズムでもあります.現在、SHAファミリーには主に5つのアルゴリズムがあります.これらのアルゴリズムはSHAファミリーに紹介されています.
紹介するSHA(Secure Hash Algorithm)は、米国が暗号アルゴリズムを専門に制定する標準機関である米国国家標準技術研究院(NIST)が制定したもので、SHAシリーズのアルゴリズムの要約長さは、SHAが20バイト(160ビット)、SHA256が32バイト(256ビット)、SHA384が48バイト(384ビット)、SHA512が64バイト(512ビット)である.これは、より長いデータダイジェストの長さのため、衝突が発生しにくく、より安全であり、これは将来のデータダイジェストアルゴリズムの発展方向である.SHAシリーズのアルゴリズムのデータダイジェスト長は長いので、その演算速度はMD 5に比べても比較的遅い.現在、SHA 1の応用は比較的広く、主にCAとデジタル証明書に応用されています.また、インターネットで流行しているBTソフトの中でも、SHA 1を使ってファイル検証を行っています.
原理を実現する
メッセージにパディングビットを追加して、そのモデル512と448とを同じにする(M%512==448).条件を満たしても512ビット(ビット)を充填します.充填過程はこのようなものです.まず1桁を補って、後は全部0を補って、条件を満たすまで.したがって少なくとも1ビットを充填し、最大512ビットを充填します.私たちが記憶しているときはバイト単位で保存していますので、メッセージの長さ(単位:ビット)は必ず8の倍数になります.私達が充填する時も必ず8桁で、8桁で充填します.つまり、バイナリビットを1つだけ埋めることはできません.少なくとも8つのバイナリビット(1バイト)です.したがって、最低1バイトを充填し、最大64バイト(64*8=512)を充填します.追加のパディングビットが完了した後に、元のメッセージの長さを格納するために64ビットのデータを追加する長さも必要である.追加のパディングビットが完了した後、メッセージ長(単位:ビット)は512と448と同じであるため、このとき64ビットを追加した後、メッセージ長は512の整数倍になる.最後に、メッセージの要約を計算し始めると、512ビットごとにグループの計算を開始します.その詳細な実装は、セキュリティハッシュアルゴリズムSHA 256を参照してください.
参考:データ要約アルゴリズムのまとめ