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
4
khoá quyết định hiệu quả của các hàm mã hoá và giải mã, vì vậy các hàm mã hoá
và giải mã có thể đợc biểu diễn nh sau:
Ek(P) = C
Dk(C) = P
Một cách cụ thể hơn, một hệ mã hoá bao gồm: một không gian bản rõ, một
không gian bản mã và một không gian khoá.
- Không gian bản rõ có thể * trên bảng chữ cái hoặc tập hợp tất cả các
câu có nghĩa trong một ngôn ngữ tự nhiên nào đó.
- Không gian bản mã có thể là * trên bảng chữ cái .
- Không gian khoá K là giới hạn có thể nhận đợc của khoá k. Mỗi khoá sẽ
xác định một cặp các ánh xạ Ek và Dk tơng ứng.
Trong một hệ mã hoá nếu khoá để mã và khoá để giải giống nhau thì:
Dk(Ek(P))=P
Bản rõ
Mã hoá
Bản mã
Giải mã
Bản rõ
Khoá
Hình 1. Mã hoá với khoá mã và khoá giải giống nhau
Có nhiều thuật toán mà khoá mã và khoá giải khác nhau. Khi đó, khoá mã k 1 khác
với khoá giải k2:
Ek1(P)=C
Dk2(C)=P
Nguyn Th Thu Hin - TK6LC1
An ton v bo mt thụng tin
5
Dk2(Ek1(P))=P
Bản rõ
Mã hoá
Khoá mã
Bản mã
Giải mã
Bản rõ
Khoá giải
Hình 2. Mã hoá với khoá mã và khoá giải khác nhau
Nguyn Th Thu Hin - TK6LC1
An ton v bo mt thụng tin
6
Phần ii: Các phơng pháp mã hóa cổ điển
I. Hệ mã hoá thay thế (Substitution Cipher)
Hệ mã hoá thay thế là hệ mã hoá trong đó mỗi ký tự của bản rõ đợc thay thế
bằng ký tự khác trong bản mã (có thể là một chữ cái, một số hoặc một ký hiệu). Sự
thay thế này làm cho bản rõ trở lên khó hiểu đối với mọi ngời nhng ngời nhận sẽ
đảo sự thay thế trong bản mã để đợc bản rõ.
Có 4 kỹ thuật thay thế sau đây:
- Thay thế đơn (A simple substitution cipher): là hệ trong đó một ký tự
của bản rõ đợc thay bằng một ký tự tơng ứng trong bản mã. Một ánh xạ 1-1 từ bản
rõ tới bản mã đợc sử dụng để mã hoá toàn bộ thông điệp.
- Thay thế đồng âm (A homophonic substitution cipher): giống nh hệ
thống mã hoá thay thế đơn, ngoại trừ một ký tự của bản rõ có thể đợc ánh xạ tới
một trong số một vài ký tự của bản mã: sơ đồ ánh xạ 1-n (one-to-many). Ví dụ, A
có thể tơng ứng với 5, 13, 25, hoặc 56, B có thể tơng ứng với 7, 19, 31, hoặc 42,
v.v.
- Thay thế đa mẫu tự (A polyalphbetic substitution cipher): đợc tạo nên từ
nhiều thuật toán mã hoá thay thế đơn. ánh xạ 1-1 nh trong trờng hợp thay thế đơn,
nhng có thể thay đổi trong phạm vi một thông điệp. Ví dụ, có thể có năm thuật toán
mã hoá đơn khác nhau đợc sử dụng; đặc biệt thuật toán mã hoá đơn đợc sử dụng
thay đổi theo vị trí của mỗi ký tự trong bản rõ.
- Thay thế đa sơ đồ (A polygram substitution cipher): là thuật toán trong
đó các khối ký tự đợc mã hoá theo nhóm. Đây là thuật toán tổng quát nhất, cho
phép thay thế các nhóm ký tự của văn bản gốc. Ví dụ, ABA có thể tơng ứng với
RTQ, ABB có thể tơng ứng với SLL, v.v.
Ví dụ ROT13 là một chơng trình mã hoá đơn giản thờng thấy trên hệ thống
UNIX. Trong thuật toán mã hoá này, A đợc thay thế bằng N, B đợc thay thế bằng
O, v.v... Mọi ký tự đợc quay dịch 13 vị trí. Đây là một ví dụ về mã hoá thay thế
đơn.
Nguyn Th Thu Hin - TK6LC1
An ton v bo mt thụng tin
7
#include
void main()
{
int c;
while ((c == getchar()) != EOF)
{
if (c >= a && c <= m)
c = c + 13;
else
if (c >= n && c <= z)
c = c 13;
else
if (c >= A && c <= M)
c = c + 13;
else
if (c >= N && c <= Z)
c = c-13;
putchar(c);
}
}
Mã hoá một file hai lần bằng ROT13 và lu giữ kết quả trong file gốc:
P = ROT13(ROT13(P))
Có rất nhiều hệ mã hoá có thể dễ dàng bẻ gẫy bởi vì bản mã không ẩn đi đợc
tần số xuất hiện của các ký tự khác nhau của bản rõ, khoảng 26 ký tự tiếng Anh.
Một nhà thám mã giỏi có thể xây dựng lại đợc bản rõ.
Nguyn Th Thu Hin - TK6LC1