1. Trang chủ
  2. » Giáo án - Bài giảng

Thuyết trình môn an ninh mạng Tóm Tắt về Hàm Băm

21 871 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 301,45 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tổng quanMục tiêu: các hàm băm H tạo ra giá trị băm cho một tập tin, thông điệp hay một khối dữ liệu truyền đi nhằm kiểm tra tính toàn vẹn.. Các đặc điểm ● Khối dữ liệu vào có độ dài bất

Trang 1

Chuyên đề 3: Tóm Tắt về Hàm Băm

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Gv hướng dẫn: TS Nguyễn Chiến Trinh

Nhóm 4: Lê Công Đức

Trần Quang Dũng

Đỗ Văn Được

Trang 2

Tổng quan

Mục tiêu: các hàm băm (H) tạo ra

giá trị băm cho một tập tin, thông

điệp hay một khối dữ liệu truyền đi

nhằm kiểm tra tính toàn vẹn

Các đặc điểm

● Khối dữ liệu vào có độ dài bất kỳ, tạo đầu ra có độ dài cố định

● H(x) tính toán mọi x tương đối dễ dàng

● Với bất kỳ giá trị băm h, không thể tính được x sao cho H(x)=h Hay

H được gọi là hàm một chiều

Tính bền xung đột yếu (weak collision resistance): với bất kỳ giá

trị x, không thể tính được y ≠ x sao cho H(y) = H(x)

Tính bền xung đột mạnh (strong collision resistance): Không

thể tính được một cặp (x, y) sao cho H(x) = H(y)

Trang 3

VEST-4/8 (hash mode) 160/256 Không

VEST-16/32 (hash mode) 320/512 Không

Trang 4

Giải thuật MD

● Các hàm băm MD (Message Digest) (2,4,5,6) được phát minh bởi Ronald Rivest tại MIT

● Được thiết kế để triển khai hiệu quả bằng phần mềm.

● Sử dụng các biến 32bit (từ), với các phép toán Boolean như AND, OR, NOT, XOR

● Input: thông điệp với độ dài bất kỳ

● Output: giá trị băm (message digest) 128 bits

● Giải thuật gồm 5 bước thao tác trên khối 512 bits

Trang 5

Giải thuật MD5 – Nguyên lý

Bước 1: Nhồi dữ liệu

Nhồi thêm các bits sao cho dữ liệu có độ dài l ≡ 448 mod 512 hay l=

n * 512 + 448 (n,l nguyên)

● Luôn thực hiện nhồi dữ liệu ngay cả khi dữ liệu ban đầu có độ dài mong muốn Ví dụ, dữ liệu có độ dài 448 được nhồi thêm 512 bits

để được độ dài 960 bits

● Số lượng bit nhồi thêm nằm trong khoảng 1 đến 512

● Các bit được nhồi gồm 1 bit “1” và các bit 0 theo sau

Trang 6

Giải thuật MD5 – Nguyên lý

Bước 2: Thêm vào độ dài

● Độ dài của khối dữ liệu ban đầu được biểu diễn dưới dạng nhị phân 64-bit và được thêm vào cuối chuỗi nhị phân kết quả của bước 1

● Nếu độ dài của khối dữ liệu ban đầu > 264, chỉ 64 bits thấp được

sử dụng, nghĩa là giá trị được thêm vào bằng K mod 264

● Kết quả có được từ 2 bước đầu là một khối dữ liệu có độ dài là bội số của 512 Khối dữ liệu được biểu diễn:

● Bằng một dãy L khối 512-bit Y0, Y1,…, YL-1

● Bằng một dãy N từ (word) 32-bit M0, M1, MN-1

Vậy N = L x 16 (32 x 16= 512)

Trang 7

Giải thuật MD5 – Nguyên lý

Bước 3: Khởi tạo bộ đệm MD (MD buffer)

● Một bộ đệm 128-bit được dùng lưu trữ các giá trị băm trung gian và kết quả Bộ đệm được biểu diễn bằng 4 thanh ghi 32- bit với các giá trị khởi tạo ở dạng little-endian (byte có trọng số nhỏ nhất trong

từ nằm ở địa chỉ thấp nhất) như sau:

● A = 67 45 23 01

● B = EF CD AB 89

● C = 98 BA DC FE

● D = 10 32 54 76

Trang 8

Giải thuật MD5 – Nguyên lý

Bước 4: Xử lý các khối dữ liệu 512

công thức: T[i] = 232 x abs(sin(i)),

được tính theo radian

● Kết quả của 4 vòng được cộng

(theo modulo 232) với đầu vào

CVq để tạo CVq+1

Trang 9

Giải thuật MD5 – Nguyên lý

● Mỗi vòng thực hiện 16 bước, mỗi bước thực hiện các phép toán để cập nhật giá trị buffer ABCD, mỗi bước được mô tả như sau

● B = B + ((A + Q(B,C,D) + X[k]+ T[i]) <<< s)

● A,B,C,D: các từ của thanh ghi

● Q: một trong các hàm F,G,H,I

● <<< s : dịch vòng trái s bits

● Mi ~ X[k]: từ 32-bit thứ k của khối dữ liệu 512 bits k=1 15

● Ki ~ T[i]: giá trị thứ i trong

bảng T

● +: phép toán cộng

modulo 232

Trang 10

Giải thuật MD5 – Nguyên lý

Xuất kết quả

● Bước 5: Sau khi xử lý hết L khối 512-bit, đầu ra của lần xử lý thứ L

là giá trị băm 128 bits

Sử dụng thuật toán MD5, ta có thể thực hiện một số ví dụ sau:

MD5(“Posts and Telecommunications Institute of technology”) =

416dcb3e28f33cb3e2a8eb4e137f8521

− Thậm chí chỉ cần một thay đổi nhỏ cũng làm thay đổi hoàn toàn kết quả trả về: MD5(“Posts and Telecommunications institute of technology”) = 680781119b840a0223c33baff7754268

− Ngay cả một chuổi rỗng cũng cho ra một kết quả phức tạp:MD5(“”) = d41d8cd98f00b204e9800998ecf8427e

Trang 11

Giải thuật MD5 – Đặc điểm

Việc tính MD5 đơ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

Do bản chất của hàm băm và số lượng cực lớn các giá trị hash có thể nên hầu như không thể có 2 bản tin phân biệt có cung giá trị Hash

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

Một chuỗi có duy nhất một hash

Giá trị MD phụ thuộc vào tất cả các bits tương ứng

Có nhiều ưu điểm so với MD4

Tuy nhiên MD5 đã bị tấn công thành công, vì vậy nó cũng không còn an toàn và cần được thay thế bằng một thuật toán băm khác.

Trang 12

chuẩn NIST SHA-3

Cho phép nhiều tính toán băm

song song cùng lúc (Merkle)

Vẫn đang trong giai đoạn

phát triển, phát sinh một số lỗi

MD6 không thể trở thành tiêu chuẩn SHA-3

MD6 được sử dụng lần đầu tiên trong sâu Conficker

B (12/2008)

Giải thuật MD6

Trang 13

● Secure Hash Algorithm (SHA) phát triển bởi National Institute of Standard and Technology (NIST)

● Đầu vào: thông điệp với độ dài tối đa 264 bits

● Đầu ra: giá trị băm (message digest) có độ dài 160 bits

● Giải thuật gồm 5 bước thao tác trên các khối 512 bits

Trang 14

Giải thuật SHA-1 – Nguyên lý

Bước 1: Nhồi thêm dữ liệu

Thông điệp được nhồi thêm các bits sao cho độ dài l ≡ 448 mod 512 hay l

= n * 512 + 448 (n,l nguyên)

● Thông điệp luôn luôn được nhồi thêm dữ liệu

● Số bits nhồi thêm nằm trong khoảng 1 đến 512

● Phần dữ liệu nhồi thêm bao gồm một bit 1 và theo sau là các bit 0

Bước 2: Thêm vào độ dài

● Độ dài của khối dữ liệu ban đầu được biểu diễn dưới dạng nhị phân 64-bit và được thêm vào cuối chuỗi nhị phân kết quả của bước 1

● Độ dài được biểu diễn dưới dạng nhị phân 64-bit không dấu

● Kết quả có được từ 2 bước đầu là một khối dữ liệu có độ dài là bội số của

512 Khối dữ liệu được biểu diễn:

● Bằng một dãy L khối 512-bit Y0, Y1,…, YL-1

Bằng một dãy N từ (word) 32-bit M0, M1, MN-1 Vậy N = L x 16

Trang 15

Giải thuật SHA-1 – Nguyên lý

Bước 3: khởi tạo bộ đệm MD (MD buffer)

● Một bộ đệm 160-bit được dùng lưu trữ các giá trị băm trung gian và kết quả

Bộ đệm được biểu diễn bằng 5 thanh ghi 32- bit với các giá trị khởi tạo ở dạng big-endian (byte có trọng số lớn nhất trong từ nằm ở địa chỉ thấp nhất) như sau:

Trang 16

Giải thuật SHA-1 – Nguyên lý

Bước 4: xử lý các khối dữ liệu 512-b

● Trọng tâm của giải thuật bao gồm 4 lặp

thực hiện tất cả 80 bước

● 4 vòng lặp có cấu trúc như nhau, chỉ nhau ở

các hàm logic f1, f2, f3, f4

● Mỗi vòng có đầu vào gồm khối

512- thời và một bộ đệm 160-bit ABCDE

● Đầu ra của 4 vòng (bước 80) được c đầu ra

của bước CVq để tạo ra CVq+1

Trang 17

Giải thuật SHA-1 – Nguyên lý

Bước 5: xuất kết quả

● Sau khi thao tác trên toàn bộ L blocks Kết quả của khối thứ L

● IV = giá trị khởi tạo của bộ đệm ABCDE

● ABCDEq = đầu ra của hàm nén trên khối thứ q

● L = số khối 512-bit của thông điệp

● SUM32 = phép cộng modulo 232 trên từng từ (32 bits) của đầu vào

● MD = giá trị băm

Trang 18

So sánh MD5 và SHA-1

 Giống nhau:

Cả MD5, SHA1 đều được giới khoa học máy tính coi là "đa chức năng" Chúng có thể nhận mọi dạng dữ liệu đầu vào, cũng như tạo ra

một dấu vân tay số duy nhất.

MD5 và SHA1 đều cộng thêm các bit “ ” để tạo thành những khối chia

hết cho 512 bit, nhưng SHA1 sử dụng cùng một hàm phi tuyến f cho cả

bốn vòng

Cả MD5 và SHA1 thuật toán đều gồm 5 bước là: nhồi dữ liệu, thêm độ dài, khởi tạo bộ đệm, xử lí các khối dữ liệu 512 bits, xuất kết quả

Tính đơn giản

Trang 19

)Input: MD5 là chuỗi có độ dài bất kì còn SHA1 là chuỗi có độ dài tối đa 264 bits

2) Tốc độ :SHA1 thực hiện nhiều hơn 16 bước và thao tác trên thanh ghi 160 bit

3) Độ an toàn (khả năng chống tấn công )

)Để tạo ra thông điệp có giá trị băm cho trước, cần 2128 thao tác với MD5 và 2160 với SHA1

) Để tìm 2 thông điệp có cùng giá trị băm, cần 264 thao tác với MD5 và 280 với SHA1

Ngày đăng: 24/07/2015, 22:26

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w