プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

セキュアハッシュアルゴリズムはどのように機能しますか?


Secure Hash Algorithm(SHA)は、国家安全保障局(NSA)によって発明され、1993年に米国国立標準技術研究所(NIST)を通じて米国連邦情報処理標準(FIPS PUB 180)として公開されました。

SHAは、MD4アルゴリズムに依存し、MD4アルゴリズムと同様のビルディングブロックを共有します。 SHAの設計により、圧縮機能への16ワードのメッセージブロック入力を他のものの間の80ワードブロックに発展させる新しいプロセスが導入されました。

SHAの処理は次のように機能します-

ステップ1パディングビットを追加 −元のメッセージはパディングされ、その継続時間は512を法として448に一致します。メッセージはすでに目的の長さですが、パディングは継続的に挿入されます。パディングには、単一の1とそれに続く0ビットの必須数が含まれます。

ステップ2追加の長さ −符号なし64ビット整数(最も重要なバイトが最初)と見なされ、元のメッセージの長さを定義する(ステップ1でパディングする前の)64ビットブロックがメッセージに追加されます。完全なメッセージの長さは512の倍数です。

ステップ3バッファを初期化します −バッファには、それぞれA、B、C、D、およびEで示される32ビットの5つのレジスタが含まれます。この160ビットのバッファは、圧縮機能の一時的および最終的な結果に影響を与えるために使用できます。これらの5つのレジスタは、次の32ビット整数(16進表記)に初期化されます。

A =67 45 23 01

B =ef cd ab 89

C =98 ba dc fe

D =10 32 54 76

E =c3 d2 e1 f0

レジスタA、B、C、およびDは、実際にはMD5アルゴリズムで使用される4つのレジスタと同じです。ただし、SHA-1では、これらの値はビッグエンディアン形式で保存されます。これは、ワードの最も重要なバイトが下位アドレスのバイト位置にあることを定義します。したがって、初期化値(16進表記)は次のように発生します-

単語A =67 45 23 01

単語B =ef cd ab 89

単語C =98 ba dc fe

単語D =10 32 54 76

単語E =c3 d2 e1 f0

ステップ4512ビットブロックでメッセージを処理する −圧縮機能は、20の連続したステップに分割され、各ラウンドが20のステップで構成される4ラウンドの処理が含まれます。

4つのラウンドは構造的に互いに同じですが、各ラウンドに異なるブール関数が必要であるという違いがあります。これは、f1、f2、f3、f4、および4つの複数の加法定数Kt(0≤t≤79)の1つとして定義できます。検討中のステップに基づいています。

ステップ5出力 −最後の512ビットメッセージブロックtを処理した後(メッセージがt 512ビットブロックに分割されていることを考慮)、160ビットメッセージダイジェストを取得できます。


  1. iTunesバックアップには写真が含まれていますか? iTunesはどのように機能しますか?

    iTunesのバックアップには写真が含まれていますか? iPhoneをiTunesで保存したいのですが、質問があります。私の写真がiTunesバックアップに含まれるかどうか?私はiPhoneにたくさんの写真を持っているので、これをとても気にしています。何か助けはありますか? -Appleコミュニティからの質問 カメラはiPhoneで最も宣伝されている機能の1つです。後処理なしで自分で美しい写真を撮ることができます。写真を保存するためにiTunesでiPhoneをバックアップするとき、iTunesが写真をバックアップするかどうか疑問に思うかもしれません。 iTunesで写真をバックアッ

  2. YouTube アルゴリズムの仕組み

    YouTube のおすすめセクションは、視聴者が新しい動画を探すために最も頻繁に訪れる場所です。ここにある動画は、ユーザーが視聴する可能性が最も高いと YouTube が判断した動画をクリックするように、ユーザーに合わせて調整されています。しかし、これらのビデオはどのように選ばれるのでしょうか? ほとんどの人は、このプロセスを YouTube アルゴリズムと呼んでいます。これは、サイトがどの動画をユーザーのおすすめセクションに入れるかを計算する方法です。また、ユーザーの検索結果にも影響します。したがって、このアルゴリズムがどのように機能するかを知ることは、クリエイターがより多くの視聴者にリー