^Back To Top

foto1 foto2 foto3 foto4 foto5


Mã hóa thông tin là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội. Ngày nay, các ứng dụng mã hóa và bảo mật thông tin đang được sử dụng ngày càng phổ biến hơn trong các lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quân sự, quốc phòng..., cho đến các lĩnh vực như thương mại, điện tử...Trong bài báo này, tôi giới thiệu về mã hóa bóng đá tỷ lệ cá cược và cụ thể là mã hóa DES, một trong những mã hóa ra đời sớm và phức tạp thuộc mã hóa bóng đá tỷ lệ cá cược.

1. Mã hóa bóng đá tỷ lệ cá cược

Các hệ mã cổ điển (ví dụ: mã hóa dịch chuyển, mã hóa thay thế, mã hóa Affine, mã hóa Vigenere, mã hóa Hill) đều có đặc điểm chung là từng ký tự của bản rõ được mã hoá tách biệt. Điều này làm cho việc phá mã trở nên dễ dàng hơn. Chính vì vậy, trên thực tế người ta hay dùng một kiểu mật mã khác, trong đó từng khối ký tự của bản rõ được mã hoá cùng một lúc như là một đơn vị mã hoá đồng nhất, gọi là phương pháp mã hóa “bóng đá tỷ lệ cá cược”.

Quá trình mã hóa bóng đá tỷ lệ cá cược bao gồm 2 thuật toán: mã hóa - ký hiệu E và giải mã - ký hiệu E-1. Cả 2 thuật toán đều tác động lên một bóng đá tỷ lệ cá cược đầu vào n bít sử dụng một khóa k bít để cho ra một bóng đá tỷ lệ cá cược đầu ra n bít. Đối với bất kỳ khóa nào, giải mã làhàm ngượccủa mã bóng đá tỷ lệ cá cược, nghĩa là:

Trong đó M là bóng đá tỷ lệ cá cược thông tin và K là khóa bất kỳ.

Với mỗi khóa K, EKlà bóng đá tỷ lệ cá cược hoán vị (song ánh) của bóng đá tỷ lệ cá cược đầu vào. Mỗi khóa sẽ xác định một hoán vị trong tổng số 2n! khả năng.

Độ dài của bóng đá tỷ lệ cá cược thông tin, ký hiệu là n, thông thường là cố định ở 64 hoặc 128 bít. Một số thuật toán có độ dài bóng đá tỷ lệ cá cược thay đổi nhưng không phổ biến. Tính đến trước những năm giữa của thập kỷ 1990 thì độ dài 64 bít thường được sử dụng. Từ đó trở về sau thì bóng đá tỷ lệ cá cược 128 bít được sử dụng rộng rãi hơn. Trong các chế độ mã hóa bóng đá tỷ lệ cá cược thì người ta thường phải bổ sung thêm một số bít cho văn bản (tiếng Anh: padding) để văn bản chứa số nguyên lần các bóng đá tỷ lệ cá cược.

Hầu hết các thuật toán mã hóa bóng đá tỷ lệ cá cược sử dụng lặp đi lặp lại các hàm đơn giản. Mỗi chu kỳ lặp được gọi là một vòng và thông thường các thuật toán có từ 4 tới 32 vòng.

bóng đá tỷ lệ cá cược thành phần sử dụng trong thuật toán là bóng đá tỷ lệ cá cượchàm toán học, bóng đá tỷ lệ cá cượchàm lô gíc(đặc biệt là hàmXOR), hộp thế (S-box) và bóng đá tỷ lệ cá cược phương pháphoán vị.

2. Các loại mã hoá “bóng đá tỷ lệ cá cược”

Qua thời gian thì có rất nhiều hệ mã “bóng đá tỷ lệ cá cược” ra đời và đã được phát triển. Có thể kể ra một số hệ mã sau: Lucifer (1969), DES (1977), Madryga (1984), 3-DES (1985)(t53), FEAL, REDOC, LOKI (1990), Khufu and Khafre (1990), RC2, RC4, IDEA (1990), MMB, CA-1.1, Shipjack, GOST, CAST, Blowfish, SAFER, AES (2001),..

3. Mã bóng đá tỷ lệ cá cược DES

  1. Thuật toán

Gồm 3 bước:

Bước 1: Đưa vào văn bản gốc x, thực hiện phép hoán vị IP đầu tiên (thực chất là bóng đá tỷ lệ cá cược lần mã hoá). Từ x 64 bit sẽ biến thành bóng đá tỷ lệ cá cược từ mới IP(x), từ này được chia thành 2 nửa L0và R0, mỗi nửa là bóng đá tỷ lệ cá cược từ 32 bit.

Đặt x0= IP(x) = L0R0, với L0= 32 bit đầu tiên; R0= 32 bit còn lại.

Bước 2: Từ đây, thực hiện 16 vòng mã hoá, dữ liệu được kết hợp với khoá qua hàm f theo qui tắc sau:

Li= Ri.

Ri= Li-1XOR f(Ri-1, Ki). với i = 1, 2, ..., 16, ta thu được bóng đá tỷ lệ cá cược cặp (L1, R1), ..., (L16, R16).

trong đó XOR là phép hoặc loại trừ của hai xâu bít (cộng theo modulo 2). f là bóng đá tỷ lệ cá cược hàm mà ta sẽ mô tả ở sau, còn K1,K2, . . . ,K16là bóng đá tỷ lệ cá cược xâu bít độ dài 48 được tính như hàm của khoá K. ( trên thực tế mỗi Kilà bóng đá tỷ lệ cá cược phép chọn hoán vị bít trong K). K1, . . ., K16sẽ tạo thành bảng khoá.

Bước 3: Áp dụng phép hoán vị nghịch đảo IP-1cho xâu bít R16L16, ta thu được bản mã y. Tức là, y = IP-1(R16L16).

Z51

Z49

Ví dụ:

Bản rõ X = ABC0123456789DEF = 1010 1011 1100 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1101 1110 1111

Bước 1: Bản rõ x được hoán vị theo phép hoán vị IP, thành IP(x). IP(x) = L­­0R0

L­­0= 1011 0010 0111 1100 1101 1000 1100 0001

R0= 1100 0011 1010 1001 1110 0001 1001 0101

Bước 2: thực hiện 16 vòng mã bóng đá tỷ lệ cá cược với những phép toán giống nhau. Dữ liệu được kết hợp với nhau thông qua hàm f:

Li= Ri-1, Ri = Li-1XOR f(Ri-1, ki)

a. tính khóa con k1(48 bit) từ khóa gốc K= 134675588BBACDD1 (64 bit)= 0001 0011 0100 0110 0111 0101 0101 1000 1000 1011 1011 1010 1100 1101 1101 0001

  • Hoán vị PC-1: Kà C0D0
  • Hoán vị PC-2: C1D1à k1
  • Mở rộng xâu R0(32 bit) thành xâu E(R0) (48 bit), theo hàm mở rộng E:

C0= 1111 0000 1100 1110 0010 0100 1010

D0= 0011 0011 0100 0110 0111 1000 1101

C1= LS1(C0)= 1110 0001 1001 1100 0100 1001 0101

D1= LS1(D0)= 0110 0110 1000 1100 1111 0001 1010

K1= 1001 1011 0010 0010 1100 0011 1111 1110 0101 0000 1111 0000

b. Tính hàm f(R0, k1)

Theo bước 1: R0= 1100 0011 1010 1001 1110 0001 1001 0101

Hoán vị E: R0à E(R0):

E(R0)= 1110 0000 0111 1101 0101 0011 1111 0000 0011 1100 1010 1011

Theo a):

K1= 1001 1011 0010 0010 1100 0011 1111 1110 0101 0000 1111 0000

  • Tính E(R0) XOR k1= B1 B2 B3 B4 B5 B6 B7 B8
  • Tính C thông qua hộp S

011110 110101 111110 010000 000011 100110 110001 011011

C1= S1(0, 15)= (7)10­= (0111)2

C2= S2(3, 10)= (7)10­= (0111)2

C3= S3(2, 15)= (7)10­= (0111)2

C4= S4(0, 8) = (1)10­= (0001)2

C5= S5(1, 1) = (11)10­= (1011)2

C6= S6(2, 3) = (5)10­= (0101)2

C7= S7(3, 8) = (9)10­= (1001)2

C8= S8(1, 13)= (14)10­= (1110)2

Ta nhận được xâu C= C1 C2 C3 C4 C5 C6 C7 C8(32 bit)

C = 0111 0111 0111 0001 1011 0101 1001 1110

f(R0, k1)= P(C)= 1110 1111 0000 0011 1110 0010 1011 1111

Bước 3: Kết quả là bản mã 86934A071EECDF75

  1. Ứng dụng của DES

DES thường được dùng để mã hoá bảo mật bóng đá tỷ lệ cá cược thông tin trong quá trình truyền tin cũng như lưu trữ thông tin. Một ứng dụng quan trọng khác của DES là kiểm tra tính xác thực của mật khẩu truy nhập vào một hệ thống (hệ thống quản lý bán hàng, quản lý thiết bị viễn thông…), hay tạo và kiểm tính hợp lệ của một mã số bí mật (thẻ internet, thẻ điện thoại di động trả trước), hoặc của một thẻ thông minh (thẻ tín dụng, thẻ payphone…).

4. Độ an toàn của mã hoá “bóng đá tỷ lệ cá cược”

- Độ an toàn của bóng đá tỷ lệ cá cược: bóng đá tỷ lệ cá cược phải có độ dài đủ để chống lại các phương pháp phân tích thống kê và ngăn việc một số bóng đá tỷ lệ cá cược nào đó xuất hiện nhiều hơn các bóng đá tỷ lệ cá cược khác. Mặt khác sự phức tạp của thuật toán tăng theo hàm mũ với độ dài bóng đá tỷ lệ cá cược. Với bóng đá tỷ lệ cá cược có độ dài 64 bit là đủ độ an toàn.

- Độ dài khoá: Khoá phải có độ dài đủ để chống lại bóng đá tỷ lệ cá cược phương pháp vét cạn khoá ( Chống khả năng thử bóng đá tỷ lệ cá cược khoá được sinh ra từ (N)bit khoá cho trước ).

- Độ phức tạp: Bản mã phải phụ thuộc bóng đá tỷ lệ cá cược cách phức tạp vào bản rõ và khoá. Mục tiêu đặt ra ở đây là phải phức tạp hoá sự phụ thuộc của bộ mặt thống kê của bản mã vào bản rõ. IDEA đạt được diều này nhờ sử dụng 3 phép toán sẽ trình bày sau đây:

- Sự phân bố: IDEA đã đạt được việc mỗi bít của bản rõ phải có ảnh hưởng tới nhiều bit của bản mã và mỗi bit khoá cũng tác động đến nhiều bit của bản mã. Điều này làm cho cấu trúc của bản rõ sẽ bị phá vỡ trong bản mã.

Trong bài báo này, tôi đã giới thiệu về mã hóa bóng đá tỷ lệ cá cược, các loại mã hóa bóng đá tỷ lệ cá cược và độ an toàn của nó. Bên cạnh đó, bài báo này cũng đã nêu thuật toán và ví dụ cụ thể của mã hóa DES. DES là mã hóa thuộc hệ mã hóa bóng đá tỷ lệ cá cược.

Tài liệu tham khảo

[1] Giáo trình An toàn và bảo mật thông tin, Trường Đại học Hàng hải, 2008

[2] Nguyễn Văn Kiên, Mật mã bóng đá tỷ lệ cá cược và mật mã khóa đối xứng, Trường Đại học Bách khoa Hà Nội, 2008

[3] Ngô Thị Tuyết Hà, Đồ án Bảo mật thông tin, 2005