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ã. | 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 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 Định thức của ma trận 2 2 A = (ai,j) là giá trị det A = a1,1a2,2 – 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ụ Giả sử khóa là K= Từ việc tính toán ta thu được K-1 = Giả sử chúng ta muốn mã hóa văn . | 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 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 Định thức của ma trận 2 2 A = (ai,j) là giá trị det A = a1,1a2,2 – 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ụ Giả sử khóa là K= Từ việc tính toán ta thu được K-1 = 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: (9,20) = (99 + 60, 72 + 140) = (3,4) và (11,24) = (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: (y1,y2) = (x1, x2) 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: (y1,y2, ,.ym) = (x1,x2, .,xm) 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