Một số phương pháp mã hoá đối xứng
Trong ví dụ trên, ứng với với ký tự
m trong thông điệp là chữ I trong khóa,
nên dòng mã hóa thứ 9 ứng với khóa I
trong bảng Vigenere được chọn, do đó
ký tự m được mã hóa thành ký tự U.
Tiếp tục, với ký tự i trong thông điệp và
khóa là ký tự N nên dòng mã hóa thứ 14
với khóa N trong bảng mã Vigenere
được chọn. Dó đó ký tự i được mã hóa
thành ký tự V. Tương tự như vậy cho
các chữ còn lại.
Trong ví dụ trên, các chữ e trong
thông điệp được mã hóa tương ứng
thành J, V, G, W, trong bảng mã. Do đó
phương pháp giải mã dựa trên thống kê
tần suất chữ cái là không thực hiện được.
Trong 3 thế kỷ sau đó mã hóa Vigenere
được xem là mã hóa không thể giải mã.
Các nhà mã hóa lại chiếm ưu thế trở lại
so với người giải mã.
Đến thế kỷ 19, nhà khoa học người
Anh Charles Barbage, đã tìm ra cách
giải mã Vigenere. Việc giải mã bằng
cách thống kê sự lặp lại của các cụm từ
để phỏng đoán chiều dài của khóa, trong
ví dụ trên cụm từ QI được lặp lại cách
nhau 11 vị trí nên có thể đoán chiều dài
của khóa là 11. Và từ đó có thể tách bản
mã thành 11 phần, phần thứ nhất gồm
các chữ 1, 12, 23, 34, , phần thứ hai
gồm các chữ 2, 13, 24, 35, , cho đến
phần thứ chín. Mỗi phần được xem như
được mã hóa bằng phương pháp mã hóa
đơn bảng (phương pháp Ceasar). Từ đó
áp dụng phương pháp giải mã dựa trên
tần suất chữ cái cho từng phần một.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Tóm tắt nội dung tài liệu: Một số phương pháp mã hoá đối xứng
Thông báo Khoa học và Công nghệ * Số 1-2015 108 MỘT SỐ PHƢƠNG PHÁP MÃ HOÁ ĐỐI XỨNG ThS. Nguyễn Lê Tín Trung Tâm Ngoại ngữ - Tin học, Trường Đại học Xây dựng Miền Trung Tóm tắt: Bảo mật thông tin là một trong những lĩnh vực nghiên đang được phát triển rất mạnh trong thời đại bùng nổ thông tin ngày nay. Thông tin khi được lưu trữ hoặc truyền tải cần được mã hóa bằng những phương pháp mã hóa tốt và tối ưu. Trong bài viết này, sẽ trình bày các phương pháp mã hóa đối xứng cơ bản. Từ khóa: Bảo mật thông tin, mã hóa đối xứng, phân bố tần suất, giả mã. Trong bài „TỪ BẢO MẬT 1. Mã hóa thay thế đa bảng THÔNG TIN ĐẾN CHỮ KÝ ĐIỆN Với sự phát hiện ra quy luật phân TỬ” số 2 năm 2014 Thông báo và Công bố tần suất, các nhà giải mã đang tạm nghệ đã trình bày một số phương pháp thời chiếm ưu thế trong cuộc chiến mã mã hóa và giải mã thông dụng trong đó phương pháp mã hóa đa ký tự Hill. Tuy hóa - giải mã. Cho đến thế kỷ thứ 15, nhiên, nhược điểm của phương pháp này một nhà ngoại giao người Pháp tên là là có thể giải mã bằng quy luật phân bố Vigenere đã tìm ra phương án mã hóa tần suất. Trong bài viết này sẽ trình bày thay thế đa bảng. Phương pháp một số phương pháp khắc phục được Vigenere dựa trên bảng sau đây: nhược điểm này. Bảng 1: Bảng mã Vigenere Key a b c d e f g h i j k l m n o p q r s t u v w x y z A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U Thông báo Khoa học và Công nghệ * Số 1-2015 109 W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Dòng thứ K của bảng mã Vigenere có một khóa có chiều dài bằng chiều là một mã hóa Ceasar k-1 vị trí. Ví dụ, dài của thông điệp. Thường thì khóa là dòng thứ 4, ứng với từ khóa D là mã hóa một cụm từ nào đó và được viết lặp lại Ceasar 3 vị trí. (Trong trường hợp tổng cho đến khi có chiều dài bằng chiều dài quát, mỗi dòng của bảng Vigenere thông điệp. Ví dụ với thông điệp là, không phải là một mã hóa Ceasar mà là “Mien Trung University of Civil một mã hóa đơn bảng, do đó có tên gọi Engineering”và khóa là từ là mã hóa đa bảng). informatics, chúng ta mã hóa thông Để mã hóa một thông điệp thì cần điệp như sau: Bảng 2: Mã hóa thông điệp m i e n t r u n g u n i v e r s i t y o f c i v i l e n g i n e e r i n g I N F O R M A T I C S I N F O R M A T I C S I N F O R A T I C S I N F O U V J D K D U G O P F Q I J F J U T R W H U Q I N Z V Z G B V G W Z V S U m i e n t r u n g u n i v e r s i t y I N F O R M A T I C S I N F O R M A T U V J D K D U G O P F Q I J F J U T R o f c i v i l e n g i n e e r i n g I C S I N F O R M A T I C S I N F O W H U Q I N Z V Z G B V G W Z V S U Trong ví dụ trên, ứng với với ký tự Các nhà mã hóa lại chiếm ưu thế trở lại m trong thông điệp là chữ I trong khóa, so với người giải mã. nên dòng mã hóa thứ 9 ứng với khóa I Đến thế kỷ 19, nhà khoa học người trong bảng Vigenere được chọn, do đó Anh Charles Barbage, đã tìm ra cách ký tự m được mã hóa thành ký tự U. giải mã Vigenere. Việc giải mã bằng Tiếp tục, với ký tự i trong thông điệp và cách thống kê sự lặp lại của các cụm từ khóa là ký tự N nên dòng mã hóa thứ 14 để phỏng đoán chiều dài của khóa, trong với khóa N trong bảng mã Vigenere ví dụ trên cụm từ QI được lặp lại cách được chọn. Dó đó ký tự i được mã hóa nhau 11 vị trí nên có thể đoán chiều dài thành ký tự V. Tương tự như vậy cho của khóa là 11. Và từ đó có thể tách bản các chữ còn lại. mã thành 11 phần, phần thứ nhất gồm Trong ví dụ trên, các chữ e trong các chữ 1, 12, 23, 34, , phần thứ hai thông điệp được mã hóa tương ứng gồm các chữ 2, 13, 24, 35, , cho đến thành J, V, G, W, trong bảng mã. Do đó phần thứ chín. Mỗi phần được xem như phương pháp giải mã dựa trên thống kê được mã hóa bằng phương pháp mã hóa tần suất chữ cái là không thực hiện được. đơn bảng (phương pháp Ceasar). Từ đó Trong 3 thế kỷ sau đó mã hóa Vigenere áp dụng phương pháp giải mã dựa trên được xem là mã hóa không thể giải mã. tần suất chữ cái cho từng phần một. Cuối Thông báo Khoa học và Công nghệ * Số 1-2015 110 cùng ráp lại sẽ tìm ra được thông điệp BLWPOODEMJFBTZNVJNJQOJ ban đầu. ORGGU 2. One-Time Pad Khóa K2: Có thể thấy rằng điểm yếu của mã IESRLKBWJFCIFZUCJLZXAXA hóa đa bảng là do sự lặp lại các từ trong APSY khóa, ví dụ từ INFORMATICS được lặp Bản giải mã: đi lặp lại nhiều lần. Điều này làm cho theydecidedtoattacktomorrow (they vẫn tồn tại một mối liên quan giữa thông decided to attack tomorrow) điệp và bản mã hóa, ví dụ cụm từ „iv‟ Trƣờng hợp 2: trong thông điệp được lặp lại thì cụm từ Bản mã C: QI cũng được lặp lại trong bản mã. BLWPOODEMJFBTZNVJNJQOJ Người giải mã tận dụng mối liên quan ORGGU này để thực hiện giải mã. Do đó, vấn đề Khóa K3: ở đây là làm sao để giữa thông điệp gốc FHAHDDRAIQFIASJGJWQSVV ban đầu và bản mã hóa thật sự ngẫu BJAZB nhiên, không tồn tại mối quan hệ nào. Bản giải mã: Để giải quyết vấn đề này, vào cuối cuộc wewillmeetatthepartytonight (we chiến tranh thế giới lần thứ nhất, Joseph will meet at the party tonight) Mauborgne, giám đốc viện nghiên cứu Trong cả hai trường hợp trên thì mật mã của quân đội Mỹ đã đề xuất bản giải mã đều có ý nghĩa. Điều này có phương án là dùng khóa ngẫu nhiên. nghĩa là nếu người giải mã thực hiện giải Khóa ngẫu nhiên có chiều dài bằng mã vét cạn thì sẽ tìm được nhiều khóa chiều dài của thông điệp gốc ban đầu, ứng với nhiều bản tin có ý nghĩa, do đó mỗi khóa chỉ sử dụng một lần. sẽ không biết được bản tin nào là thông Ví dụ mã hóa thông điệp điệp gốc. Điều này chứng minh phương “wearediscoveredsaveyourself” pháp One-Time Pad là phương pháp mã Thông điệp: hóa an toàn tuyệt đối. wearediscoveredsaveyourself Một điều cần chú ý là để phương Khóa K1: pháp One-Time Pad là an toàn tuyệt đối FHWYKLVMKVKXCVKDJSFS thì mỗi khóa chỉ được sử dụng một lần. APXZCVP Nếu một khóa được sử dụng nhiều lần Bản mã C: thì cũng không khác gì việc lặp lại một BLWPOODEMJFBTZNVJNJQOJ từ trong khóa (ví dụ khóa có từ ORGGU INFORMATICS được lặp lại). Ngoài ra Nếu ta dùng khóa K1 để giải mã thì các khóa phải thật sự ngẫu nhiên với sẽ có được lại thông điệp gốc ban đầu nhau. Nếu các điều này bị vi phạm thì sẽ “wearediscoveredsaveyourself”. Tuy có một mối liên hệ giữa thông điệp và nhiên xét hai trường hợp giải mã bản mã bản mã, mà người giải mã sẽ tận dụng trên với 2 khóa khác như sau: mối quan hệ này. Trƣờng hợp 1: Tuy nhiên, phương pháp One-Time Bản mã C: Pad không có ý nghĩa sử dụng thực tế. Thông báo Khoa học và Công nghệ * Số 1-2015 111 Vì chiều dài khóa bằng chiều dài bản tin, điệp gốc. Do thứ tự của các chữ cái bị mỗi khóa chỉ sử dụng một lần, nên thay mất đi nên người đọc không thể hiểu vì truyền khóa trên kênh an toàn thì có được ý nghĩa của bản tin dù các chữ đó thể truyền trực tiếp thông điệp mà không không thay đổi. cần quan tâm đến vấn đề mã hóa. Một cách thực hiện đơn giản là ghi 3. Mã hoán vị (Permutation Cipher) thông điệp theo từng hàng, sau đó kết Các phương pháp mã hóa đã trình xuất bản mã dựa trên các cột. Ví dụ bày cho đến thời điểm này, đều sử dụng thông điệp phương thức thay một chữ cái trong “attackpostponeduntilthisnoon” được thông điệp bằng một chữ cái khác trong viết lại thành bảng 4x7 như sau: bản mã (phương pháp thay thế). Một cách thực hiện khác là xáo trộn thứ tự của các chữ cái trong thông Bảng 3: Thông điệp được mã hóa theo cột và dòng Khi kết xuất theo từng cột thì có được bản mã: “AODHTSUITTNSAPTNCOIOKNLOPETN” Một cơ chế phức tạp hơn là chúng ta có thể hoán vị các cột trước khi kết xuất bản mã. Ví dụ chọn một khóa là MONARCH, ta có thể hoán vị các cột: Bảng 4: Thông điệp được mã hóa theo cột và dòng nhưng được hóa vị cột Hoán vị cột thứ 1 với cột thứ 4 trước khi kết xuất bản mã và có được bản mã: “APTNKNL OPETNAO DHTTNST SUICOIO”việc giải mã được tiến hành theo thứ tự ngược lại. Để an toàn hơn nữa, có thể áp dụng phương pháp hoán vị 2 lần (double transposition), tức sau khi hoán vị lần 1, ta lại lấy kết quả đó hoán vị thêm một lần nữa: Thông báo Khoa học và Công nghệ * Số 1-2015 112 Bảng 5: Thông điệp được mã hóa theo cột và dòng nhưng được hóa vị cột 2 lần Hoán vị cột thứ 2 và cột thứ 7 (luật Kerchoff). Việc giải mã sẽ có 3 trước khi kết xuất bản mã và có được tình huống sau: bản mã: Chỉ biết bản mã (ciphertext–only): “APTNPETNTTNSAODHCOIOKNLO Đây là trường hợp gây khó khăn nhất TSUI”. Người ta đã đánh giá rằng giải cho người giải mã. Các trường hợp giải mã phương pháp hoán vị 2 lần không mã được trình bày trong chương này phải là chuyện dễ vì rất khó đoán ra thuộc dạng ciphertext only. được quy luật hoán vị. Ngoài ra không Biết một số cặp thông điệp – bản thể áp dụng được phương pháp phân tích mã (known–plaintext): Trong trường tần suất chữ cái giống như phương pháp hợp này, người giải mã có được một vài thay thế vì tần suất chữ cái của thông cặp thông điệp và bản mã tương ứng. điệp và bản mã là giống nhau. Việc biết được một vài cặp thông điệp – 4. Tổng kết bản mã làm cho người giải mã dễ dàng Các phương pháp mã hóa cổ điển hơn trong việc tìm khóa. Ví dụ, đối với thường dựa trên hai phương thức. Cách mã hóa Vigenere, nếu người giải mã chỉ thứ nhất là dùng phương thức thay thế cần biết một cặp thông điệp – bản mã thì một chữ cái trong bản thông điệp gốc sẽ dễ dàng suy ra được khóa, từ đó giải ban đầu thành một chữ cái khác trong các bản mã khác mà cũng được mã hóa bản mã (substitution). Các mã hóa dùng bằng khóa này. Ví dụ: nếu biết bản mã: phương thức này như: mã hóa Ceasar, UVJDKDUGOPFQIJFJUTRWHUQIN mã hóa thay thế đơn bảng, đa bảng, ZVZGBVGWZVSU tương ứng thông One-time pad. Cách thứ hai là dùng điệp gốc là ‘mien trung university of phương thức hoán vị để thay đổi thứ tự civil engineering’, người giải mã có thể ban đầu của các chữ cái trong bản thông tra ngược bản Vigenere và tìm được điệp gốc. Hai phương thức này cũng khóa INFORMATICS để giải các bản đóng vai trò quan trọng trong mã hóa đối mã khác. xứng hiện đại được trình bày trong phần Một số cặp thông điệp – bản được lựa sau. Trong chương này, chúng ta đã xem chọn (choosen–plaintext): Trong trường xét một số phương thức giải mã. Mục hợp này, người giải mã có khả năng tự tiêu của việc giải mã là từ bản mã đi tìm lựa một số thông điệp gốc và quan sát thông điệp gốc, hoặc khóa, hoặc cả hai. được bản mã tương ứng. Ví dụ khi bạn Chúng ta giả định rằng người giải mã đi ăn trưa và quên khóa máy, người giải biết rõ thuật toán mã hóa và giải mã mã có thể dùng chương trình mã hóa của bạn để thực hiện mã hóa một số bản tin Thông báo Khoa học và Công nghệ * Số 1-2015 113 chọn trước và có được bản mã tương bị giải mã không chỉ trong trường hợp 1 ứng (dù không biết khóa). Như vậy đối mà còn ngay cả trong trường hợp 2 và với trường hợp 2 và 3 thì người giải mã 3. Đó là một số thuật toán mà chúng ta sẽ dễ dàng hơn trong việc giải mã so với sẽ tìm hiểu trong phần tiếp theo của trường hợp 1. Điều này đặt ra thách thức Thông báo Khoa học và Công nghệ của cho các nhà nghiên cứu là phải tìm ra số kế tiếp “Mã hóa đối xứng hiện đại”. các thuật toán mã hóa sao cho không thể TÀI LIỆU THAM KHẢO [1] Mark Stamp. 2006. Information Security Principles and Practices - John Wiley&Son. [2]. William Stallings. 2011. Cryptographyand Network Security Principlesand Practice Fifth Edition - Prentice Hall. [3]. Lee Barken. 2003. How Secure Is Your Wireless Network - Prentice Hall.
File đính kèm:
- mot_so_phuong_phap_ma_hoa_doi_xung.pdf