1. Information Safe
Confidentiality
Classical cipher
Hoang V.Nguyen
Mail: startnewday85@gmail.com
Department of Computer Science
Faculty of Information Technology – Hanoi University of Agriculture.
2. Confidentiality
• Who? Sorry,
• When? I don’t know.
• Where?
Có lẽ là từ rất xa xưa!!! very very ancient!!!
3. When/Where do we start?
Và
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.
4. Hy Lạp cổ xưa
Trong cuốn The Histories, Herodotus miêu
tả về cuộc chiến giữa Hy Lạp và Ba Tư vào
khoả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ỏi
quê hương; đang sống ở Ba Tư đã gửi cảnh báo
tới Hy Lạp:
- Ông đã cạo lớp sáp trên hai thanh gỗ dầy, viết lên
Xerxes đó 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ất
ngờ của người Ba Tư đã mất, cuộc chiến của quân đội Ba Tư đã
thất bại.
5. 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ư.
6. Steganography
Hì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ư.
7. 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ức
bị triệt tiêu.
• Do vậy mà song song với Steganography, là sự phát
triể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”.
8. 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ấu
nộ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 đặc
biệ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.
9. 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ại
như một dấu chấm khoảng 1mm. Sau đó đặt dấu
chấ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ức
thư 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.
11. Spartan Scytable
Khú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ết
song, sợi dây da mang trên nó những ký hiệu vô nghĩa, thường được
ngườ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ên
thông điệp gốc. Được biết như hình thức mã chuyển vị đầu tiên.
12. Transposition cipher
Mã 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ẳng
hạn như thông điệp chỉ có một từ thì phương pháp này không đủ an
toà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ếu
mỗ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ười
trê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ớn
hơ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ách
sắ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ên
nó 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ột
cách ngẫu nhiên thì không chỉ đối thủ mà ngay cả người nhận cũng không
thể giải mã nổi.
13. Rail Fence cipher
Mã 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ủa
mộ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
14. Caesar cipher
• Trong cuốn “Chiến tranh xứ Gaul”, Julius Caesar có miêu
tả cách ông gửi thư cho Cicero – người bị vây hãm và đang
ngấ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 được
bởi đối thủ.
15. Caesar cipher
Mã Caesar là một mã thế.
• Trong cuốn Cuộc đời của Caesar LVI của Suetonius có mô tả chi tiết
về một số mật mã của Caesar. Caesar thay thế một cách đơn giản từng
chữ 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 đó.
16. Substitution cipher
Mã thế(substitution cipher) là hình thức mã hóa mà các ký tự trong
thông điệp ban đầu được thay thế bởi các ký tự khác hoặc ký hiệu
mới theo một nguyên tắc nhất định.
• Hình thức thay thế đầu tiên có lẽ từ 4000 năm trước, ở thời đại
củ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.
• Tuy nhiên hình thức thay thế của người ai cập cổ xưa chỉ có ý nghĩa
thể hiện sự tôn kính. Do đó có thể nói mã Caesar là hình thức đầu
tiên của mã thế.
17. Monoalphabetic cipher
• Trong mã dịch chuyển của Caesar, Ta có 25 cách dịch chuyển khác
nhau, mỗi cách dịch chuyển cho một loại mã khác nhau.
Bảng chữ cái thường
Bảng chữ cái mật mã
• Thực ra với ý tưởng là sự thay thế, ta không chỉ hạn chế với phép dịch
chuyển trong bảng chữ cái, khi đó bảng chữ cái mật mã là bất kỳ sự sắp
xế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ảng
chữ cái mật mã để thay thế các ký tự trong thông điệp gốc.
18. Cryptanalysts
Những nhà phân tích(thám) mã(Cryptanalysts) đầu tiên xuất
hiện vào khoảng thế kỷ thứ 8 sau công nguyên ở Ả Rập:
Abu 'Abd al-Rahman al-Khalil ibn Ahmad ibn 'Amr ibn
Tammam al Farahidi al-Zadi al Yahmadi
• Giải mã một tài liệu mật mã của người
Hy 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.
19. Cryptanalysts
Abu Yusuf Ya'qub ibn Is-haq ibn as-
Sabbah ibn 'omran ibn Ismail al-Kindi
• 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.
• Chuyên luận vĩ đại của ông mới được tái khám phá vào năm
1987, 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ách
mạng của al-Kindi – hệ thống phân tích mã dựa trên phân tích
tần suất vẫn được sử dụng cho đến ngày nay.
20. 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ác
chữ 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ải
mã dễ dàng tìm thấy chữ cái trong văn bản mật mã ứng với chữ cái
nà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ều
kiệ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á.
22. Thời kỳ phục hưng
• Trong thời kỳ phục hưng khoa học mật mã ở âu châu
thự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ích
mã ở â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ững
mã 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, … .
24. 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ột
chuyên luận về ruồi và một điếu văn dành cho con
chó của mình.
• Vào khoảng năm 1460, sau buổi trò chuyện với
Leonardo 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ình
thức đầu tiên của mã hóa nhiều bảng mã. Alberti
cũng miêu tả việc sử dụng các đĩa mã hóa để thực
hiện việc mã hóa với nhiều bảng mã.
25. Mã hóa nhiều bảng mã
• Blaise de Vigenère(1523-1596) là một nhà ngoại
giao người Pháp.
• 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.
• 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ều
bảng mã của Alberti Trithemius và Porta. Do vậy để tôn vinh
Vigenère-người có công hoàn thiện ý tưởng mật mã nhiều bảng
mã, mật mã này được gọi là mật mã Vigenère .
26. Mật mã Vigenère
• Điểm mạnh của mã
Vigenère là việc sử dụng
26 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ệc
sử dụng từ khóa vô
cùng tiện lợi.
27. Công phá mật mã Vigenère
• Charles Babbage(1791-1871) – một thiên
tài lập dị người Anh.
• Ông đã thiết kế máy tính sai phân đầu
tiên. Chiếc máy được ví như một bước
đệm để đến với máy phân tích và máy
tính hiện đại ngày nay.
• Năm 1854, để giải lời thách đố của
Thwaites ông đã phát minh ra một phương
phá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.
• Tuy nhiên phát kiến này mới được biết đến vào thế kỷ 20, khi
các học giả nghiên cứu một số lượng lớn những ghi chép của ông.
28. 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á trong
giải mã của mình trong cuốn “Chữ viết bí mật và nghệ
thuật giải mã”.
29. Cơ giới hóa việc giữ bí mật
Từ đĩa mã hóa
• Ý tưởng cơ giới hóa việc giữ bí mật xuất hiện lần đầu
tiên vào thế kỷ thứ 15 với chiếc đĩa mã hóa của Leon
Alberti-người cũng được coi là cha đẻ của mật mã nhiều
bảng chữ cái.
• Việc cơ giới hóa quá trình mã hóa và giải mã giúp làm
tăng tốc độ mã hóa, giải mã đồng thời làm giảm sai sót
trong các quá trình này. Từ đó tạo nền tảng cho áp dụng
các cách mã hóa phức tạp hơn.
30. Cơ giới hóa việc giữ bí mật
Từ đĩa mã hóa ---> máy Enigma
• 500 năm sau, một dạng phức tạp hơn đã làm sống
lại ý tưởng mã hóa của Alberti và đã đưa đến một
thế 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, Arthur
Scherbius đã phát minh ra chiếc máy vĩ đại với cái
tên Enigma.
• Sau Arthur Scherbius một vài năm, các nhà mật
mã ở 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.
31. Công phá Enigma
• Trong chiến tranh thế giới thứ hai những
má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áy
Purple.
Gánh nặng đặt lên vai quân đội đồng minh!
32. Công phá Enigma
• Quân đội Anh đã thành lập một trung tâm
giải mã mới ở Bletchley Park,
Buckinghamshire. Trung tâm đã tuyển rất
nhiề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áy
tính có thể lập trình là nền tảng cho máy tính
hiện đại.
• Bằng sự nỗ lực phi thường và trí thông minh
tuyệ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ắn
chiến tranh thế giới thứ 2.
34. 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ức
gử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ời
gian 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ột
phương pháp mới cho việc đảm bảo bí mật đó là tận
dụ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ính
bí mật đơn giản, thuận tiện và an toàn nhất.
35. Rào cản ngôn ngữ
Mật mã Navajo được đưa vào sử dụng – được gọi là code Talker
hay WindTalker.
Những chiến binh Navajo
37. 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ông
cần sử dụng những công cụ, những biến đổi đặc biệt
nào. Bản gốc(plaintext hay original text) còn được gọi
là bản rõ(clear text).
• Bản mã hóa(ciphertext) là kết quả của việc áp dụng
phương pháp mã hóa lên bản gốc. Với bản mã hóa, ta
không thể thu được thông tin đúng mà không áp dụng
nhữ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).
38. 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ệc
tạ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 hay
nói chính xác hơn là khoa học phân tích và phá mã. Người làm
công tác phân tích và phá mã được gọi là các nhà thám
mã(cryptanlysts).
• Cryptology bao gồm cả cryptography và cryptanlysis.
• Lược đồ mã hóa(encryption schema) là lược đồ mô tả cách thức
mã hóa của người gửi và giải mã của người nhận.
39. Các thao tác mã hóa cơ bản
Bất kỳ loại mật mã nào cũng được xây dựng từ các thao
tá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ợp
các phép thế và chuyển vị được gọi là các phép tích.
40. 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ện
cá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ác
phé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).
41. 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àn
toàn vào thuật toán. Với cùng một bản gốc, một thuật
toá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án
mã hóa(giải mã) là số lượng khóa có thể được lựa chọn
như 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ã).
42. 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ự an
toà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àn
của mật mã. Tuy nhiên việc công bố thuật toán mã hóa
sẽ tạo điều kiện cho lý thuyết mật mã phát triển.
43. Phân loại mật mã
• Kiểu thao tác sử dụng trong mã hóa
- 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
• Cách thức xử lý trên bản gốc
- Mã dòng(Stream cipher)
- Mã khối(Block cipher)
44. Mã đối xứng
Mã đố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ứng
còn được gọi là mã một khóa(single-key cipher).
• Mã đối xứng có lược đồ như sau:
45. Mã đối xứng
Mã 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 Caesar
là 25(do k=0 không có giá trị mã hóa).
46. Mã đối xứng
Mã 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ã.
47. Mã đối xứng
Để đảm bảo tính bí mật của thông tin, mã đối xứng phải
thỏ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ải
mã mà không biết khóa.
• Khóa phải được giữ bí mật tuyệt đối. Do đó mà mã đối xứng
còn được gọi là mã khóa bí mật(secret-key cipher).
48. Mã đối xứng
Để có thể thực hiện trao đổi thông tin một cách
bí 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ụng
trong quá trình trao đổi. Cũng bởi vậy mà mã đối
xứng còn được gọi là mã thỏa thuận(conventional
cipher).
Việc phải thống nhất khóa bí mật là điểm yếu của mã đối
xứng. Vấn đề phân phối khóa(key distribution) trở thành
vấn đề quan trọng của mã đối xứng.
49. 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ải
mã.
• Tất cả các mã cổ điển đều là mã đối xứng – mã đối
xứ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ất
hiện mã bất đối xứng vào năm “1975”.
54. 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 cho
việc phá mã. Ngay cả cách thử tất cả các khóa
khả 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ật
mã phức tạp hơn.
Máy tính trở thành động lực cho lý thuyết mật mã!
55. 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ất
phứ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ện
nhanh chóng hơn.
• 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.
Máy tính mở màn cho mật mã hiện đại!