Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (244.17 KB, 39 trang )
An ton v bo mt thụng tin
26
Ví dụ: bản rõ LIECHTENSTEINER đợc viết thành ma trận 3ì5 theo hàng
nh sau:
Cột
1
2
3
4
5
Bản
L
I
E
C
H
T
E
N
S
T
E
I
N
E
R
rõ
Nếu lấy các ký tự ra theo số thứ tự cột 2, 4, 1, 3, 5 thì sẽ có bản mã
IEICSELTEENNHTR.
Đổi chỗ cột: Đầu tiên đổi chỗ các ký tự trong bản rõ thành dạng hình chữ
nhật theo cột, sau đó các cột đợc sắp xếp lại và các chữ cái đợc lấy ra theo
hàng ngang
Ví dụ: bản rõ gốc là NGAY MAI BAT DAU CHIEN DICH XYZ đợc viết
dới dạng ma trận 5ì5 theo cột nh sau:
Cột
1
2
3
4
5
Bản rõ
N
A
D
I
C
G
I
A
E
H
A
B
U
N
X
Y
A
C
D
Y
M
T
H
I
Z
Vì có 5 cột nên chúng có thể đợc sắp lại theo 5!=120 cách khác nhau. Để
tăng độ an toàn có thể chọn một trong các cách sắp xếp lại đó.
Nếu ta chuyển vị các cột theo thứ tự 3, 5, 2, 4, 1 rồi lấy các ký tự ra theo
hàng ngang ta sẽ thu đợc bản mã là DCAINAHIEGUXBNACYADY HZTIM. Lu
ý rằng các ký tự cách đợc bỏ đi.
Nguyn Th Thu Hin - TK6LC1
An ton v bo mt thụng tin
27
Hạn chế của phơng pháp này là toàn bộ các ma trận ký tự phải đợc sinh để
mã hoá và giải mã.
Hoán vị các ký tự của bản rõ theo chu kỳ cố định d: Nếu hàm f là một
hoán vị của một khối gồm d ký tự thì khoá mã hoá đợc biểu diễn bởi
K(d,f).
Do vậy, bản rõ:
M = m1m2...mdmd+1...m2d
Với mi là các ký tự , và bản rõ sẽ đợc mã hoá thành:
Ek(M) = mf(1)mf(2)...mf(d)md+f(1)...md+f(d)
Trong đó mf(1)mf(2)...mf(d) là một hoán vị của m1m2...md.
Ví dụ: giả sử d=5 và f hoán vị dãy i=12345 thành f(i)=35142
Vị trí đầu
Vị trí hoán vị Từ
Mã hoá
1
3
G
O
2
5
R
P
3
1
O
G
4
4
U
U
5
2
P
R
Theo bảng trên, ký tự đầu trong khối 5 ký tự đợc chuyển tới vị trí thứ 3, ký tự
thứ hai đợc chuyển tới vị trí thứ 5,... Chẳng hạn từ gốc GROUP đợc mã hoá thành
OPGUR.
Bằng cách đó, bản rõ I LOVE BEETHOVENS MUSIC sẽ đợc chuyển thành
OEIVLEHBTEESONVSCMIU.
Hệ mã ADFGV của Đức, đợc sử dụng trong suốt chiến tranh thế giới lần thứ
I, là một hệ mã hoá đổi chỗ (có sử dụng thay thế đơn giản). Nó đợc coi là một
thuật toán mã hoá phức tạp vào thời ấy nhng nó đã bị phá bởi Georges Painvin, một
nhà thám mã ngời Pháp.
Nguyn Th Thu Hin - TK6LC1
An ton v bo mt thụng tin
28
Mặc dù có rất nhiều hệ thống mã hoá sử dụng đổi chỗ, nhng chúng rất rắc rối
bởi vì nó đòi hỏi rất nhiều bộ nhớ.
Nguyn Th Thu Hin - TK6LC1
An ton v bo mt thụng tin
29
III. Các cách Thám mã (Cryptanalyis)
Thám mã là nghệ thuật tìm lại bản thông điệp gốc bằng cách phân tích bản
mã.
Mục đích chính của mật mã là phải giữ bí mật bản rõ (hoặc khoá, hoặc cả
hai) khỏi những ngời nghe trộm (attacker). Thám mã là cần phục hồi bản rõ của
một thông điệp từ bản mã mà không có khoá. Nếu thành công, ngời phân tích mã
có thể thu đợc bản rõ hoặc khoá, hoặc cũng có thể tìm thấy điểm yếu trong một hệ
thống mã hoá. Các thuật toán sử dụng cho phần lớn các hệ thống mã hoá là nổi
tiếng, vì vậy chúng ta giả thiết rằng ngời thám mã đã biết thuật toán để bắt đầu
thám mã.
Nh vậy, vấn đề cốt yếu của một hệ mã hoá tốt là việc khôi phục bản rõ P từ
bản mã C khi biết Dk phải là khó, hoặc tốt hơn là không thể đợc.
Có 6 tình huống mà ngời thám mã có thể có khi phân tích. Trong các tình
huống đó giả sử rằng ngời thám mã đã biết thuật toán đợc dùng để mã hoá:
1.Chỉ biết bản mã (Ciphertext-only attack).
Trong trờng hợp này, ngời thám mã có bản mã của một thông điệp, và biết đợc
thuật toán đợc dùng để mã hoá. Công việc của ngời thám mã là phải tìm đợc bản rõ
của thông điệp, và tốt hơn hết là tìm ra khoá đợc sử dụng để mã hoá thông điệp, để
từ đó giải mã những thông điệp khác đợc mã hoá với cùng khoá đó.
Để việc phân tích của ngời thám mã có hiệu quả thì tốt hơn hết là bản mã phải dài.
Trong những hệ đơn giản, ví dụ nh CAESAR, một bản mã ngắn cũng đa lại kết quả
bởi vì chỉ có duy nhất một khoá đợc sử dụng để mã hoá. Trong những hệ hoàn
chỉnh hơn thì bản mã dài là cần thiết. Hiệu quả của phơng pháp phân tích có thể
dựa trên thông tin thống kê liên quan tới ngôn ngữ mà bản rõ đợc sử dụng. Ví dụ
nh thông tin về tần số xuất hiện của mỗi ký tự riêng lẻ trong tiếng Anh.
Đầu vào: C1=Ek(P1), C2=Ek(P2),... Ci=Ek(Pi)
Nguyn Th Thu Hin - TK6LC1
An ton v bo mt thụng tin
30
Cần tìm: hoặc P1, P 2,... Pi; k; hoặc một thuật toán để nhận đợc Pi+1 từ
Ci+1=Pk(Pi+1)
2.Biết bản rõ (Known-plaintext attack).
Ngời thám mã không chỉ biết bản mã của một vài thông điệp mà còn biết cả
bản rõ của những thông điệp này. Công việc của ngời thám mã là tìm ra khoá (hoặc
các khoá) đợc sử dụng để mã hoá các thông điệp hoặc thuật toán để giải mã bất kỳ
một thông điệp mới nào đợc mã hoá bằng khoá đó.
Đầu vào: P1, C1=Ek(P1), P2, C2=Ek(P2),... Pi, Ci=Ek(Pi)
Cần tìm: hoặc k, hoặc một thuật toán để nhận đợc Pi+1 từ Ek(Pi+1)
3. Lựa chọn bản rõ (Chosen-plaintext attack).
Ngời thám mã không chỉ phân tích bản mã mà còn đợc kết hợp với bản rõ
của một vài thông điệp, nhng các bản rõ không là tuỳ ý mà do ngời thám mã phải
lựa chọn. Trờng hợp này tốt hơn trờng hợp (2) đối với ngời thám mã, bởi vì ngời
thám mã có thể chọn khối bản rõ đặc trng để giải mã, nó có thể mang lại nhiều
thông tin về khoá. Công việc của ngời thám mã là tìm khoá (hoặc các khoá) đợc sử
dụng để mã hoá các thông điệp hoặc một thuật toán để giải mã bất cứ thông điệp đã
đợc mã hoá mới nào bằng các khoá đó.
Đầu vào: P1, C1=Ek(P1), P2, C2=Ek(P2),... Pi, Ci=Ek(Pi), ngời thám mã đợc chọn
P1, P2,... Pi
Cần tìm: hoặc k, hoặc một thuật toán để nhận đợc Pi+1 từ Ci+1=Ek(Pi+1)
4. Lựa chọn bản rõ thích hợp (Adaptive-chose-plaintext attack).
Đây là một trờng hợp đặc biệt của trờng hợp bản rõ đợc lựa chọn. Ngời thám mã
không chỉ có thể đợc lựa chọn bản rõ mà nó đã đợc mã hoá, mà họ còn có thể biến
đổi những điểm cần thiết dựa trên kết quả của những lần mã hoá trớc. Với trờng
hợp bản rõ đợc lựa chọn, ngời thám mã có thể lựa chọn một khối bản rõ lớn để giải
mã; trong trờng hợp bản rõ đợc lựa chọn thích hợp họ có thể lựa chọn một khối bản
rõ nhỏ hơn sau đó lựa chọn khối khác dựa vào kết quả của khối đầu tiên, v.v...
Nguyn Th Thu Hin - TK6LC1