GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
Slide c1
1.
2. Thông tin là một bộ phần quan trọng và là tài sản
thuộc quyền sở hữu của các tổ chức
Sự thiệt hại và lạm dụng thông tin không chỉ ảnh
hưởng đến người sử dụng hoặc các ứng dụng mà
nó còn gây ra các hậu quả tai hại cho toàn bộ tổ
chức đó
Thêm vào đó sự ra đời của Internet đã giúp cho
việc truy cập thông tin ngày càng trở nên dễ dàng
hơn
3. :Hệ thống là một tập hợp các máy tính bao
gồm các thành phần, phần cứng, phần mềm và dữ̃ liệu làm việc
được tích luỹ qua thời gian.
Phần cứng
Phần mềm
Dữ liệu
Các truyền thông giữa các máy tính của hệ thống
Môi trường làm việc
Con người
4. Có 3 hình thức chủ yếu đe dọa đối với hệ thống:
Phá hoại: kẻ thù phá hỏng thiết bị phần cứng hoặc
phần mềm hoạt động trên hệ thống.
Sửa đổi: Tài sản của hệ thống bị sửa đổi trái phép.
Điều này thường làm cho hệ thống không làm đúng
chức năng của nó. Chẳng hạn như thay đổi mật khẩu,
quyền ngƣời dùng trong hệ thống làm họ không thể
truy cập vào hệ thống để làm việc.
Can thiệp: Tài sản bị truy cập bởi những người
không có thẩm quyền. Các truyền thông thực hiện
trên hệ thống bị ngăn chặn, sửa đổi.
5. Các đe dọa đối với một hệ thống thông tin có thể đến
từ ba loại đối tượng như sau:
Các đối tượng từ ngay bên trong hệ thống (insider), đây
là những người có quyền truy cập hợp pháp đối với hệ
thống.
Những đối tượng bên ngoài hệ thống (hacker, cracker),
thường các đối tượng này tấn công qua những đường
kết nối với hệ thống như Internet chẳng hạn.
Các phần mềm (chẳng hạn nhƣ spyware, adware …)
chạy trên hệ thống.
6. Lớp ứng dụng
Mức quản lý
Mức kiểm soát
Mức người sử dụng
Lớp dịch vụ
Lớp hạ tầng
Lớp ứng dụng
Kiểm soát truy nhập
Chứng thực
Chống chối bỏ
Bảo mật số liệu
An toàn luồng tin
Nguyên vẹn số liệu
Khả dụng
Riêng tư
Nguy cơ
Tấn công
Phá hủy
Cắt bỏ
Bóc, tiết lộ
Gián đoạn
Sửa đổi
7. Điều khiển thông qua phần mềm: dựa vào các cơ
chế an toàn bảo mật của hệ thống nền (hệ điều
hành), các thuật toán mật mã học
Điều khiển thông qua phần cứng: các cơ chế bảo
mật, các thuật toán mật mã học được cứng hóa để
sử dụng
Điều khiển thông qua các chính sách của tổ
chức: ban hành các qui định của tổ chức nhằm
đảm bảo tính an toàn bảo mật của hệ thống.
8. Ba mục tiêu chính của an toàn bảo mật thông tin:
Bảo mật
thông tin
Tính sẵn sàng
9. Tính bí mật (Confidentiality): Đảm bảo rằng thông
tin không bị truy cập bất hợp pháp
– Thuật ngữ privacy thường được sử dụng khi dữ
liệu được bảo vệ có liên quan tới các thông tin
mang tính cá nhân.
Tính toàn vẹn (Integrity): Đảm bảo rằng thông tin
không bị sửa đổi bất hợp pháp.
Tính sẵn dùng (Availability): Tài sản luôn sẵn sàng
được sử dụng bởi nhưng ngƣời có thẩm quyền.
10. Tính xác thực (Authentication): Đảm bảo rằng dữ
liệu nhận được chắc chắn là dữ liệu gốc ban đầu
Tính không thể chối bỏ (Non-repudation): - Đảm
bảo rằng người gửi hay người nhận dữ liệu không
thể chối bỏ trách nhiệm sau khi đã gửi và nhận
thông tin.
Thêm vào đó sự chính xác của thông tin còn được
đánh giá bởi:
11. Giới hạn quyền hạn tối thiểu (Last Privilege):theo nguyên
tắc này bất kỳ một đối tượng nào cùng chỉ có những
quyền hạn nhất định đối với tài nguyên mạng.
Bảo vệ theo chiều sâu (Defence In Depth):Không nên dựa
vào một chế độ an toàn nào dù cho chúng rất mạnh, mà
nên tạo nhiều cơ chế an toàn để tương hỗ lẫn nhau.
Nút thắt (Choke Point): Tạo ra một “cửa khẩu” hẹp, và
chỉ cho phép thông tin đi vào hệ thống của mình bằng
con đường duy nhất chính là “cửa khẩu” này.
12. Điểm nối yếu nhất (Weakest Link):Chiến lược này dựa
trên nguyên tắc: “ Một dây xích chỉ chắc tại mắt duy
nhất, một bức tường chỉ cứng tại điểm yếu nhất”.
Tính toàn cục: Các hệ thống an toàn đòi hỏi phải có tính
toàn cục của các hệ thống cục bộ.
Tính đa dạng bảo vệ: Cần phải sử dụng nhiều biện pháp
bảo vệ khác nhau cho hệ thống khác nhau, nếu không có
kẻ tấn công vào được một hệ thống thì chúng cũng dễ
dàng tấn công vào các hệ thống khác.
13. Quyền truy nhập: Là lớp bảo vệ trong cùng nhằm
kiểm soát các tài nguyên của mạng và quyền hạn
trên tài nguyên đó.
Đăng ký tên /mật khẩu: Thực ra đây cũng là kiểm
soát quyền truy nhập, nhưng không phải truy nhập ở
mức thông tin mà ở mức hệ thống.
Mã hoá dữ liệu: Dữ liệu bị biến đổi từ dạng nhận
thức được sang dạng không nhận thức được theo
một thuật toán nào đó và sẽ được biến đổi ngược lại
ở trạm nhận (giải mã).
Bảo vệ vật lý: Ngăn cản các truy nhập vật lý vào hệ
thống.
14. Tường lửa: Ngăn chặn thâm nhập trái phép và lọc bỏ các
gói tin không muốn gửi hoặc nhận vì các lý do nào đó để
bảo vệ một máy tính hoặc cả mạng nội bộ (intranet).
15. Quản trị mạng: Công tác quản trị mạng máy tính phải
được thực hiện một cách khoa học đảm bảo các yêu
cầu sau :
Toàn bộ hệ thống hoạt động bình thường trong
giờ làm việc.
Có hệ thống dự phòng khi có sự cố về phần
cứng hoặc phần mềm xảy ra.
Backup dữ liệu quan trọng theo định kỳ.
Bảo dưỡng mạng theo định kỳ.
Bảo mật dữ liệu, phân quyền truy cập, tổ chức
nhóm làm việc trên mạng.
16. • Mật mã hóa thông tin: đảm bảo tính bí mật của
thông tin truyền thông
• Xác thực quyền: được sử dụng để xác minh, nhận
dạng quyền hạn của các thành viên tham gia.
17. Mật mã là một ngành khoa học chuyên nghiên cứu các
phương pháp truyền tin bí mật. Mật mã bao gồm : Lập mã
và phá mã.
– Lập mã bao gồm hai quá trình: mã hóa và giải mã.Các
sản phẩm của lĩnh vực này là các hệ mã mật , các hàm
băm, các hệ chữ ký điện tử, các cơ chế phân phối, quản
lý khóa và các giao thức mật mã.
– Phá mã: Nghiên cứu các phương pháp phá mã hoặc tạo
mã giả. Sản phẩm của lĩnh vực này là các phương pháp
phá mã , các phương pháp giả mạo chữ ký, các phương
pháp tấn công các hàm băm và các giao thức mật mã
18. Cách hiểu truyền thống: giữ bí mật nội dung trao đổi
GỬI và NHẬN trao đổi với nhau trong khi TRUNG GIAN tìm
cách “nghe lén”
GỬI NHẬN
TRUNG GIAN
19. • Một trong những nghệ thuật để bảo vệ thông tin là biến đổi
nó thành một định dạng mới khó đọc.
• Viết mật mã có liên quan đến việc mã hoá các thông báo
trước khi gửi chúng đi và tiến hành giải mã chúng lúc nhận
được
20. • Có 2 phương thức mã hoá cơ bản: thay thế và hoán vị:
Phương thức mã hoá thay thế: là phương thức mã hoá mà
từng ký tự gốc hay một nhóm ký tự gốc của bản rõ được
thay thế bởi các từ, các ký hiệu khác hay kết hợp với nhau
cho phù hợp với một phương thức nhất định và khoá.
Phương thức mã hoá hoán vị: là phương thức mã hoá mà
các từ mã của bản rõ được sắp xếp lại theo một phương
thức nhất định.
21. • Vai trò của hệ mật mã:
Hệ mật mã phải che dấu được nội dung của văn bản
rõ (PlainText).
Tạo các yếu tố xác thực thông tin, đảm bảo thông tin
lưu hành trong hệ thống đến người nhận hợp pháp
là xác thực (Authenticity).
Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có
hiện tượng giả mạo, mạo danh để gửi thông tin trên
mạng.
22. • Khái niệm cơ bản
Bản rõ (plaintext) X được gọi là là bản tin gốc. Bản
rõ có thể được chia nhỏ có kích thước phù hợp.
Bản mã (CipherText) Y là bản tin gốc đã được mã
hoá. Ở đây ta thường xét phương pháp mã hóa mà
không làm thay đổi kích thước của bản rõ, tức là
chúng có cùng độ dài.
Mã là thuật toán E chuyển bản rõ thành bản mã.
Thông thường chúng ta cần thuật toán mã hóa
mạnh, cho dù kẻ thù biết được thuật toán, nhưng
không biết thông tin về khóa cũng không tìm được
bản rõ.
23. Khái niệm cơ bản:
Khoá K là thông tin tham số dùng để mã hoá, chỉ
có người gửi và nguời nhận biết. Khóa là độc lập
với bản rõ và có độ dài phù hợp với yêu cầu bảo
mật.
Mã hoá (Encryption) là quá trình chuyển bản rõ
thành bản mã, thông thường bao gồm việc áp dụng
thuật toán mã hóa và một số quá trình xử lý thông
tin kèm theo.
Giải mã (Decryption) chuyển bản mã thành bản rõ,
đây là quá trình ngược lại của mã hóa.
24. Bản rõ Mã hoá Giải mã Bản rõ
Bản mã
Khoá
Quá trình mã hóa và giải mã thông tin
25. • Có ba phương pháp chính cho việc mã hoá và giải mã
– Sử dụng khoá đối xứng
– Sử dụng khoá bất đối xứng
– Sử dụng hàm băm một chiều
26. “An intro to
PKI and few
deploy hints”
“AxCvGsmWe#4^,s
dgfMwir3:dkJeTsY
8Rs@!q3%”
“An intro to
PKI and few
deploy hints”
input : văn bản thuần tuý Văn bản mật mã
Hai khoá giống nhau
Mã hoá Giải mã
output : văn bản thuần tuý
DES DES
(Symmetric key)
Hệ mật đối xứng (hay còn gọi là mật mã khóa bí mật) : là những hệ mật
dùng chung một khoá cả trong quá trình mã hoá dữ liệu và giải mã dữ
liệu. Do đó khoá phải được giữ bí mật tuyệt đối. Một số thuật toán nổi
tiếng trong mã hoá đối xứng là: DES, Triple DES(3DES), RC4, AES…
27. “An intro to
PKI and few
deploy hints”
“Py75c%bn&*)9|f
De^bDzjF@g5=&
nmdFgegMs”
“An intro to
PKI and few
deploy hints”
Hai khoá khác nhau
Mã hoá Giải mã
input : văn bản thuần tuý Văn bản mật mã output : văn bản thuần tuý
RSA RSA
(Public key cryptography)
28. • Khoá private chỉ được biết đến bởi người gửi
• Khoá public được biết đến bởi nhiều người hơn nó được sử
dụng bởi những nhóm người đáng tin cậy đã được xác thực
• Thuật toán mã hoá sử dụng khoá bất đối xứng thường được biết
đến là RSA (Rivest,Shamir and Adleman 1978)
Hệ mật mã bất đối xứng (hay còn gọi là mật mã khóa công
khai): Các hệ mật này dùng một khoá để mã hoá sau đó dùng
một khoá khác để giải mã, nghĩa là khoá để mã hoá và giải mã
là khác nhau. Các khoá này tạo nên từng cặp chuyển đổi ngược
nhau và không có khoá nào có thể suy được từ khoá kia. Khoá
dùng để mã hoá có thể công khai nhưng khoá dùng để giải mã
phải giữ bí mật.
Do đó trong thuật toán này có 2 loại khoá: Khoá để mã hoá
được gọi là khóa công khai-Public Key, khoá để giải mã được
gọi là khóa bí mật - Private Key.
29. • Một hàm băm H nhận được một thông báo m với một độ
dài bất kỳ từ đầu vào và đưa ra một xâu bít h có độ dài
cố định ở đầu ra h = H(m).
• Hàm băm là một hàm một chiều, điều đó có nghĩa là ta
không thể tính toán được đầu vào m nếu biết đầu ra h.
• Thuật toán sử dụng hàm băm thường được biết đến là
MD5
30. 3kJfgf*£$&
Py75c%bn
This is the
document
created by
Gianni
Thông báo hoặc File Chữ ký số
Thông báo sau khi luật hoá
Signatory's
private key
priv
Phát sinh
hàm băm
SHA, MD5
Mã hoá
bất đối xứng
RSA
This is the
document
created by
Gianni 3kJfgf*£$&
(Typically 128 bits)
Signed
Document
31. • Độ an toàn: Một hệ mật được đưa vào sử dụng điều đầu tiên
phải có độ an toàn cao.
• Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí
mật của các khoá, còn thuật toán thì công khai. Tại một thời
điểm, độ an toàn của một thuật toán phụ thuộc:
Nếu chi phí hay phí tổn cần thiết để phá vỡ một thuật
toán lớn hơn giá trị của thông tin đã mã hóa thuật toán
thì thuật toán đó tạm thời được coi là an toàn.
Nếu thời gian cần thiết dùng để phá vỡ một thuật toán là
quá lâu thì thuật toán đó tạm thời được coi là an toàn.
Nếu lượng dữ liệu cần thiết để phá vỡ một thuật toán quá
lơn so với lượng dữ liệu đã được mã hoá thì thuật toán đó
tạm thời được coi là an toàn
• Bản mã C không được có các đặc điểm gây chú ý, nghi ngờ.
32. • Tốc độ mã và giải mã: Khi đánh giá hệ mật mã chúng ta phải
chú ý đến tốc độ mã và giải mã. Hệ mật tốt thì thời gian mã và
giải mã nhanh.
• Phân phối khóa: Một hệ mật mã phụ thuộc vào khóa, khóa này
được truyền công khai hay truyền khóa bí mật. Phân phối khóa
bí mật thì chi phí sẽ cao hơn so với các hệ mật có khóa công
khai. Vì vậy đây cũng là một tiêu chí khi lựa chọn hệ mật mã.
33. 1. Yêu cầu đối với một hệ thống thông tin an toàn?
2. Các ứng dụng của mật mã trong an toàn thông tin?
3. Cơ chế hoạt động của mật mã đối xứng? Đặc điểm chung
của các thuật toán mật mã đối xứng?
4. Các thành phần của một hệ thống mật mã đối xứng?
Phần nào bí mật, phần nào công khai?
5. Các ứng dụng của mật mã bất đối xứng trong an ninh
thông tin?
34.
35. • Là hệ mã hóa thay thế xuất hiện sớm nhất và đơn
giản nhất
• Sử dụng đầu tiên bởi Julius Caesar vào mục đích
quân sự
• Nguyên lý: Dịch chuyển xoay vòng theo thứ tự chữ
cái
– Khóa k là số bước dịch chuyển
– Với mỗi chữ cái của văn bản
• Đặt p = 0 nếu chữ cái là a, p = 1 nếu chữ cái là b,...
• Mã hóa : C = E(p) = (p + k) mod 26
• Giải mã : p = D(C) = (C - k) mod 26
Ví dụ : Mã hóa "meet me after class" với k = 3
36. Bảng chuyển đổi như sau:
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
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
• Gán mỗi chữ cái tương ứng với một con số
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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Bản mã hóa là: PHHW….
37. • Các thuộc tính của hệ mã:
– Khóa chỉ là một chữ cái (hay một số giữa 1 và 25)
– Thử tất cả 25 khóa có thể
– Dễ dàng thực hiện
• Nhược điểm: Ba yếu tố quan trọng
– Biết trước các giải thuật mã hóa và giải mã
– Chỉ có 25 khóa để thử
– Biết và có thể dễ dàng nhận ra được ngôn ngữ của
nguyên bản
38. • Phương pháp vét cạn
– Khóa dài 26 ký tự
– Số lượng khóa có thể = 26! = 4 x 1026
– Rất khó thực hiện (phá mã)
Sai…???? (do đặc tính của ngôn ngữ)
• Khai thác những nhược điểm của giải thuật
– Biết rõ tần số các chữ cái tiếng Anh
• Có thể suy ra các cặp chữ cái nguyên bản - chữ cái bản mã
• Ví dụ : chữ cái xuất hiện nhiều nhất có thể tương ứng với 'e'
– Có thể nhận ra các bộ đôi và bộ ba chữ cái
• Ví dụ bộ đôi : 'th', 'an', 'ed'
• Ví dụ bộ ba : 'ing', 'the', 'est'
41. • Cho bản mã
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
it was disclosed yesterday that several informal but
direct contacts have been made with political
representatives of the viet cong in moscow
(1) Tính tần số xuất hiện chữ cái (tương đối)
(2) Đoán P là e, Z là t
Đoán ZW là th và ZWP là the
Tiếp tục đoán và thử, cuối cùng được
Phá mã
42. Tần suất xuất hiện của các ký tự trong bản mã
P 13.33 H 5.83 F 3.33 B 1.67 C 0.00
Z 11.67 D 5.00 W 3.33 G 1.67 K 0.00
S 8.33 E 5.00 Q 2.50 Y 1.67 L 0.00
U 8.33 V 4.17 T 2.50 I 0.83 N 0.00
O 7.50 X 4.17 A 1.67 J 0.83 R 0.00
M 6.67
42
Đoán P là e, Z là t
43. • Cho nội dung của một bản mã như sau:
dq lqwurgxfwlrq wr frpsxwlqj surylglqj d eurdg vxuyhb ri
wkh glvflsolqh dqg dq lqwurgxfwlrq wr surjudpplqj. vxuyhb
wrslfv zloo eh fkrvhq iurp: ruljlqv ri frpsxwhuv, gdwd
uhsuhvhqwdwlrq dqg vwrudjh, errohdq dojheud, gljlwdo
orjlf jdwhv, frpsxwhu dufklwhfwxuh, dvvhpeohuv dqg
frpslohuv, rshudwlqj vbvwhpv, qhwzrunv dqg wkh
lqwhuqhw, wkhrulhv ri frpsxwdwlrq, dqg duwlilfldo
lqwhooljhqfh.
Ví dụ (tiếp)
44. 0
0.02
0.04
0.06
0.08
0.1
0.12
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
Letter
Relative
Frequency
Tần suất xuất hiện các ký tự trong bản mã Tần suất xuất hiện các ký tự trong tiếng anh
Phán đoán: ‘h’ tương ứng với ‘e’, và các ký tự khác d, l , q, r,
u, và w tương ứng với 6 ký tự có tần suất xuất hiện nhiều nhất
trong tiếng anh
45. • Sau khi phán đoán thì kết quả của bản khôi phục là:
an intro???tion to ?o?p?tin? pro?i?in? a ?roa? ??r?e?
o? t?e ?i??ip?ine an? an intro???tion to pro?ra??in?.
??r?e? topi?? ?i?? ?e ??o?en ?ro?: ori?in? o?
?o?p?ter?, ?ata repre?entation an? ?tora?e, ?oo?ean
a??e?ra, ?i?ita? ?o?i? ?ate?, ?o?p?ter ar??ite?t?re,
a??e???er? an? ?o?pi?er?, operatin? ???te??, net?or??
an? t?e internet, t?eorie? o? ?o?p?tation, an? arti?i?ia?
inte??i?en?e.
46. • Là một hệ mã hóa nhiều chữ
– Giảm bớt tương quan cấu trúc giữa bản mã và nguyên
bản bằng cách mã hóa đồng thời nhiều chữ cái của
nguyên bản
• Phát minh bởi Charles Wheatstone vào năm 1854, lấy tên
người bạn Baron Playfair
• Sử dụng 1 ma trận chữ cái 5x5 xây dựng trên cơ
sở 1 từ khóa
– Điền các chữ cái của từ khóa (bỏ các chữ trùng)
– Điền nốt ma trận với các chữ khác của bảng chữ cái
– I và J chiếm cùng một ô của ma trận
47. • Ví dụ ma trận với từ khóa MONARCHY
• Nguyên tắc mã hóa với 2 chữ cái một lúc
– Nếu 2 chữ giống nhau tách ra bởi 1 chữ điền thêm
– Nếu 2 chữ nằm cùng hàng thay bởi các chữ bên phải
– Nếu 2 chữ nằm cùng cột thay bởi các chữ bên dưới
– Các trường hợp khác, mỗi chữ cái được thay bởi chữ cái
khác cùng hàng, trên cột chữ cái cùng cặp
M O N A R
C H Y B D
E F G I/J K
L P Q S T
U V W X Z
48. Sử dung bảng ma trận mã như sau:
C H A R L
E S B D F
G I/J K M N
O P Q T U
V W X Y Z
Mã hóa bản tin gốc:
THE SCHEME REALLY WORKS
Ví dụ mã hóa
49. • Bản gốc được chia các các nhóm 2 ký tự, theo
quy tắc:
– Bỏ qua ký tự cách
– Sử dụng ký tự ‘X’ để chèn vào giữa cặp ký tự giống
nhau
– Sử dụng ký tự ‘X’ để chèn vào cặp ký tự cuối cùng
THE SCHEME REALLY WORKS
TH ES CH EM ER EA LX LY WO RK SX
Bản rõ:
Ví dụ mã hóa
50. C H A R L
E S B D F
G I/J K M N
O P Q T U
V W X Y Z
• TH -> PR
• ES -> SB
• CH -> HA
• EM -> DG
• ER -> DC
• EA -> BC
• LX -> AZ
• LY -> RZ
• WO -> VP
• RK -> AM
• SX -> BW
Ví dụ mã hóa Bảng ma trận mã
Nếu 2 chữ nằm cùng hàng thay bởi các chữ
bên phải
Nếu 2 chữ nằm cùng cột thay bởi các chữ bên
dưới
Các trường hợp khác, mỗi chữ cái được thay bởi
chữ cái khác cùng hàng, trên cột chữ cái cùng cặp
Các quy tắc:
51. Với bản tin gốc:
Bản mã sẽ được xác định là:
Ví dụ mã hóa
52. • An ninh đảm bảo hơn nhiều hệ mã hóa đơn chữ
• Có 26 x 26 = 676 cặp chữ cái
– Việc giải mã từng cặp khó khăn hơn
– Cần phân tích 676 tần số xuất hiện thay vì 26
• Từng được quân đội Anh, Mỹ sử dụng rộng rãi
• Bản mã vẫn còn lưu lại nhiều cấu trúc của nguyên bản
• Vẫn có thể phá mã được vì chỉ có vài trăm cặp chữ cái
cần giải mã
53. • Mã Hill sử dụng phép nhân ma trận để mã hóa m ký
tự của bản rõ.
• Mã hóa với ma trận khóa K, có kích thước tối đa là
26x26 (tương ứng với m = 26, số ký tự chữ cái)
• Việc giải mã được thực hiện tương tự nhưng đối với
ma trận nghịch đảo của ma trận khóa K
Herbert Yardley wrote The American Black Chamber
Mã hóa với bản tin gốc:
54. (1) Phân chia bản tin gốc thành các cặp 2 ký tự (m = 2):
(2) Chuyển đổi các ký tự thành các giá trị số:
Giả thiết, sử dụng ma trận khóa:
12
05
07
03
K
he rb er ty ar dl ey wr ot et he am er ic an bl ac kc ha mb er
8 5 18 2 5 18 20 25 1 18 4 12 5 25
23 18 15 20 5 20 8 5 1 13 5 18 9 3
1 14 2 12 1 3 11 3 8 1 13 2 5 18
Ví dụ
55. 3 7 8 59
5 12 5 100
Với cặp ký tự bản tin đầu tiên: (h (8) e (5)),
Xác định cặp ký tự mã tương ứng bằng việc nhân ma
trận.
Do kết quả lớn hơn 26, nên cần chia lấy dữ (mod) cho 26
59 7
mod26
100 22
Giá trị của chuỗi ký tự mã là G (7) V (22).
Ví dụ
56. Cho ma trận khóa
Bản gốc: w = LONDON
Bản mã: MZVQRB
1
17
,
16
21
,
25
12
13
14
,
3
13
,
14
11
ON
ND
LO
ON
ND
LO
Kc
Kc
Kc
c
c
c
16
9
11
17
1
1
7
4 1
K
K
Ví dụ
57. • Là một hệ mã hóa đa bảng
– Sử dụng nhiều bảng mã hóa
– Khóa giúp chọn bảng tương ứng với mỗi chữ cái
• Kết hợp 26 hệ Ceasar (bước dịch chuyển 0 - 25)
– Khóa K = k1k2...kd gồm d chữ cái sử dụng lặp đi lặp lại với các chữ cái
của văn bản
– Chữ cái thứ i tương ứng với hệ Ceasar bước chuyển i
• Ví dụ
– Khóa : deceptivedeceptivedeceptive
– Nguyên bản : wearediscoveredsaveyourself
– Bản mã : ZICVTWQNGRZGVTWAVZHCQYGLMGJ
58. • Phá mã bằng phương pháp vét cạn
– Khó thực hiện, nhất là nếu khóa gồm nhiều chữ cái
• Khai thác những nhược điểm của giải thuật
– Cấu trúc của nguyên bản được che đậy tốt hơn hệ Playfair
nhưng không hoàn toàn biến mất
– Chỉ việc tìm độ dài khóa sau đó phá mã từng hệ Ceasar
– Cách tìm độ dài khóa
• Nếu độ dài khóa nhỏ so với độ dài văn bản, có thể phát hiện
1 dãy văn bản lặp lại nhiều lần
• Khoảng cách giữa 2 dãy văn bản lặp là 1 bội số của độ dài
khóa
• Từ đó suy ra độ dài khóa
59. Mã hóa bản tin “She is listening” sử dụng 6 ký tự khóa “PASCAL”.
Ví dụ:
Thiết lập dạng số của khóa là (15, 0, 18, 2, 0, 11). Chuỗi khóa
được lặp lại (nhiều lần) tương ứng với các cặp ký tự bản tin tiếp
theo (nếu cần)
61. Trong trường hợp m = 1 (mã hóa đơn ký tự bản tin), thì
bảng mã Vigenere được xác định như sau:
62. • Vigenère đề xuất từ khóa không lặp lại mà được gắn
vào đầu nguyên bản
– Nếu biết từ khóa sẽ giải mã được các chữ cái đầu tiên
– Sử dụng các chữ cái này làm khóa để giải mã các chữ các
tiếp theo,...
• Ví dụ :
– Khóa : deceptivewearediscoveredsav
– nguyên bản : wearediscoveredsaveyourself
– Mã hóa : ZICVTWQNGKZEIIGASXSTSLVVWLA
• Vẫn có thể sử dụng kỹ thuật thống kê để phá mã
– Khóa và nguyên bản có cùng tần số các chữ cái
63. • Che đậy nội dung văn bản bằng cách sắp xếp lại trật tự các
chữ cái
• Không thay đổi các chữ cái của nguyên bản
• Bản mã có tần số xuất hiện các chữ cái giống như nguyên
bản
64. • Viết các chữ cái theo đường chéo trên một số hàng
nhất định
• Sau đó đọc theo từng hàng một
• Ví dụ
– Nguyên bản : Meet me at the park
– Mã hóa với độ cao hàng rào là 2
– Bản mã : MEMATEAKETETHPR
65. • Viết các chữ cái theo hàng vào 1 số cột nhất định
• Sau đó hoán vị các cột trước khi đọc theo cột
• Khóa là thứ tự đọc các cột
• Ví dụ
– Khóa : 4 3 1 2 5 6 7
– Nguyên bản : a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
– Bản mã :
TTNAAPTMTSUOAODWCOIXKNLYPETZ
66. Mã hóa tích hợp
• Các hệ mã hóa thay thế và hoán vị không an toàn vì
những đặc điểm của ngôn ngữ
• Kết hợp sử dụng nhiều hệ mã hóa sẽ khiến việc phá
mã khó hơn
– Hai thay thế tạo nên một thay thế phức tạp hơn
– Hai hoán vị tạo nên một hoán vị phức tạp hơn
– Một thay thế với một hoán vị tạo nên một hệ mã hóa phức
tạp hơn nhiều
• Là cầu nối từ các hệ mã hóa cổ điển đến các hệ mã
hóa hiện đại
67.
68. Mã hóa khối
• So với mã hóa luồng
– Mã hóa khối xử lý thông báo theo từng khối
– Mã hóa luồng xử lý thông báo 1 bit hoặc 1 byte mỗi lần
• Giống như thay thế các ký tự rất lớn ( 64 bit)
– Bảng mã hóa gồm 2n đầu vào (n là độ dài khối)
– Mỗi khối đầu vào ứng với một khối mã hóa duy nhất
• Tính thuận nghịch
– Độ dài khóa là n x 2n bit quá lớn
• Xây dựng từ các khối nhỏ hơn
• Hầu hết các hệ mã hóa khối đối xứng dựa trên cấu
trúc hệ mã hóa Feistel
69. Mạng S-P
• Mạng thay thế (S) - hoán vị (P) đề xuất bởi Claude
Shannon vào năm 1949
• Là cơ sở của các hệ mã hóa khối hiện đại
• Dựa trên 2 phép mã hóa cổ điển
– Phép thay thế : Hộp S
– Phép hoán vị : Hộp P
• Đan xen các chức năng
– Khuếch tán : Hộp P (kết hợp với hộp S)
• Phát tỏa cấu trúc thống kê của nguyên bản khắp bản mã
– Gây lẫn : Hộp S
• Làm phức tạp hóa mối quan hệ giữa bản mã và khóa
71. Hộp P
Lưu ý : Hộp P có tính thuận nghịch
Đầu vào
4 bit
1
1
0
1
1
0
1
1
1
1
0
1
1
0
1
1
72. Mã hóa Feistel
• Đề xuất bởi Horst Feistel dựa trên khái niệm hệ mã
hóa tích hợp thuận nghịch của Shannon
• Phân mỗi khối dài 2w bit thành 2 nửa L0 và R0
• Xử lý qua n vòng
• Chia khóa K thành n khóa con K1, K2,..., Kn
• Tại mỗi vòng i
– Thực hiện thay thế ở nửa bên trái Li-1 bằng cách XOR nó
với F(Ki, Ri-1)
– F thường gọi là hàm chuyển đổi hay hàm vòng
– Hoán vị hai nửa Li và Ri
73. Nguyên bản (2w bit)
w bit w bit
L
0
R0
Vòng 1
K1
L1 R1
F
+
Kn
Ln Rn
F
+
Vòng n
. . . . . .
Ln+1 Rn+1
Bản mã (2w bit)
74. Các đặc trưng hệ Feistel
• Độ dài khối
– Khối càng lớn càng an ninh (thường 64 bit)
• Độ dài khóa
– Khóa càng dài càng an ninh (thường 128 bit)
• Số vòng
– Càng nhiều vòng càng an ninh (thường 16 vòng)
• Giải thuật sinh mã con
– Càng phức tạp càng khó phá mã
• Hàm vòng
– Càng phức tạp càng khó phá mã
• Ảnh hưởng đến cài đặt và phân tích
75. Giải mã Feistel
• Giống giải thuật mã hóa, chỉ khác
– Bản mã là dữ liệu đầu vào
– Các khóa con được dùng theo thứ tự ngược lại
• Tại mỗi vòng kết quả đầu ra chính là các dữ liệu
đầu vào của quá trình mã hóa
– Đối với quá trình mã hóa
• Li = Ri-1
• Ri = Li-1 F(Ri-1, Ki)
– Đối với quá trình giải mã
• Ri-1 = Li
• Li-1 = Ri F(Li, Ki)
76.
77. 3.77
3.3.2 Keyed Transposition Ciphers
The keyless ciphers permute the characters by using writing plaintext in one way and reading
it in another way The permutation is done on the whole plaintext to create the whole
ciphertext. Another method is to divide the plaintext into groups of predetermined size,
called blocks, and then use a key to permute the characters in each block separately.
78. 3.78
3.3.2 Continued
Alice needs to send the message “Enemy attacks tonight” to Bob..
Example 3.25
The key used for encryption and decryption is a permutation key,
which shows how the characters are permuted.
The permutation yields
80. 3.80
Figure 3.22 Encryption/decryption keys in transpositional ciphers
3.3.3 Continued
Keys
In Example 3.27, a single key was used in two directions for the
column exchange: downward for encryption, upward for decryption.
It is customary to create two keys.
82. 3.82
3.3.3 Continued
Using Matrices
We can use matrices to show the encryption/decryption process for a
transposition cipher.
Figure 3.24 Representation of the key as a matrix in the transposition cipher
Example 3.27
83. 3.83
Figure 3.24 Representation of the key as a matrix in the transposition cipher
3.3.3 Continued
Figure 3.24 shows the encryption process. Multiplying the 4 × 5
plaintext matrix by the 5 × 5 encryption key gives the 4 × 5 ciphertext
matrix.
Example 3.27