Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
545,5 KB
Nội dung
1.1.5 MậtmãHill Mậtmã phát minh vào năm 1929 Lester S Hill Cho số nguyên m dương m định nghĩa P = C = (Z26) Ý tưởng thuật toán lấy m tổ hợp tuyến tính m kí tự chữ phần tử văn gốc , theo sản xuất m kí tự chữ phần tử văn mã Hình 1.6 MậtmãHill Cho m số nguyên dương cho trước Cho P = C = (Z26)m cho K = {các ma trận m m có nghịch đảo Z26 } Cho khóa K, định nghĩa eK(x) = xK dK(y) = yK-1 , với K ma trận nghịch đảo K, tất phép toán thực Z26 -1 Định nghĩa 1.5 Định thức ma trận A = (ai,j) giá trị det A = a1,1a2,2 – a1.2a2,1 Nhận xét: Định thức ma trận vuông m m tính phép toán bản, xem sách đại số tuyến tính Hai đặc tính quan trọng định thức det Im = qui tắc nhân det(AB) = det A det B Ví dụ 1.5 -1 K = Giả sử muốn mã hóa văn july Chúng ta có phần văn mã là: (9,20) (tương ứng ju) (11,24) (tương ứng ly) Chúng ta tính sau: (9,20) Giả sử khóa K= Từ việc tính toán ta thu 11 ÷ 18 ÷ 23 11 = (99 + 60, 72 + 140) = (3,4) (11,24) = (121 + 72, 88 + 168) = (11,22) 11 ÷ 7 11 ÷ 7 Ví dụ: m = viết phần tử văn x = (x1,x2) phần tử mậtmã y = (y1,y2), y1, y2 tổ hợp tuyến tính x1 x2 Chúng ta có: y1 = 11x1 + 3x2 Tất nhiên ta viết dạng ma trận sau: y2 = 8x1 + 7x2 (y1,y2) = (x1, x2) 11 ÷ Do đó, mã hóa july DELW Để giải mã, Bob tính toán sau: (3,4) = (9,20) 18 ÷ 23 11 Và Do đó, văn thu 18 (11,22) = (11,24) ÷ 23 11 Trong trường hợp tổng quát, lấy ma trận K m m khóa Nếu đầu vào hàng i cột j K ki,j viết K=(ki,j) Cho x = (x1,…xm) ∈ P K ∈ K, tính y = eK(x) = (y1, ….ym) sau: (y1,y2, …,.ym) = (x1,x2,….,xm) Cách viết khác y = xK k1,1 k1,2 k1,m ÷ k k k 2,2 2, m ÷ 2,1 M M M M÷ ÷ ÷ k k k m ,1 m ,2 m , m Chúng ta nói văn mã thu từ văn gốc phép biến đổi tuyến tính Chúng ta phải xem xét việc giải mã thực nào, làm để tính x từ y Những người học đại số tuyến tính nhận sử dụng ma trận -1 -1 nghịch đảo K để giải mã Văn mã giải mã sử dụng công thức x = yK mod 26 Một ma trận số thực K có nghịch đảo định thức khác không Tuy nhiên, điều quan trọng cần nhớ làm việc vượt Z26 Kết liên quan tới mục đích ma trận K có nghịch đảo moldulo 26 gcd(det K, 26) =1 1.1.6 Mậtmã hoán vị Tất hệ thốngmậtmã thảo luận sâu xa bao hàm thay thế: văn gốc thay văn mã khác Ý tưởng mậtmã hoán vị giữ nguyên văn gốc thay đổi vị trí chúng cách xếp lại chúng Mậtmã hoán vị (còn gọi mậtmã chuyển đổi vị trí) sử dụng hàng trăm năm Trong thực tế, khác biệt mậtmã hoán vị mậtmã thay ý sớm từ năm 1563 Giovanni Porta Một định nghĩa hình thức cho hình 1.7 Hình 1.7 Mậtmã hoán vị Cho m số nguyên dương cho trước Cho P = C = (Z26)m cho K gồm tất hoán vị {1,…,m} Cho khóa (nghĩa hoán vị) định nghĩa eπ ( x1 , , xm ) = ( xπ (1) , , x π ( m ) Và dπ ( y1 , , ym ) = ( yπ −1 (1) , , y π −1 ( m ) π −1 π hoán vị nghịch đảo từ Ví dụ 1.6 Cho m = khóa hoán vị cho sau: π -1 Khi ta có hoán vị nghịch đảo 6 π Giả sử có văn Shesellsseashellsbytheseashore trước tiên nhóm văn cho thành nhóm, nhóm chữ Shesel | lsseas | hellsb | ythese | ashore Bây nhóm gồm chữ xếp tùy ý hoán vị Vì thế3văn bản5đã mã hóa là: π4 ELSEHS | SSLASE | LBHSEL | HEYSTE | HEARSO ELSEHS | SSLASE | LBHSEL | HEYSTE | HEARSO kết sau: Văn mã hóa giải mã tương tự cách mã hóa, sử dụng hoán vị -1 nghịch đảo Trên thực tế, mậtmã hoán vị trường hợp đặc biệt mậtmãHill Cho hoán vị của tập hợp {1,…,m}, định nghĩa ma trận hoán vị (kết hợp) m m, K = (ki,j) với π π π k j,i = (một ma trận hoán vị ma trận mà hàng cột chứa xác giá trị “1” vị trí khác chứa giá trị “0” Một ma trận hoán vị thu từ ma trận đồng cách hoán vị hàng cột.) π neu j=π (i) 1 0 truonghopkhac 1.1.7 Mậtmã dòng Trong hệ thốngmậtmã tìm hiểu vấn đề này, văn với phần tử mậtmã sử dụng khóa K văn mã xâu y thu sau: y = y1y2…=eK(x1)eK(x2)… Hệ thốngmậtmã kiểu thường gọi mậtmã khối Một cách tiếp cận khác sử dụng gọi mậtmã dòng Ý tưởng sản sinh khóa dòng z = z1z2…., sử dụng để mã hóa xâu gốc x = x1x2…tùy ý theo qui tắc y = y1y2…=ez1(x1)ez2(x2)… ∈ hoạt động mậtmã dòng sau: cho K K khóa x1x2… xâu gốc Hàm fi sử dụng để sản sinh zi (phần tử thứ i khóa dòng), fi hàm khóa K i-1 kí tự đầu xâu gốc: zi = fi (K, x1,…,xi-1) z1, y1, z2, y2… phần tử khóa dòng zi sử dụng để mã hóa xi, kết yi = ezi(xi) để mã hóa xâu gốc x1x2 tính Giải mã xâu mã hóa y1y2… hoàn thành việc tính z1, x1, z2, x2… Ví dụ: 0 0 1 K = 0 0 0 π 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 6 Định nghĩa 1.6 ε Mậtmã dòng (P,C,K,L,F, , D) thỏa mãn điều kiện sau: P tập hợp hữu hạn văn gốc C tập hợp hữu hạn văn mã K tập hợp hữu hạn khóa L tập hợp hữu hạn gọi bảng chữ khóa F = ( f1, f2… ) hàm tạo khóa Với i i-1 fi:K P L Với z L, có qui tắc mã hóa ez tương ứng có ≥ hàm qui tắc giải mã dz Lz ez : P C dz : C P cho dz(ez(x)) = x với văn gốc x P ∈ ∈ ∈ Phân loại mã dòng: Mã tuần hoàn: Tồn k để zi = zi +k với i, ví dụ mã dịch chuyên, mã vigener Mã đồng bộ: khóa lập mã không phụ thuộc vào rõ (các mã cổ điển học mã đồng bộ) Một ví dụ mậtmã dòng không đồng biết đến mậtmã khóa tự động cho hình 1.9 nhìn bề giống với mậtmã Vigenère Lí dùng thuật ngữ “khóa tự động” văn gốc sử dụng khóa (ngoại trừ khóa ban đầu K) Hình 1.9 Mậtmã khóa tự động Cho P = C = K = L = Z26, cho z1 = K zi =≥xi-1 (i 2) ≤Cho≤ z 25, định nghĩa ez(x) = x + z mod 26 dz(y) = y – z mod 26 (x,y thuộc Z26) Ví dụ mã khóa tự động (không đồng bộ) Giả sử khóa K = 8, P = rendezvous Số hóa: P -> 17 13 25 21 14 20 18 Khóa dòng là: 17 13 25 21 14 20 Bây cộng phần tử tương ứng, qui modulo 26 C= 25 21 17 16 20 12 Đối chiếu bảng chữ ta có văn mã là: 25 21 17 16 20 12 ZVRQHDUJIM Bây nhìn xem Alice giải mã Trước hết cô chuyển xâu chữ thành dãy số nguyên Sau cô tính x1 = d8(25) = 25 – mod 26 =17 x2 = d17(21) = 21 – 17 mod 26 = tiếp tục Mỗi lần cô nhận chữ văn gốc khác Cô sử dụng phần tử khóa dòng … Cho đến giải mã hết mã ... chuyên, mã vigener Mã đồng bộ: khóa lập mã không phụ thuộc vào rõ (các mã cổ điển học mã đồng bộ) Một ví dụ mật mã dòng không đồng biết đến mật mã khóa tự động cho hình 1.9 nhìn bề giống với mật mã. .. 1.1.7 Mật mã dòng Trong hệ thống mật mã tìm hiểu vấn đề này, văn với phần tử mật mã sử dụng khóa K văn mã xâu y thu sau: y = y1y2…=eK(x1)eK(x2)… Hệ thống mật mã kiểu thường gọi mật mã khối... 1.1.6 Mật mã hoán vị Tất hệ thống mật mã thảo luận sâu xa bao hàm thay thế: văn gốc thay văn mã khác Ý tưởng mật mã hoán vị giữ nguyên văn gốc thay đổi vị trí chúng cách xếp lại chúng Mật mã hoán