Tải bản đầy đủ (.pptx) (31 trang)

Thuyết trình Tiểu luận môn mạng máy tính và bảo mật Mã hóa MD5 và những ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (977.85 KB, 31 trang )

Mã hóa MD5 và những
ứng dụng
Nhóm:14
Lý Thế Anh …………………k114060967
Trần Thị Kiều Chinh……….k114060972
Vũ Hoài Nam……………….k114061013
Phan Thanh Trang ……… k114061058
1. Mã hóa là gì
2. Khái niệm về mã hóa MD5
3. Đặc điểm MD5
4. Ứng dụng
5. Thuật toán
6. Những lỗ hổng và yếu điểm
7. Một số thuật toán mã hóa khác
8. Một số phần mềm kiểm tra MD5
9. Tổng kết
Nội dung :
Mã hóa là gì ?
1

Mã hóa (Encryption): Quá trình chuyển đổi dữ liệu gốc thành dữ
liệu được mã hóa sao người khác không thể đọc hiểu được (kí hiệu
E)

Giải mã (Decryption): Quá trình ngược lại của mã hóa, biến đổi dữ
liệu đã được mã hóa thành dạng gốc ban đầu (kí hiệu D);
Mã hóa là gì
1

Một hệ thống mã hóa bao gồm các thành phần:


Thông tin trước khi mã hóa

Thông tin sau khi mã hóa

Chìa khóa

Phương pháp mã hóa/giải mã

Vì sao chúng ta cần phải mã hóa?

Nhu cầu riêng tư, tính bảo mật

Toàn vẹn của thông tin

Mã hóa cũng là nền tảng của chữ ký điện tử, hệ thống
PKI…
Khái niệm về hàm băm MD5
2
1. Hàm băm :
.
Hash còn được gọi là “hàm băm” hay “bảng băm”.
.
Hàm băm là một hàm toán học chuyển đổi một thông điệp đầu vào có độ dài
bất kỳ thành một dãy bit có độ dài cố định (tuỳ thuộc vào thuật toán băm).
.
Hàm băm là hàm một chiều nên không thể tái tạo lại thông điệp ban đầu từ
một chuỗi băm có sẵn.
Hàm băm là hàm mã
hóa 1 chiều .

2. Hàm băm MD5 :

MD5 (viết tắt của tiếng Anh Message-Digest algorithm 5, giải thuật
Tiêu hóa tin 5) là một hàm băm mật mã được sử dụng phổ biến với
giá trị băm dài 128-bit.

Một bảng băm MD5 thường được diễn tả bằng một số hệ thập lục
phân 32 ký tự.

MD5 đã được dùng trong nhiều ứng dụng bảo mật, và cũng được
dùng phổ biến để kiểm tra tính toàn vẹn của tập tin.
Đặc điểm MD5
3

Việc tính MD đơn giản, có khả năng xác định được file
có kích thước nhiều Gb.

Không có khả năng tính ngược, khi tìm ra MD.

Hầu như không có khả năng hai bản tin phân biệt có
cùng giá trị hash.

Giá trị MD phụ thuộc vào bản tin tương ứng.

Một chuổi chỉ có duy nhất một hash.

Giá trị MD phụ thuộc vào tất cả các bit của bản tin
tương ứng.

Đặc điểm MD5

3
Ví dụ về mã MD5:


MD5("iloveyou")
= f25a2fc72690b780b2a14e140ef6a9e0

MD5("cộng hòa xã hội chủ nghĩa việt nam")
= 7b8e76fac176d53c53cb24843e31e759

Ngay cả chuỗi rỗng vẫn có kết quả: MD5(“”)
= d41d8cd98f00b204e9800998ecf8427e

Ứng dụng
4
1.Bảo toàn thông tin
MD5 được dùng rộng rãi trong các phần mềm trên toàn thế giới để
đảm bảo việc truyền tập tin được nguyên vẹn.
Khi chúng ta tải file về , thì file chúng ta vừa download sẽ có một chuỗi MD:

Nếu tín hiệu này khớp với tín hiệu các nhà phát triển
ứng dụng đã “xuất bản” ở trên thì không có vấn đề.

Nếu hai tín hiệu này khác nhau, có thể có trong file
download có virut hay tập tin đó đã bị thay đổi.

MD5 checksum là kiểm tra 1 dạng hash của file
2.Bảo mật

Mục đích của việc

mã hóa này là biến
đổi một chuổi mật
khẩu thành một
đoạn mã khác, sao
cho từ đoạn mã đó
không thể nào lần
trở lại mật khẩu.
3. Là n n ề tảng c a ch kí sủ ữ ố

Chữ ký số (khóa công khai) là mô
hình sử dụng các kỹ thuật mật mã
để gắn với mỗi người sử dụng một
cặp khóa công khai - bí mật.
Qua đó có thể ký các văn bản điện tử
cũng như trao đổi các thông tin mật.

Quá trình sử dụng chữ ký số bao
gồm 2 quá trình: tạo chữ ký và
kiểm tra chữ ký.

MD5 biến đổi một thông điệp có chiều dài bất kì
thành một khối có kích thước cố định 128 bits. Thông
điệp đưa vào sẻ được cắt thành các khối 512 bits.
Thông điệp được đưa vào bộ đệm để chiều dài của nó sẻ
chia hết cho 512. Bộ đệm hoạt động như sau:

Trước tiên nó sẻ chèn bit 1 vào cuối thông điệp.

Tiếp đó là hàng loạt bit Zero cho tới khi chiều dài của
nó nhỏ hơn bội số của 512 một khoảng 64 bit.


Phần còn lại sẻ được lấp đầy bởi một số nguyên 64 bit
biểu diển chiều dài ban đầu của thông điệp.
Thu t toánậ
5
Bước 1: Nhồi dữ liệu.
Bước 2: Thêm vào độ dài.
Bước 3 : Khởi tạo bộ đệm MD (MD buffer)
Bước 4 : Xử lí các khối dữ liệu 512- bit.
Bước 5 : Tính kết quả message digest.

using System.Security.Cryptography;

Viết hàm mã hóa:
private string EncodeMD5(string pass)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bs = System.Text.Encoding.UTF8.GetBytes(pass);
bs = md5.ComputeHash(bs);
System.Text.StringBuilder s = new System.Text.StringBuilder();
foreach (byte b in bs)
{
s.Append(b.ToString("x1").ToLower());
}
pass = s.ToString();
return pass;
}
Cách sử dụng các giải thuật mã hóa MD5 trong C#:
6

Dùng chương trình Visual Studio 2008 để thiết
kế một Form có giao diện như sau:
Yêu cầu chương trình.

Sau khi nhập username và password. Nhấn nút login chương trình sẽ
hiển thị một thông điệp cho thấy password đã được mã hóa thành 2
chuỗi khác nhau tương ứng với 2 giải thuật khác nhau.

Kết quả sau khi nhập password là admin:
Hướng dẫn thực hiện:
Sau khi đã thiết kế xong giao diện nhấn F7 để coding cho
form.
Bước 1: Bổ sung namespace còn thiếu:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Security.Cryptography;
Bước 2. Viết 2 hàm mã hóa theo mẫu đã thiết kế ở trên có kết quả trả về kiểu string
Bước 3.Khai báo 2 field strUsername và strPassword để lưu trữ thông tin username
và password
Bước 4. Viết code cho sự kiện Click
private void btnLogin_Click(object sender, EventArgs e)
{
strUsername =txtUsername.Text.ToString();

string strPass = txtPassword.Text.ToString().Trim(); ;
string strPasswordMD5 = EncodeMD5(strPass);
string strPasswordSHA1 = EncodeSHA1(strPass);
MessageBox.Show("Bạn đang đăng nhập với User: " + strUsername +
" và \nPass đã được mã hóa MD5 là: " + strPasswordMD5 +
" và \nPass đã được mã hóa SHA1 là: " + strPasswordSHA1
, "Thông tin", MessageBoxButtons.OK, MessageBoxIcon.Information
);
}
Bước 5. Kết thúc
Những lỗ hổng và yếu điểm
7

Bất cứ thuật toán mã hóa nào rồi cũng bị
giải mã

Vì MD5 chỉ dò qua dữ liệu một lần, nếu hai
tiền tố với cùng bảng băm được xây nên, thì
cùng một hậu tố có thể cùng được thêm vào
để khiến cho đụng độ dễ xảy ra.

×