Bài giảng Lý thuyết mật mã và an toàn thông tin: Mật mã cổ điển - PGS.TS. Vũ Đình Hòa
Số trang: 22
Loại file: pdf
Dung lượng: 1.11 MB
Lượt xem: 18
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Lý thuyết mật mã và an toàn thông tin: Mật mã cổ điển (tt)" cung cấp cho người đọc các kiến thức: Mật mã Hill, mật mã hoán vị, mật mã dòng. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Lý thuyết mật mã và an toàn thông tin: Mật mã cổ điển - PGS.TS. Vũ Đình Hòa 1.1.5 Mật mã Hill Mật mã này được phát minh vào năm 1929 bởi Lester S. Hill. Cho một số nguyên dương m và định nghĩa P = C = (Z26)m. Ý tưởng của thuật toán là lấy m tổ hợp tuyến tính của m kí tự chữ cái trong một phần tử văn bản gốc , theo đó sản xuất m kí tự chữ cái trong một phần tử văn bản mã. Hình 1.6 Mật mã Hill Cho m là một số nguyên dương cho trước. Cho P = C = (Z26)m và cho K = {các ma trận m m có nghịch đảo trên Z26 } Cho một khóa K, chúng ta định nghĩa eK(x) = xK và dK(y) = yK-1 , với K-1 là ma trận nghịch đảo của K, ở đây tất cả các phép toán được thực hiện trong Z26 Định nghĩa 1.5 Định thức của ma trận 2 2 A = (ai,j) là giá trị det A = a1,1a2,2 – a1.2a2,1 Nhận xét: Định thức của một ma trận vuông m m có thể được tính bởi các phép toán cơ bản, xem trong các sách đại số tuyến tính. Hai đặc tính quan trọng của định thức là det Im = 1 và qui tắc nhân det(AB) = det A det B. Ví dụ 1.5 11 8 Giả sử khóa là K= 3 7 Từ việc tính toán ta thu được -1 7 18 K = 23 11 Giả sử chúng ta muốn mã hóa văn bản july. Chúng ta có 2 phần của văn bản mã là: (9,20) (tương ứng ju) và (11,24) (tương ứng ly). Chúng ta tính như sau: 11 8 (9,20) 3 7 = (99 + 60, 72 + 140) = (3,4) và 11 8 (11,24) 3 7 = (121 + 72, 88 + 168) = (11,22). Ví dụ: nếu m = 2 chúng ta có thể viết một phần tử văn bản là x = (x1,x2) và một phần tử mật mã là y = (y1,y2), ở đây y1, y2 là một tổ hợp tuyến tính của x1 và x2. Chúng ta có thể có: y1 = 11x1 + 3x2 y2 = 8x1 + 7x2 Tất nhiên ta cũng có thể viết dưới dạng ma trận như sau: 11 8 (y1,y2) = (x1, x2) 3 7 Do đó, mã hóa của july là DELW . Để giải mã, Bob sẽ tính toán như sau: 7 18 (3,4) = (9,20) 23 11 Và (11,22) 7 18 = (11,24). 23 11 Do đó, văn bản thu được là đúng. Trong trường hợp tổng quát, chúng ta sẽ lấy ma trận K m m là khóa. Nếu đầu vào ở hàng i và cột j của K là ki,j thì chúng ta viết K=(ki,j). Cho x = (x1,…xm) P và K K, chúng ta tính y = eK(x) = (y1, ….ym) như sau: k1,1 k1,2 ... k1, m (y1,y2, …,.ym) = (x1,x2,….,xm) k2,1 k2,2 ... k2, m km,1 km,2 ... km, m Cách viết khác y = xK Chúng ta nói rằng văn bản mã thu được từ văn bản gốc bằng phép biến đổi tuyến tính. Chúng ta phải xem xét việc giải mã sẽ được thực hiện như thế nào, làm thế nào để tính x từ y. Những người đã học đại số tuyến tính sẽ nhận ra rằng chúng ta sử dụng ma trận nghịch đảo K-1 để giải mã. Văn bản mã được giải mã sử dụng công thức x = yK-1 trong mod 26. Một ma trận số thực K có nghịch đảo nếu và chỉ nếu định thức của nó là khác không. Tuy nhiên, một điều quan trọng cần nhớ rằng chúng ta đang làm việc vượt quá Z26. Kết quả liên quan tới mục đích của chúng ta là một ma trận K có nghịch đảo moldulo 26 nếu và chỉ nếu gcd(det K, 26) =1. 1.1.6 Mật mã hoán vị Tất cả hệ thống mật mã chúng ta thảo luận về sâu xa nó bao hàm sự thay thế: văn bản gốc được thay thế bởi văn bản mã khác. Ý tưởng của mật mã hoán vị là giữ nguyên văn bản gốc nhưng thay đổi vị trí của chúng bằng cách sắp xếp lại chúng. Mật mã hoán vị (còn được gọi là mật mã chuyển đổi vị trí) đã được sử dụng trong hàng trăm năm. Trong thực tế, sự khác biệt giữa mật mã hoán vị và mật mã thay thế đã được chú ý rất sớm từ năm 1563 bởi Giovanni Porta. Một định nghĩa hình thức được cho trong hình 1.7 Hình 1.7 Mật mã hoán vị Cho m là một số nguyên dương cho trước. Cho P = C = (Z26)m và cho K gồm tất cả các hoán vị của {1,…,m}. Cho một khóa (nghĩa là một hoán vị) chúng ta định nghĩa e ( x1 ,..., xm ) ( x (1) ,..., x ( m ) Và d ( y1 ,..., ym ) ( y 1 (1) ,..., y 1 ( m ) 1 ở đây là hoán vị nghịch đảo từ . Ví dụ 1.6 Cho m = 6 và khóa là hoán vị được cho như sau: 1 2 3 4 5 6 3 5 1 6 4 2 Khi đó ta có hoán vị nghịch đảo -1 là 1 2 3 4 5 6 3 6 1 5 2 4 Giả sử chúng ta có văn bản Shesellsseashellsbytheseashore trước tiên chúng ta nhóm văn bản đã cho thành các nhóm, mỗi nhóm 6 chữ cái Shesel | lsseas | hellsb | ythese | ashore 1 2 3 4 5 6 3 5 1 6 4 2 Bây giờ mỗi nhóm gồm 6 chữ cái là sắp xếp tùy ý hoán vị kết quả như sau: ELSEHS | SSLASE | LBHSEL | HEYSTE | HEARSO Vì thế văn bản đã mã hóa là: ELSEHS | SSLASE | LBHSEL | HEYSTE | HEARSO Văn bản đã mã hóa có thể được giải mã tương tự như cách đã mã hóa, sử dụng hoán vị nghịch đảo -1 Trên thực tế, mật mã hoán vị là trường hợp đặc biệt của mật mã Hill. Cho một hoán vị của của tập hợp {1,…,m}, chúng ta có thể định nghĩa ma trận hoán vị (kết hợp) m m, K= (ki,j) với k j,i = 1 neu j= (i) 0 truonghopkhac (một ma trận hoán vị là một ma trận mà mọi hàng và cột đều chứa chính xác một giá trị “1” và các vị trí khác đều chứa giá trị “0”. Một ma trận hoán vị có thể thu được từ một ma trận đồng nhất bằng ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lý thuyết mật mã và an toàn thông tin: Mật mã cổ điển - PGS.TS. Vũ Đình Hòa 1.1.5 Mật mã Hill Mật mã này được phát minh vào năm 1929 bởi Lester S. Hill. Cho một số nguyên dương m và định nghĩa P = C = (Z26)m. Ý tưởng của thuật toán là lấy m tổ hợp tuyến tính của m kí tự chữ cái trong một phần tử văn bản gốc , theo đó sản xuất m kí tự chữ cái trong một phần tử văn bản mã. Hình 1.6 Mật mã Hill Cho m là một số nguyên dương cho trước. Cho P = C = (Z26)m và cho K = {các ma trận m m có nghịch đảo trên Z26 } Cho một khóa K, chúng ta định nghĩa eK(x) = xK và dK(y) = yK-1 , với K-1 là ma trận nghịch đảo của K, ở đây tất cả các phép toán được thực hiện trong Z26 Định nghĩa 1.5 Định thức của ma trận 2 2 A = (ai,j) là giá trị det A = a1,1a2,2 – a1.2a2,1 Nhận xét: Định thức của một ma trận vuông m m có thể được tính bởi các phép toán cơ bản, xem trong các sách đại số tuyến tính. Hai đặc tính quan trọng của định thức là det Im = 1 và qui tắc nhân det(AB) = det A det B. Ví dụ 1.5 11 8 Giả sử khóa là K= 3 7 Từ việc tính toán ta thu được -1 7 18 K = 23 11 Giả sử chúng ta muốn mã hóa văn bản july. Chúng ta có 2 phần của văn bản mã là: (9,20) (tương ứng ju) và (11,24) (tương ứng ly). Chúng ta tính như sau: 11 8 (9,20) 3 7 = (99 + 60, 72 + 140) = (3,4) và 11 8 (11,24) 3 7 = (121 + 72, 88 + 168) = (11,22). Ví dụ: nếu m = 2 chúng ta có thể viết một phần tử văn bản là x = (x1,x2) và một phần tử mật mã là y = (y1,y2), ở đây y1, y2 là một tổ hợp tuyến tính của x1 và x2. Chúng ta có thể có: y1 = 11x1 + 3x2 y2 = 8x1 + 7x2 Tất nhiên ta cũng có thể viết dưới dạng ma trận như sau: 11 8 (y1,y2) = (x1, x2) 3 7 Do đó, mã hóa của july là DELW . Để giải mã, Bob sẽ tính toán như sau: 7 18 (3,4) = (9,20) 23 11 Và (11,22) 7 18 = (11,24). 23 11 Do đó, văn bản thu được là đúng. Trong trường hợp tổng quát, chúng ta sẽ lấy ma trận K m m là khóa. Nếu đầu vào ở hàng i và cột j của K là ki,j thì chúng ta viết K=(ki,j). Cho x = (x1,…xm) P và K K, chúng ta tính y = eK(x) = (y1, ….ym) như sau: k1,1 k1,2 ... k1, m (y1,y2, …,.ym) = (x1,x2,….,xm) k2,1 k2,2 ... k2, m km,1 km,2 ... km, m Cách viết khác y = xK Chúng ta nói rằng văn bản mã thu được từ văn bản gốc bằng phép biến đổi tuyến tính. Chúng ta phải xem xét việc giải mã sẽ được thực hiện như thế nào, làm thế nào để tính x từ y. Những người đã học đại số tuyến tính sẽ nhận ra rằng chúng ta sử dụng ma trận nghịch đảo K-1 để giải mã. Văn bản mã được giải mã sử dụng công thức x = yK-1 trong mod 26. Một ma trận số thực K có nghịch đảo nếu và chỉ nếu định thức của nó là khác không. Tuy nhiên, một điều quan trọng cần nhớ rằng chúng ta đang làm việc vượt quá Z26. Kết quả liên quan tới mục đích của chúng ta là một ma trận K có nghịch đảo moldulo 26 nếu và chỉ nếu gcd(det K, 26) =1. 1.1.6 Mật mã hoán vị Tất cả hệ thống mật mã chúng ta thảo luận về sâu xa nó bao hàm sự thay thế: văn bản gốc được thay thế bởi văn bản mã khác. Ý tưởng của mật mã hoán vị là giữ nguyên văn bản gốc nhưng thay đổi vị trí của chúng bằng cách sắp xếp lại chúng. Mật mã hoán vị (còn được gọi là mật mã chuyển đổi vị trí) đã được sử dụng trong hàng trăm năm. Trong thực tế, sự khác biệt giữa mật mã hoán vị và mật mã thay thế đã được chú ý rất sớm từ năm 1563 bởi Giovanni Porta. Một định nghĩa hình thức được cho trong hình 1.7 Hình 1.7 Mật mã hoán vị Cho m là một số nguyên dương cho trước. Cho P = C = (Z26)m và cho K gồm tất cả các hoán vị của {1,…,m}. Cho một khóa (nghĩa là một hoán vị) chúng ta định nghĩa e ( x1 ,..., xm ) ( x (1) ,..., x ( m ) Và d ( y1 ,..., ym ) ( y 1 (1) ,..., y 1 ( m ) 1 ở đây là hoán vị nghịch đảo từ . Ví dụ 1.6 Cho m = 6 và khóa là hoán vị được cho như sau: 1 2 3 4 5 6 3 5 1 6 4 2 Khi đó ta có hoán vị nghịch đảo -1 là 1 2 3 4 5 6 3 6 1 5 2 4 Giả sử chúng ta có văn bản Shesellsseashellsbytheseashore trước tiên chúng ta nhóm văn bản đã cho thành các nhóm, mỗi nhóm 6 chữ cái Shesel | lsseas | hellsb | ythese | ashore 1 2 3 4 5 6 3 5 1 6 4 2 Bây giờ mỗi nhóm gồm 6 chữ cái là sắp xếp tùy ý hoán vị kết quả như sau: ELSEHS | SSLASE | LBHSEL | HEYSTE | HEARSO Vì thế văn bản đã mã hóa là: ELSEHS | SSLASE | LBHSEL | HEYSTE | HEARSO Văn bản đã mã hóa có thể được giải mã tương tự như cách đã mã hóa, sử dụng hoán vị nghịch đảo -1 Trên thực tế, mật mã hoán vị là trường hợp đặc biệt của mật mã Hill. Cho một hoán vị của của tập hợp {1,…,m}, chúng ta có thể định nghĩa ma trận hoán vị (kết hợp) m m, K= (ki,j) với k j,i = 1 neu j= (i) 0 truonghopkhac (một ma trận hoán vị là một ma trận mà mọi hàng và cột đều chứa chính xác một giá trị “1” và các vị trí khác đều chứa giá trị “0”. Một ma trận hoán vị có thể thu được từ một ma trận đồng nhất bằng ...
Tìm kiếm theo từ khóa liên quan:
Lý thuyết mật mã An toàn thông tin Bài giảng An toàn thông tin Bài giảng Lý thuyết mật mã Mật mã Hill Mật mã hoán vị Mật mã dòngTài liệu liên quan:
-
Đề cương chi tiết bài giảng môn Đảm bảo và an toàn thông tin
25 trang 273 0 0 -
Giáo trình An toàn, an ninh thông tin và mạng lưới
142 trang 173 0 0 -
Kiến thức căn bản về Máy tính - Phùng Văn Đông
52 trang 166 0 0 -
Bài giảng Chương 3: Lý thuyết mật mã
81 trang 124 0 0 -
Giáo trình An toàn và bảo mật thông tin - Đại học Bách Khoa Hà Nội
110 trang 114 0 0 -
Về một giải pháp cứng hóa phép tính lũy thừa modulo
7 trang 106 0 0 -
Một số thuật toán giấu tin trong ảnh có bảng màu và áp dụng giấu tin mật trong ảnh GIF
5 trang 94 0 0 -
Blockchain – Một số ứng dụng trong trường đại học
12 trang 90 0 0 -
Giáo trình An toàn & Bảo mật thông tin - TS. Nguyễn Khanh Văn (ĐH Bách khoa Hà Nội)
56 trang 80 0 0 -
Bài giảng An toàn thông tin: Chương 7 - ThS. Nguyễn Thị Phong Dung
31 trang 77 0 0