Classical cipher

55
Information Safe Confidentiality Hoang V.Nguyen Mail: [email protected] Department of Computer Science Faculty of Information Technology Hanoi University of Agriculture. Classical cipher

description

A brief history of cryptography

Transcript of Classical cipher

Page 1: Classical cipher

Information Safe

Confidentiality

Hoang V.Nguyen

Mail: [email protected]

Department of Computer Science

Faculty of Information Technology – Hanoi University of Agriculture.

Classical cipher

Page 2: Classical cipher

Confidentiality

• Who?

• When?

• Where?

Sorry,

I don’t know.

Có lẽ là từ rất xa xưa!!! very very ancient!!!

Page 3: Classical cipher

When/Where do we start?

Herodotus(Greek: Ἡρόδοηος Ἁλικαρμᾱζζεύς Hēródotos Halikarnāsseús) - sử gia Hy Lạp sống ở thế kỷ thứ 5 trước

công nguyên(484 BC - 425 BC) – “Cha đẻ của lịch sử ” trong văn hóa phương tây.

Page 4: Classical cipher

Hy Lạp cổ xưa

Xerxes

Trong cuốn The Histories, Herodotus miêutả về cuộc chiến giữa Hy Lạp và Ba Tư vàokhoảng thế kỷ 5th B.C.

Xerxes(Vua Ba Tư) đang thiết lập quân đội vàlên kế hoạch tấn công bất ngờ Hy Lạp.

Demaratus, một người Hy Lạp bị trục xuất khỏiquê hương; đang sống ở Ba Tư đã gửi cảnh báotới Hy Lạp:

- Ông đã cạo lớp sáp trên hai thanh gỗ dầy, viết lên đó lời cảnh báo, cuối cùng phủ một lớp sáp ra ngoài.

Người Hy Lạp, được cảnh báo, đã đảo ngược tính thế. Yếu tố bấtngờ của người Ba Tư đã mất, cuộc chiến của quân đội Ba Tư đãthất bại.

Page 5: Classical cipher

Hy Lạp cổ xưa

Một hình thức khác:

Histaiaeus muốn bày tỏ sự ủng hộ Aristagoras xứMiletus nổi dậy chống lại vua Ba Tư.

Để gửi thư bí mật, ông đã cạo tóc trên đầu ngườiđưa thư và viết thư lên da đầu. Người đưa thư chờcho tóc mọc dài mới đi tìm người nhận.

Ở Hy Lạp cổ xưa, Tính bí mật đựa dựa trên việc giấu thư.

Page 6: Classical cipher

SteganographyHình thức giấu thư được gọi là steganography.Steganography bắt nguồn từ tiếng Hy Lạp: steganos cónghĩa là “che giấu” và graphein – “viết”.

• Trong 2 ngàn năm kể từ thời đại của Herodotus, rất nghiều hình

thức khác nhau của steganography đã được sử dụng.

• Người Trung Quốc xưa, viết thư lên một tấm lụa mỏng, cuộn lại

thành một viên bi nhỏ rồi phủ sáp bên ngoài. Người đưa thư sẽ nuốt

viên bi nhỏ chứa thông điệp bí mật và đi tìm người nhận.

• Vào thế kỷ thứ 16, Giovanni Porta, một nhà khoa học người Ý đã

mô tả cách thức giấu thư trong một quả trứng đã được luộc kỹ bằng

cách chế tạo ra một loại mực từ việc hòa chộn phèn và dấm theo một

tỷ lệ nhất định. Mực này khi viết lên vỏ trứng sẽ thấm qua vỏ và in lên

lòng trắng trứng. Người nhận chỉ việc bóc vỏ trứng và đọc thư.

Page 7: Classical cipher

Cryptography

• Steganography được sử dụng trong một thời gian dàiđã chứng tỏ phần nào sự an toàn của nó. Tuy nhiên,Steganography được xây dựng từ một nền tảng “yếu”.Nếu bức thư bị phát hiện thì tính bí mật ngay lập tứcbị triệt tiêu.

• Do vậy mà song song với Steganography, là sự pháttriển của khoa học mật mã – Cryptography.Cryptography bắt nguòn từ tiếng Hy Lạp: Kryptos cónghĩa là “giấu kín”.

Page 8: Classical cipher

CryptographyĐịnh hướng của khoa học mật mã không phải là giấu thưmà là che giấu nội dung của bức thư. Tiến trình che giấunội dung bức thư được gọi là tiến trình mã hóa –encryption.

• Để sinh ra thông điệp không thể hiểu theo cách thông thường,thông điệp ban đầu được biến đổi dựa trên một cách thức đặcbiệt đã được thống nhất trước giữa người gửi và người nhận.

• Tính vượt trội của cryptography là: Nếu đối phương chặn bắtđược bức thư đã được mã hóa thì đối phương cũng không biếtđược nội dung của bức thư, do đó mà tính bí mật vẫn đượcđảm bảo.

Page 9: Classical cipher

Cryptography

• Để đảm bảo tính bí mật có thể tổ hợp cảcryptography và steganography.

• Trong chiến tranh thế giới thứ 2, những điệp viênĐức ở Mỹ latin đã chụp ảnh bức thư và thu nhỏ lạinhư một dấu chấm khoảng 1mm. Sau đó đặt dấuchấm đó trong một bức thư thông thường.

• Đôi khi để đảm bảo bí mật, họ cũng mã hóa bứcthư trước khi chụp.

Cryptography mạnh hơn bởi khả năng bảo đảm tính bímật ngay cả khi bức thư nằm trong tay của đối phương.

Page 10: Classical cipher

Classical Cryptography

Page 11: Classical cipher

Spartan ScytableKhúc gỗ bí mật của người Sparta(The Spartan

scytale/ skytale) có thừ thế kỷ thứ 5 trước công nguyên

• Một dải dây da được quấn quanh khúc gỗ bí mật. Người gửi viết thôngđiệp lên trên dải dây da dọc theo chiều dài của khúc gỗ. Sau khi viếtsong, sợi dây da mang trên nó những ký hiệu vô nghĩa, thường đượcngười đưa thư ngụy trang như một chiếc thắt lưng.

• Người nhận đơn giản quấn sợi dây da đó lên khúc gỗ của mình và đọcđược thông điệp.

• Lysander một người Sparta nhận được một thông điệp cảnh báo vềcuộc tấn công của Pharnabzus vua xứ Ba Tư. Nhờ có thông điệp đó màNgười Sparta đã đẩy lùi được cuộc tấn công của Ba Tư.

Bản chất của khúc gỗ bí mật là làm đảo lộn trật tự các ký tự trênthông điệp gốc. Được biết như hình thức mã chuyển vị đầu tiên.

Page 12: Classical cipher

Transposition cipherMã chuyển vị là hình thức mã hóa mà các ký tự trong thông điệp banđầu được hoán đổi vị trí cho nhau. Với những thông điệp ngắn, chẳnghạn như thông điệp chỉ có một từ thì phương pháp này không đủ antoàn.

“For example, consider this short sentence”.

• Với 35 ký tự, chúng ta có hơn 50*1030 cách sắp xếp khác nhau. Nếumỗi người kiểm tra một cách sắp xếp mất một giây. Thì tất cả mọi ngườitrên trái đất làm việc cả đêm lẫn ngày thì phải mất khoảng thời gian lớnhơn gấp hàng ngàn lần tuổi của vũ trụ mới kiểm tra được hết các cáchsắp xếp đó.

• Với cách mã hóa như vậy thì dường như là không thể phá vỡ. Tuy nhiênnó lại vấp phải một trở ngại lớn đó là: Nếu các ký tự được chuyển vị mộtcách ngẫu nhiên thì không chỉ đối thủ mà ngay cả người nhận cũng khôngthể giải mã nổi.

Page 13: Classical cipher

Rail Fence cipherMã Rail Fence còn được gọi là mã zig zag là một hình thức của mã

chuyển vị.

• Thông điệp được viết lần lượt từ trái qua phải trên các cột(rail) củamột hàng dào tưởng tượng theo đường chéo từ trên xuống dưới.

• Theo đường chéo từ dưới lên khi đạt tới cột thấp nhất.

• Và khi đạt tới cột cao nhất, lại viết theo đường chéo từ trên xuống. Cứlặp đi lặp lại như thế cho đến khi viết hết toàn bộ nội dung của thôngđiệp.

Ví dụ: Bản gốc: WE ARE DISCOVERED FLEE AT ONCE Với 3 rails

Page 14: Classical cipher

Caesar cipher

• Trong cuốn “Chiến tranh xứ Gaul”, Julius Caesar có miêutả cách ông gửi thư cho Cicero – người bị vây hãm và đangngấp nghé đầu hàng như thế nào.

• Trong bức thư gửi Cicero, Caesar đã thay thế một số kýtự Roma bằng ký tự Hy Lạp để bức thư không thể đọc đượcbởi đối thủ.

Page 15: Classical cipher

• Trong cuốn Cuộc đời của Caesar LVI của Suetonius có mô tả chi tiếtvề một số mật mã của Caesar. Caesar thay thế một cách đơn giản từngchữ cái trong thư bằng chữ cái cách đó ba vị trí trong bảng chữ cái.Sau này được gọi là mã dịch chuyển Caesar.

Bản chất trong hình thức mã hóa của Caesar là thay thế các ký tựtrong thư bằng các ký tự khác theo một nguyên tắc nào đó.

Mã Caesar là một mã thế.

Caesar cipher

Page 16: Classical cipher

Substitution cipher

• Hình thức thay thế đầu tiên có lẽ từ 4000 năm trước, ở thời đạicủa các pharaoh. Khi khắc lên bia mộ, người ai cập cổ xưa đã thay thếmột số ký hiệu tượng hình trong bản gốc bằng các ký hiệu khác.

Mã thế(substitution cipher) là hình thức mã hóa mà các ký tự trongthông điệp ban đầu được thay thế bởi các ký tự khác hoặc ký hiệumới theo một nguyên tắc nhất định.

• Tuy nhiên hình thức thay thế của người ai cập cổ xưa chỉ có ý nghĩathể hiện sự tôn kính. Do đó có thể nói mã Caesar là hình thức đầutiên của mã thế.

Page 17: Classical cipher

Monoalphabetic cipher

• Trong mã dịch chuyển của Caesar, Ta có 25 cách dịch chuyển khácnhau, mỗi cách dịch chuyển cho một loại mã khác nhau.

• Thực ra với ý tưởng là sự thay thế, ta không chỉ hạn chế với phép dịchchuyển trong bảng chữ cái, khi đó bảng chữ cái mật mã là bất kỳ sự sắpxếp lại nào của bảng chữ cái thường. Như thế với 26 chữ cái ta sẽ cónhiều hơn 4x1026 bảng chữ cái mật mã khác nhau.

• Monoalphabetic cipher là loại mã hóa thay thế chỉ sử dụng một bảngchữ cái mật mã để thay thế các ký tự trong thông điệp gốc.

Bảng chữ cái thường

Bảng chữ cái mật mã

Page 18: Classical cipher

CryptanalystsNhững nhà phân tích(thám) mã(Cryptanalysts) đầu tiên xuấthiện vào khoảng thế kỷ thứ 8 sau công nguyên ở Ả Rập:

• Giải mã một tài liệu mật mã của ngườiHy Lạp cho hoàng đế Byzantine.

• Là lần đầu tiên phép phân tích mã đượcđưa ra và viết thành phương pháp.

Abu 'Abd al-Rahman al-Khalil ibn Ahmad ibn 'Amr ibn Tammam al Farahidi al-Zadi al Yahmadi

Page 19: Classical cipher

Cryptanalysts

• Là một triết gia người Ả Rập.

• Tác giả của 290 cuốn sách về y học, thiên văn học, toán học,ngôn ngữ học và âm nhạc.

Abu Yusuf Ya'qub ibn Is-haq ibn as-Sabbah ibn 'omran ibn Ismail al-Kindi

• Chuyên luận vĩ đại của ông mới được tái khám phá vào năm1987, tại Cục lưu trữ Sulaimanuyyah Ottoman ở Instanbul, cónhan đề “Khảo cứu về giải mã các thư tín mật mã”.

• Chuyên luận đã miêu tả hệ thống phân tích mã có tính cáchmạng của al-Kindi – hệ thống phân tích mã dựa trên phân tíchtần suất vẫn được sử dụng cho đến ngày nay.

Page 20: Classical cipher

Phép phân tích tần suất• Phương pháp này được dựa trên sự khác nhau về tần suất của cácchữ cái trong bảng chữ cái của một ngôn ngữ.

• Bằng cách thống kê các chữ cái trên văn bản mật mã người giảimã dễ dàng tìm thấy chữ cái trong văn bản mật mã ứng với chữ cáinào trên văn bản gốc.

• Tuy nhiên phương pháp này không thể áp dụng một cách vô điềukiện được, vì tần suất của các chữ cái trong văn bản khác nhau làkhác nhau nhiều khi là khác xa so với tần suất trung bình.

- Tác phẩm La Disparition(Sự biến mất) của Georges Perec.Được Gilbert Adair dịch: A Void.

• Monoalphabetic ciphers có thể bị phá.

Page 21: Classical cipher

Tần suất các chữ cái tiếng anh

Page 22: Classical cipher

Thời kỳ phục hưng

• Trong thời kỳ phục hưng khoa học mật mã ở âu châuthực sự phát triển.

• Sự xuất hiện và phát triển của phương pháp phân tíchmã ở âu châu đã đẩy các nhà giải mã lên ngôi.

• Các nhà lập mã buộc phải lao vào cuộc tìm kiếm nhữngmã mới:

- Bổ xung thêm các ký tự vô nghĩa vào bảng chữ cái mật mã.

- Sự xuất hiện của mã từ: playfair cipher, hill cipher, … .

Page 23: Classical cipher

Mary Queen

Page 24: Classical cipher

Mã hóa nhiều bảng mã• Leon Battista Alberti là một nhà thông thái xứFlorentine. Ông là một họa sĩ, nhà soạn nhạc, nhàthơ và triết gia đồng thời ông còn là tác giả của sựphân tích khoa học đầu tiên về phối cảnh, mộtchuyên luận về ruồi và một điếu văn dành cho conchó của mình.

• Vào khoảng năm 1460, sau buổi trò chuyện vớiLeonardo Dato một viên thư ký của giáo hoàng, ôngđã viết một tiểu luận về mã hóa. Bài tiểu luận đãphác thảo một dạng mật mã mới được biết như hìnhthức đầu tiên của mã hóa nhiều bảng mã. Alberticũng miêu tả việc sử dụng các đĩa mã hóa để thựchiện việc mã hóa với nhiều bảng mã.

Page 25: Classical cipher

Mã hóa nhiều bảng mã

• Blaise de Vigenère(1523-1596) là một nhà ngoạigiao người Pháp.

• Sau đó, khi ở tuổi 39, Vigenère quyết định rằng ông đã kiếm đủtiền và từ bỏ con đường công danh để tập trung vào nghiên cứu.

• Vigenère đã nghiên cứu và hoàn thiện ý tưởng mã hóa nhiềubảng mã của Alberti Trithemius và Porta. Do vậy để tôn vinhVigenère-người có công hoàn thiện ý tưởng mật mã nhiều bảngmã, mật mã này được gọi là mật mã Vigenère .

• Trong khoảng thời gian công tác ở Roma, Vigenèređã bắt đầu làm quen với các bài viết của Alberti,Trithemius và Porta. Lúc đó ông mới 26 tuổi.

Page 26: Classical cipher

Mật mã Vigenère

• Điểm mạnh của mãVigenère là việc sử dụng26 bảng mã khác nhau.Do đó mà không bị phátrong một thời gian dài.

• Một ưu điểm nữa làmã Vigenère hỗ trợ việcsử dụng từ khóa vôcùng tiện lợi.

Page 27: Classical cipher

Công phá mật mã Vigenère

• Tuy nhiên phát kiến này mới được biết đến vào thế kỷ 20, khicác học giả nghiên cứu một số lượng lớn những ghi chép của ông.

• Charles Babbage(1791-1871) – một thiêntài lập dị người Anh.

• Ông đã thiết kế máy tính sai phân đầutiên. Chiếc máy được ví như một bướcđệm để đến với máy phân tích và máytính hiện đại ngày nay.

• Năm 1854, để giải lời thách đố củaThwaites ông đã phát minh ra một phươngpháp giải mã vĩ đại giúp giải mã các thôngđiệp được mã hóa bằng mật mã Vigenère.

Page 28: Classical cipher

Công phá mật mã Vigenère

• Friedrich Wilhelm Kasiski(1805-1881).

• Ông đã phát triển kỹ thuật tấn công thống kê và đãcông phá thành công mật mã Vigenère.

• Năm 1863, Kasiski công bố kỹ thuật đột phá tronggiải mã của mình trong cuốn “Chữ viết bí mật và nghệthuật giải mã”.

Page 29: Classical cipher

Cơ giới hóa việc giữ bí mật

• Ý tưởng cơ giới hóa việc giữ bí mật xuất hiện lần đầutiên vào thế kỷ thứ 15 với chiếc đĩa mã hóa của LeonAlberti-người cũng được coi là cha đẻ của mật mã nhiềubảng chữ cái.

• Việc cơ giới hóa quá trình mã hóa và giải mã giúp làmtăng tốc độ mã hóa, giải mã đồng thời làm giảm sai sóttrong các quá trình này. Từ đó tạo nền tảng cho áp dụngcác cách mã hóa phức tạp hơn.

Từ đĩa mã hóa

Page 30: Classical cipher

Cơ giới hóa việc giữ bí mậtTừ đĩa mã hóa ---> máy Enigma

• Sau Arthur Scherbius một vài năm, các nhà mậtmã ở các nước như Thụy Điển(Arvid Damm), HàLan(Alexander Koch), và ở Mỹ(Edward Hebern)cũng đã khai thác ý tưởng này.

• 500 năm sau, một dạng phức tạp hơn đã làm sốnglại ý tưởng mã hóa của Alberti và đã đưa đến mộtthế hệ mật mã mới – khó giải hơn tất cả các mật mãtrước đây.

• Năm 1918, nhà phát minh người Đức, ArthurScherbius đã phát minh ra chiếc máy vĩ đại với cáitên Enigma.

Page 31: Classical cipher

Công phá Enigma

• Trong chiến tranh thế giới thứ hai nhữngmáy mã hóa dạng Enigma đã được sử dụngđể vận chuyển các thông tin quân sự bí mật.Năm 1926 quân đội Đức đã chính thức sửdụng Enigma.

• Quân đội Nhật sau đó sử dụng máyPurple.

Gánh nặng đặt lên vai quân đội đồng minh!

Page 32: Classical cipher

Công phá Enigma• Quân đội Anh đã thành lập một trung tâmgiải mã mới ở Bletchley Park,Buckinghamshire. Trung tâm đã tuyển rấtnhiều các nhóm người bao gồm: những nhàngôn ngữ học, những người chơi cờ, chơi ôchữ, những nhà toán học, khoa học, ….

• Ngưởi nổi tiếng nhất trong những người đó làAlan Turing – Người đã thiết kế chiếc máytính có thể lập trình là nền tảng cho máy tínhhiện đại.

• Bằng sự nỗ lực phi thường và trí thông minhtuyệt vời, những con người ở Bletcheley Parkđã công phá thành công Enigma của quân độiđức, tạo ảnh hưởng to lớn cho việc rút ngắnchiến tranh thế giới thứ 2.

Page 33: Classical cipher

Arthur Zimmermann

Page 34: Classical cipher

Rào cản ngôn ngữ

• Các nhà tạo mã đồng minh đã sớm nhận ra rằng,mật mã máy phức tạp và không phải là cách thứcgửi thư an toàn nhất.

• Không những vậy các máy phức tạp đòi hỏi thờigian nhiều hơn cho việc mã hóa và giải mã – điều đócũng là một trở ngại lớn cho chiến trường.

• Năm 1942, Philip Johnston đã đề xuất mộtphương pháp mới cho việc đảm bảo bí mật đó là tậndụng những rào cản về ngôn ngữ. Những ngôn ngữcổ ít người biết sẽ là một phương tiện đảm bảo tínhbí mật đơn giản, thuận tiện và an toàn nhất.

Page 35: Classical cipher

Rào cản ngôn ngữMật mã Navajo được đưa vào sử dụng – được gọi là code Talkerhay WindTalker.

Những chiến binh Navajo

Page 36: Classical cipher

Lý thuyết mật mã

Page 37: Classical cipher

Các khái niệm cơ bản• Bản gốc là dữ liệu ban đầu, có thể hiểu được mà khôngcần sử dụng những công cụ, những biến đổi đặc biệtnào. Bản gốc(plaintext hay original text) còn được gọilà bản rõ(clear text).

• Bản mã hóa(ciphertext) là kết quả của việc áp dụngphương pháp mã hóa lên bản gốc. Với bản mã hóa, takhông thể thu được thông tin đúng mà không áp dụngnhững cách thức đặc biệt. Bản mã hóa chính là dữ liệuđã được mã hóa(encrypted data).

• Quá trình chuyển đổi bản mã thành bản rõ được gọi làgiải mã(decryption).

• Quá trình chuyển đổi bản rõ thành bản mã được gọi làmã hóa(encryption).

Page 38: Classical cipher

Các khái niệm cơ bản• Khoa học mật mã(cryptography) là khoa học nghiên cứu về việctạo mã và giải mã.

• Khoa học phân tích mã(cryptanalysis) hay khoa học thám mã làkhoa học nghiên cứu các nguyên lý giải mã mà không biết khóa haynói chính xác hơn là khoa học phân tích và phá mã. Người làmcông tác phân tích và phá mã được gọi là các nhà thámmã(cryptanlysts).

• Cryptology bao gồm cả cryptography và cryptanlysis.

• Lược đồ mã hóa(encryption schema) là lược đồ mô tả cách thứcmã hóa của người gửi và giải mã của người nhận.

Page 39: Classical cipher

Các thao tác mã hóa cơ bảnBất kỳ loại mật mã nào cũng được xây dựng từ các thaotác mã hóa cơ bản sau:

• Phép thế - substitution.

• Phép chuyển vị - transposition(hay hoán vị).

• Các thao tác mã hóa phức tạp được xây dựng từ tổ hợpcác phép thế và chuyển vị được gọi là các phép tích.

Page 40: Classical cipher

Khóa và thuật toán mã/giải mã

• Thuật toán mã hóa(giải mã) là một thủ tục thể hiệncách thức xử lý bản gốc(bản mã hóa) thành bản mãhóa(bản gốc). Thuật toán mã hóa sẽ là một sự tổ hợp cácphép thế và phép chuyển vị theo một trình tự nhất định.

• Thuật toán mã hóa – encryption algorithm được thểhiện như một hàm toán học với tham số vào là bản gốc(M)và khóa(k). Được ký hiệu là: E(M,k)

• Thuật toán giải mã – decryption algorithm được thểhiện như một hàm toán học với tham số vào là bản mã(C)và khóa k. Được ký hiệu là: D(C,k).

Page 41: Classical cipher

Khóa và thuật toán mã/giải mã

• Khóa là một tham số đặc biệt thường được giữ bí mật.Khóa giúp cho sự mã hóa(giải mã) không lệ thuộc hoàntoàn vào thuật toán. Với cùng một bản gốc, một thuậttoán, mã hóa với các khóa khác nhau sẽ cho ra bản mãkhác nhau(tương tự như vậy với giải mã).

• Số lượng khóa khả dĩ hay tiềm năng của một thuật toánmã hóa(giải mã) là số lượng khóa có thể được lựa chọnnhư một tham số cho thuật toán mã hóa(giải mã).

• Số lượng khóa khả dĩ là tùy thuộc vào thuật toán mãhóa(giải mã).

Page 42: Classical cipher

Bí mật thuật toán hay bí mật khóa

• Vào năm 1883, nguyên lý Kerchkhoff được đưa ra:“Sự an toàn của một hệ thống mật mã không phải phụthuộc vào việc giữ bí mật thuật toán mật mã. Sự antoàn này chỉ phụ thuộc vào việc giữ bí mật khóa.”

• Ngày nay các mật mã thương mại thường công bốrộng rãi thuật toán mã hóa, nhưng trong quân sự thìvẫn được giấu kín.

• Giấu kín thuật toán mã hóa sẽ nâng cao tính an toàncủa mật mã. Tuy nhiên việc công bố thuật toán mã hóasẽ tạo điều kiện cho lý thuyết mật mã phát triển.

Page 43: Classical cipher

Phân loại mật mã• Kiểu thao tác sử dụng trong mã hóa

• Cách thức xử lý trên bản gốc

- Mã thế(Substitution cipher)

- Mã chuyển vị(Transposition cipher)

- Mã tích

• Khóa mã hóa

- Mã đối xứng(Symmetric cipher) – chỉ sử dụng một khóa

- Mã bất đối xứng(Asymmetric cipher)- sử dụng hai khóa

- Mã dòng(Stream cipher)

- Mã khối(Block cipher)

Page 44: Classical cipher

Mã đối xứngMã đối xứng(symmetric cipher) là loại mật mã mà việc mã hóa vàgiải mã có thể sử dụng chung một khóa, người mã hóa cũng có thểgiải mã và ngược lại người giải mã cũng có thể mã hóa. Mã đối xứngcòn được gọi là mã một khóa(single-key cipher).

• Mã đối xứng có lược đồ như sau:

Page 45: Classical cipher

Mã đối xứngMã dịch chuyển Caesar.

• Ta lần lượt đánh chỉ số cho các chữ cái bắt đầu từ 0.

• Ta mô tả mã dịch chuyển Caesar một cách hình thức nhưsau:

- k là một số nguyên từ 0 tới 25 được gọi là khóa.

- Hàm mã hóa: E(p,k)=(p+k)mod26 với p là chỉ sốcủa ký tự cần mã hóa.

- Hàm giải mã: D(c,k)=|c-k|mod26 với c là chỉ sốcủa ký tự cần giải mã.

• Như vậy số lượng khóa tiềm năng của mã dịch chuyển Caesarlà 25(do k=0 không có giá trị mã hóa).

Page 46: Classical cipher

Mã đối xứngMã Hill – Hill Cipher.

• Ta lần lượt đánh chỉ số cho các chữ cái bắt đầu từ 0.

• Mã Hill dựa trên ý tưởng mã hóa từng nhóm ký tự. Cụ thểnhư sau:

- k là một ma trận vuông cỡ n(được gọi là khóa).

- Hàm mã hóa: E(p,k)=(k.p)mod26 với p ma trận “hàng” chứa n ký tự cần mã hóa.

- Hàm giải mã: D(c,k)=k1.c mod26 với k1là ma trận nghịch đảo của k và c là ma trận “hàng” chứa n ký tự mã hóa cần giải mã.

Page 47: Classical cipher

Mã đối xứngĐể đảm bảo tính bí mật của thông tin, mã đối xứng phảithỏa mãn các yêu cầu sau:

• Thuật toán mã hóa phải đủ mạnh để đối phương không thể giảimã mà không biết khóa.

• Khóa phải được giữ bí mật tuyệt đối. Do đó mà mã đối xứngcòn được gọi là mã khóa bí mật(secret-key cipher).

Page 48: Classical cipher

Mã đối xứngĐể có thể thực hiện trao đổi thông tin một cáchbí mật bằng mã đối xứng, người sử dụng phải:

• Thống nhất với nhau thuật toán mã hóa và giải mãsẽ được sử dụng trong quá trình trao đổi thông tin.

• Thống nhất với nhau khóa bí mật sẽ được sử dụngtrong quá trình trao đổi. Cũng bởi vậy mà mã đốixứng còn được gọi là mã thỏa thuận(conventionalcipher).

Việc phải thống nhất khóa bí mật là điểm yếu của mã đốixứng. Vấn đề phân phối khóa(key distribution) trở thànhvấn đề quan trọng của mã đối xứng.

Page 49: Classical cipher

Mã đối xứng• Mã khóa bí mật, mã thỏa thuận, mã một khóa làcác tên khác nhau của mã đối xứng.

• Mã đối xứng chỉ sử dụng một khóa duy nhất đãthỏa thuận trước trong cả tiến trình mã hóa và giảimã.

• Tất cả các mã cổ điển đều là mã đối xứng – mã đốixứng có một lịch sử dài và thú vị.

• Mã đối xứng là loại mã duy nhất cho đến khi xuấthiện mã bất đối xứng vào năm “1975”.

Page 50: Classical cipher

Trở lại với lịch sử

Page 51: Classical cipher

Alan Turing Bomb Machine

Page 52: Classical cipher

Clossus Machine

Page 53: Classical cipher

ENIAC MACHINE

Máy tính đã ra đời!

Page 54: Classical cipher

Sự tác động của máy tính tới

Lý thuyết mật mã

• Các nhà thám mã có một công cụ đắc lực choviệc phá mã. Ngay cả cách thử tất cả các khóakhả dĩ cũng trở nên có thể thực hiện được.

• Đáp lại, các nhà tạo mã cũng khai thác triệtđể sức mạnh của máy tính để tạo nên các mậtmã phức tạp hơn.

Máy tính trở thành động lực cho lý thuyết mật mã!

Page 55: Classical cipher

Sự tác động của máy tính tới

Lý thuyết mật mã

• Máy tính cho phép tạo dựng các máy mã hóa ảo rấtphức tạp dựa trên những máy mã lý thuyết.

• Cho phép tốc độ mã hóa và giải mã được thực hiệnnhanh chóng hơn.

Máy tính mở màn cho mật mã hiện đại!

• Mã hóa trên các bits thông tin thay vì trên các chữcái trong mật mã cổ điển.