Tải bản đầy đủ (.doc) (9 trang)

CÁC PHƯƠNG PHÁP MÃ HÓA.DOC

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 (72.7 KB, 9 trang )

Chơng II : Các phơng pháp m hoáã
I. phơng pháp m hoá cổ điển :ã
a. Phơng pháp đổi chỗ :
Phơng pháp này thay đổi các vịt trí các ký tự trong xâu văn bản gốc để tạo
ra văn bản mật mã. Có thể sử dụng các kỹ thuật sau:
- Đảo ngợc toàn bộ văn bản gốc để tạo thành văn bản mật mã, phơng pháp
này độ an toàn không cao.
- Mã hóa theo hình học : Theo cách này văn bản gốc đợc sắp xếp lại theo
một mẫu hình học nào đó, thơng là một mảng hoặc một ma trận hai chiều.
- Đổi chỗ các cột : Trớc hết đổi chỗ ký tự trong văn bản gốc thành hình chữ
nhật theo các cột, sau đó các cột đợc sắp xếp lại và các chữ lấy ra ở chiều
ngang.
- Hoán vị các ký tự của văn bản gốc theo chu kỳ cố định D nào đó : Nếu
hàm F là một hàm hoán vị gồm D ký tự thì khoá mã hoá đợc biểu diễn bởi
K(D,F).
b. Phơng pháp thay thế
Để có đợc văn bản mã hoá ngời ta thay thế mỗi ký tự trong văn bản gốc
bằng một ký tự khác nào đó (có thể là chữ cái, một số hoặc một ký hiệu nào
đó). Có thể dùng các kỹ thuật sau đây :
- Thay thế đơn giản (Simple Substitution) :
- Mỗi ký tự trong văn bản gốc đợc thay thế bằng một ký tự tơng ứng
trong văn bản mật mã:
Ví dụ : Văn bản gốc : a b c d e ......
văn bản mật mã : d e f g h ......
Mã hoá dữ liệu bằng cách lựa chọn trớc một từ khoá (Keyword) và từng ký
tự của văn bản nguồn đều đợc ghép thêm từ khoá để tạo thành văn bản mật
mã. Khi giảimã bắt buộc phải nhập đúng khoá để giải mã đúng là văn bản
gốc. Phơng pháp này phụ thuộc rấtnhiều vào bảng mã ASCII.
1
- Thay thế đồng âm (Homophonic Substitution) :
- Mỗi ký tự trong văn bản gốc đợc mã hoá với một số ký tự của văn bản


mật mã.
- Thay thế đa mẫu tự (Polyaphabetic Substitution) :
Nhiều chữ cái của văn bản mật mã đợc dùng để chuyển đổi từ văn bản gốc
sang văn bản mật mã trong trờng hợp đơn giản nhng có thể thay đổi trong
phạm vi một thông điệp.
- Thay thế đa sơ đồ (Polygram Substitution) :
- Đây là một dạng mật mã tổng quát nhất, cho phép thay thế tuỳ ý các
nhóm ký tự của văn bản gốc.
c. Phơng pháp mã khối :
Phơng pháp mã khối xuất hiện nhằm chống lại việc sử dụng tần suất của
chữ cái trong văn bản đã mã hoá để dò tìm ra khoá giải mã. Khác với các hệ
mã hoá đã trình bày, ở đay ta không phải mã hoá từng ký tự trong văn bản
gốc mà mã hoá từng khối trong văn bản gốc.
d. Phơng pháp mã XOR :
Các phơng pháp mã hoá đã trình bày ở trên đơn giản dễ cài đặt, và đã có
một cơ sở toán học để chứng minh tính đúng đắn và độ an toàn của nó, tuy
nhiên các thuật toán này chỉ áp dụng đợc với các file văn bản định dạng
trong môi trờng DOS (thờng là các file ASCII). Đối với các file văn bản định
dạng trên môi trờng Windows (thông thờng là các file nhị phân) thì các thuật
toán có thể mã hoá đợc nhng việc giải mã không thành công, vì các thuật
toán này thực hiện trên các số nguyên, đây là một hạn chế. Để khắc phục hạn
chế này thì ngời ta đã đề xuất ra một cạc mã hoá khác dựa trên tính chất của
phép toán lôgic XOR.
A B
C = A xor B
0 0 0
0 1 1
2
1 0 1
1 1 0

Nhìn vào bảng trên ta thấy A XOR B = C, và ngợc lại nếu lấy C XOR B =
A, lợi dụng tính chất này ta xem ký tự trong văn bản gốc là A, ký tự trong
xâu khoá là B và ký tự trong văn bản mã hoá là C. Rõ ràng nói một cách
khác là ta dễ dàng XOR nội dung trong file A với khoá B để đợc file mã hoá
C, khi giải mã C thì ta thực hiện XOR nội dung của file C cùng với khoá B
để đợc file A (file gốc). Điều này thoả mãn các yêu cấu của mã hoá dữ liệu :
dùng một khoá để mã hoá và giải mã đợc. Đặc biệt phép XOR thực hiện trên
các bít dữ liệu nên thuật toán này có thể áp dụng cho các file nhị phân và file
văn bản.
Thực chất đây là bớc cỉa tiến của phép thay thế, thay vì thay thế ký tự trong
văn bản gốc theo một cách nào đó ở đay ta XOR từng ký tự trong văn bản
gốc vơí từng ký tự tơng ứng trong xâu ký tự ta dùng làm khoá để dợc xâu văn
bản mã hoá, vì số ký tự trong xâu khoá nhỏ hơn nhiều so với ký tự của văn
bản gốc vì vậy ta sẽ cắt văn bản gốc ra làm nhiều khối có kích thớc vừa đúng
bằng khoá và ta mã hoá theo từng khối đó để cho ta một file mã hoá. Quá
trình giải mã cũng đợc thực hiện tơng tự.
e. Phơng pháp hệ mật DES (Data Encryption Standard) :
Phơng pháp chuẩn DES đợc văn phòng tiêu chuẩn của Mỹ (U.S National
Bereau of Standards) công bố năm 1971 để sử dụng trong các cơ quan chính
phủ liên bang. Giải thuật mã hoá đợc phát hiện tại công ty IBM dựa trên mật
mã LUCIFER của Feistel.
Giải thuật DES mã hoá theo từng khối dữ liệu 64bít. Do đó một tin đầy đủ
trớc tiên đcợ phân thành từng khối 64 bít, sau đó dùng bộ khoá 56 bít để mã
hoá thành các khối văn bản mã 64 bít và truyền đi trên mạng. Ngời nhận tin
dùng cùng một khoá để giải mã từng khối 64 bít văn bản mật mã để nhận lại
bản tin gốc.
Thuật toán của phơng pháp mã hoá DES:
3
- Thực hiệnhoán vị kế tiếp 16 lần trên 56 bít khoá để đợc 16 khoá con, mỗi
khoá 48 bít. Các khoá con đợc tạo nh sau :

- Thực hiện phép toán hoán vị cố định trên 56 bít khoá.
- Kết quả đợc phân thành hai nửa 28 bít.
- Hai nửa này đợc quay trái 16 lần (bằng số khoá con ) độc lập với
nhau và hợp thành 56 bít để chuẩn bị cho lần tạo khoá con tiếp theo.
- Hai nửa này đợc quay trái 16 lần (bằng số khoá con ) độc lập với
nhau và hợp thành 56 bít để chuẩn bị cho lần tạo khoá con tiếp theo.
- Chọn ra 48 bít để đa vào mã hoá với 64 bít dữ liệu.
+ Quá trình mã hoá đợc chia thành các bớc:
- Hoán vị đơn giản 64 bít văn bản gốc, dùng một phép hoán vị nào đó.
- 16 bít kết qủa ở trên sẽ đợc thực hiện lặp 16 lần, ở mỗi lần thuật toán
thực hiện phép XOR 64 bít kết quả mỗi lần lặp trớc 48 bít khoá để thực
hiện đợc 64 bít kết quả, để chuẩn bị cho lần lặp kế tiếp.
- 64 bít kết quả của lần lặp cuối cùng (lần thứ 16 ) sẽ đợc hoán đổi nh
sau : 32 bít cao sẽ đợc thay bằng 32 bít thấp.
- Thực hiện hoán vị 64 bít vừa hoán đổi ở trên nh ở bớc một.
- Quá trình giải mã đợc thực hiện hoàn toàn ngợc lại :
Thuật toán DES thực hiện trên các bít do đó cả khoá và văn bản gốc trớc
hết phải đợc chuyển đổi thành các số nhị phân.
Thuật toán DES mắc phải nhợc điểm chung của hệ mật mã cổ điển là
không an toàn dễ bị lộ khoá, nhng thuật toán dùng khoá có độ dài 48 bít nên
độ phức tạp cao hơn. Đặc biệt thuật toán thực hiện trên số nhị phân nên tốc
độ mã hoá của nó khá cao và nó có thể áp dụng đợc cho cả file nhị phân và
file văn bản. Hiện nay phơng pháp mã hoá theo thuật toán DES đợc sử dụng
nhiều nhất.
II. Giới thiệu về mật m khoá công khaiã
4
1. Giới thiệu về các hệ mật sử dụng khoá mật.
Trong mô hình mật mã cổ điển mà cho tới nay vẫn còn đang đợc
nghiên cứu Alice ( ngời gửi) và Bob (ngời nhận) bằng cách chọn một
khoá bí mật K. Sau đó Alice dùng khoá K để mã hoá theo luật e

K
và Bod
dùng khoá K đó để giải mã theo luật giải d
K
. Trong hệ mật này, d
K
hoặc
giống nh e
K
hoặc dễ dàng nhận đợc từ nó vì quá trình giải mã hoàn toàn
tơng tự nh quá trình mã, nhng thủ tục khoá thì ngợc lại. Nhợc điểm lớn
của hệ mật này là nếu ta để lộ e
K
thì làm cho hệ thống mất an toàn, chính
vì vậy chúng ta phải tạo cho các hệ mật này một kênh an toàn mà kinh
phí để tạo một kênh an toàn không phải là rẻ.
2. Giới thiệu về hệ mật mã khoá công khai
ý tởng xây dựng một hệ mật khoá công khai là tìm một hệ mật không
có khả năng tính toán để xác định d
K
nếu biết đợc e
K
. Nếu thực hiện đợc
nh vậy thì quy tắc mã e
K
có thể đợc công khai bằng cách công bố nó
trong danh bạ, và khi Alice (ngời gửi) hoặc bất cứ một ai đó muốn gửi
một bản tin cho Bob (ngời nhận) thì ngời đó không phải thông tin trớc với
Bob (ngời nhận) về khoá mật, mà ngời gửi sẽ mã hoá bản tin bằng cách
dùng luật mã công khai e

K
. Khi bản tin này đợc chuyển cho Bob (ngời
nhận) thì chỉ có duy nhất Bob mới có thể giải đợc bản tin này bằng cách
sử dụng luật giải mã bí mật d
K
.
ý tởng về hệ mật khoá công khai đã đợc Diffie và Heliman đa ra vào
năm 1976. Còn việc thực hiện hệ mật khoá công khai thì lại đợc Rivest.
Shamin và Adieman đa ra đầu tiên vào năm 1977. Họ đã tạo nên hệ mật
RSA nổi tiếng. Kể từ đó đã có một số hệ mật đợc công bố, độ mật của
từng hệ dựa trên các bài toán tính toán khác nhau. Trong đó quan trọng
nhất là các hệ mật sau:
Hệ mật RSA:
5

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×