Các hàm băm không có khoá (MDC)

Một phần của tài liệu (LUẬN văn THẠC sĩ) một hệ mật xây dựng trên sơ đồfeistel không cân bằng và khả năng ứng dụng trên hàm băng (Trang 46 - 49)

6. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI

3.2.1. Các hàm băm không có khoá (MDC)

Mật mã khối (n, r) là một mã khối xác định một hàm khả nghịch từ các bản rõ n bit sang các bản mã n bit bằng cách sử dụng một khoá r bit. Nếu E là một phép mã hoá nhƣ vậy thì Ek( )x ký hiệu cho phép mã hoá x bằng khoá k.

Cho h là một hàm băm có lặp đƣợc xây dựng từ một mật mã khối với hàm nén  thực hiện s phép mã hoá khối để xử lý từng khối bản tin n bit. Khi đó tốc độ của h là 1/s.

a) MDC độ dài đơn

Ba sơ đồ hình 3.2 dƣới đây có liên quan chặt chẽ với các hàm băm độ dài đơn, xây dựng trên các mật mã khối. Các sơ đồ này có sử dụng các thành phần đƣợc xác định trƣớc nhƣ sau:

Một mật mã khối n bit khởi sinh Ekđƣợc tham số hoá bằng một khoá đối xứng k.

Một hàm g ánh xạ n bit vào thành khoá k sử dụng cho E (Nếu các khoá cho E

cũng có độ dài n thì g có thể là hàm đồng nhất)

Một giá trị ban đầu cố định IV thích hợp để dùng với E.

Hình 3.2. Các sơ đồ hàm băm đơn a) Matyas-Mayer–Oseas; b) Davies-Mayer và c) Miyaguchi – Preneel

- Thuật toán băm Matyas - Mayer - Oseas.

Vào: Xâu bit x

Ra: Mã băm n bit của x

E Hi-1 xi Hi g a) b) E xi Hi Hi-1 c) g E Hi-1 xi Hi

+ Đầu vào x đƣợc phân chia thành các khối nbit và đƣợc độn nếu cần thiết nhằm tạo khối cuối cùng hoàn chỉnh. Ta đƣợc t khối nbit: x x1 2...xt. Phải xác định trƣớc một giá trị ban đầu nbit (ký hiệu IV).

+ Đầu ra làHtđƣợc xác định nhƣ sau: 1 0 , ( )( ) , 1 i i g H i i HIV HExx  i t

- Thuật toán băm Davies–Mayer

Vào: Xâu bit x

Ra: Mã băm n bit của x

Đầu vào x đƣợc phân thành các khối k bit (k là kích thƣớc khoá) và đƣợc độn nếu cần thiết để tạo khối cuối cùng hoàn chỉnh. Biểu thị thông báo đã độn thành t

khối n bit: x x1 2...xt. Xác định trƣớc một giá trị ban đầu n bit (ký hiệu IV). Đầu ra là Htđƣợc xác định nhƣ sau:

0 , ( 1) , 1

i

i x i i

HIV HE H x  i t

- Thuật toán băm Miyaguchi - Preneel

Sơ đồ này tƣơng tự nhƣ sơ đồ M-M-O ngoại trừ Hi1(đầu ra ở giai đoạn trƣớc) đƣợc cộng mod2 với tín hiệu ra ở giai đoạn hiện thời. Nhƣ vậy:

1

0 , ( )( ) H , 11

i

i g H i i i

HIV HEx  x   i t

Nhận xét: Sơ đồ D_M có thể coi là sơ đồ đối ngẫu với sơ đồ M - M - O theo nghĩa xiHi1đổi lẫn vai trò.

b) MDC độ dài kép: MDC-2 và MDC-4.

MDC-2 và MDC-4 là các mã phát hiện sự sửa đổi yêu cầu tƣơng ứng là 2 và 4 phép toán mã hoá khối trên mỗi khối đầu vào hàm băm. Chúng sử dụng 2 hoặc 4 phép lặp của sơ đồ M-D-O để tạo ra hàm băm có dộ dài kép. Khi dùng DES chúng sẽ tạo ra mã băm 128 bit. Tuy nhiên trong cấu trúc tổng quát có thể dùng các hệ mật mã khối khác MDC-2 và MDC-4 sử dụng các thành phần xác định nhƣ sau:

- DES đƣợc dùng làm mật mã khốiEkcó đầu vào/ ra 64 bit và đƣợc tham số hoá bằng khoá k 56 bit.

- Hai hàm g và g ánh xạ các giá trị 64 bit U thành các khoá DES 56 bit nhƣ sau:

ChoUu u1 2...u64, xoá mọi bit thứ 8 và đặt các bit thứ 2 và thứ 3 về "10" đối với g và "01" đối vớig .

1 4 5 6 7 9 10 63 1 4 5 6 7 9 10 63 ( ) 10 ... g( ) 01 ... g U u u u u u u u u U u u u u u u u u  

Đồng thời điều này cũng phải đảm bảo rằng chúng không phải là các khoá DES yếu hoặc nửa yếu vì các khoá loại này có bit thứ hai bằng bit thứ ba. Đồng thời điều này cũng đảm bảo yêu cầu bảo mật làg IV( ) g U( ).

Thuật toán MDC-2 có thể đƣợc mô tả theo sơ đồ hình 3.3:

Hình 3.4. Thuật toán MDC-4

Một phần của tài liệu (LUẬN văn THẠC sĩ) một hệ mật xây dựng trên sơ đồfeistel không cân bằng và khả năng ứng dụng trên hàm băng (Trang 46 - 49)