コンピュータ技術の出現により、情報を紙ではなくデータベースに保存することがより生産的になりました。ユーザー認証を必要とするWebアプリケーションは、通常、ログインパスワードを実際のパスワードと照合します。実際のパスワードは通常、民間の会社のデータベースに保存されています。攻撃者が前述のデータベースにアクセスすると、ユーザーの個人データが失われます。現在、データベースは保存されたパスワードを保護するためにハッシュアルゴリズムを使用していますが、セキュリティ上の懸念は依然として関連しています。毎年、ハッカーは有名なソーシャルネットワークやデータストアからハッキングされたパスワードの大規模なリストを公開しています。これらの攻撃は、弱いハッシュアルゴリズムを使用したために成功しました。
暗号化ハッシュ関数は、単にハッシュと呼ばれることが多く、認証、データ整合性チェック、ファイル保護、さらにはマルウェア検出など、さまざまなタスクを実行するために使用される不可欠でユビキタスなツールです。これは、データの任意の配列を文字と数字の固定長の文字列に変換する数学アルゴリズムです。さらに、同じタイプのハッシュが使用されている場合、入力データの量に関係なく、この長さは変更されません[2]。暗号の強度、複雑さ、ビットの深さ、およびその他のプロパティが異なる多くのハッシュアルゴリズムがあります。ハッシュのアイデアはIBMの従業員のものであり、約50年前に登場し、それ以来根本的に変わっていないと考えられています。今日、ハッシュは多くの新しいプロパティを取得し、情報技術の多くの分野で使用されています。
MD5メッセージハッシュアルゴリズムは、128ビットの出力メッセージを生成するために1991年にRonRivestによって開発されたメッセージハッシュアルゴリズムの5番目のバージョンです。このバージョン[5]は、以前のMD4アルゴリズムと比較して信頼性の点で改善されたものとして提示されました。
任意の長さのメッセージをハッシュ値に変換するには、アルゴリズムの5つのステップが必要であり、それぞれに固有のタスクがあります。アルゴリズムのステップを詳しく見てみましょう。
ステップ1:フローを調整します
余分なビットを含む元のメッセージの長さが512を法として448に等しくなるように、元のメッセージに余分なビットを追加する必要があります。追加は、元のメッセージの長さがすでに448に匹敵する場合でも実行されます。パディングビットでは、最初のビットのみが1です。残りのビットは0です。
2.
64- ( ) . , 512 . 512 .
3: MD-
(A, B, C, D) . A, B, C, D 32 - ,
Word A |
01 |
23 |
45 |
67 |
Word B |
89 |
AB |
CD |
EF |
Word C |
FE |
DC |
BA |
98 |
Word D |
76 |
54 |
32 |
10 |
4:
MD5 , 32- 32- [1].
OR, XOR, AND, NOT. ( ) , . , .
5.
A, B, C, D MD5, .
MD5 . - , . MD5 , - .
MD5 , «» MD5:
1)
— - , . , , . , . .
— , , , ( ) [7].
. , , . , , – . ( ), . - .
PasswordsPro, MD5BFCPF, John the Ripper.
2)
- , , , . - , -, [4].
- H n P. - : , h p P, H(p)=h, , . — H(p) p P, , -.
— . — R, P. , R -. - [11]:
1) - ;
2) .
, , .
H R, .
h, ( ), R(…R(H(R(h)))…). - - - , . h, .
-. , : H, R1, H, R2, …, H, Rk.
. , k .
MD5
- ( ) . -, «» .
MD5 2004 . 2004 MD5- .
[10] , 512- , -. MD5 1 . , ( ):
, , . , MD5 .
,
. , , , .
N L — . H . [9]
, , , . , , 2 , « » . , . , . : , .
“”
, . , , , , . - , , ( ), [8]. , , , . , 48 . :
1) : , , . .
2) () : , . , . . , , , , .
3) . , , username, . , . , , , “root” “admin”.
, − , . , - : -, , - -, , . , , MD5 . IETF (Internet Engineering Task Force) MD5 , .
MD5 , .
:
1. MD5 // wikipedia.org. ( : 20.11.2020).
2. A.. , .. , .. , .. . . 2- , . -2006.
3. - // wikipedia.org. ( : 5.12.2020).
4. // wikipedia.org ( : 2.12.2020).
5. Rivest, R. (1992, April). The MD5 Message Digest Algorithm. Request for Comments (RFC) 1321. Retrieved from https://www.rfceditor.org/rfc/rfc1321.txt
6. Kioon M. C, Wang Z. S, Shubra D.D Security Analysis of MD5 Algorithm in Password Storage // Scientific.Net. 2013. . 2706-2711.
7.ネチャエフV.I. 暗号化の要素(情報セキュリティ理論の基礎):教科書。ハイファーブーツとペッドのマニュアル。大学/編 V.A. Sadovnichy-M 。:より高い。shk。、1999年。8。JohnBlack
、Martin Cochran、Trevor Highland FastSoftwareEncryption 。FSE編 2006.S.262-277。
9.情報エントロピー//ru.wikipedia.org/(アクセス日:12.11.2020)。
10. MD5およびその他のハッシュ機能を解除する方法//(アクセス日:17.10.2020)。
11.データ構造/ハッシュチェーン//medium.com(アクセス日:10.12.2020)。