1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

III. Các cách Thám mã (Cryptanalyis) 29

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



2



Lời nói đầu

Trong các thập niên va qua vic ng dng Công ngh thông tin trong lnh vc

kinh doanh v các hot ng dân s ã thc s bùng n. Ngân hng v các t chc

ti chính lu chuyn hng t ô la mi ngy trên các h thng EFT (Electronic

Fulds Transfer: H thng chuyn tin in t). Các tập đoàn công nghiệp tiến hành

xử lý và truyền nhập các thông tin đắt giá, chẳng hạn về thiết kế hoặc giao dịch

mua bán cổ phiếu, trái phiếu và ngoại tệ với số lợng lớn đợc thực hiện thông qua

mạng máy tính. Lợng thông tin cá nhân khổng lồ ấy đợc lu trữ và xử lý bởi máy

tính. Tất cả những ví dụ trên đều cho thấy phạm vi cho những hành vi gian lận và

tình báo công nghiệp hoạt động đã trở nên vô cùng rộng lớn.

Ngày nay, với sự bùng nổ của công nghệ thông tin đặc biệt là Internet với email,

e-buissiness.. thì vấn đề bảo vệ thông tin ngày càng quan trọng quyết định sự sống

còn của 1 công ty và các vấn đề an ninh quốc phòng.

Giải pháp hiện thời cho việc bảo vệ của hều hết các quốc gia là kiểm soát lỗi và

mã hóa dữ liệu. Phơng pháp mã hóa dữ liệu xuất hiện từ hàng ngàn năm trớc và đã

có những đóng góp đáng kể trong lĩnh vực bảo mật thông tin.

Với đề tài: Xây dựng thuật toán, viết đặc tả hoặc vẽ sơ đồ cho các thuật toán

mã hóa cổ điển. Cho ví dụ minh họa, mỗi thuật toán 5 ví dụ em sẽ trình bày cụ

thể hơn về các thuật toán trong mã hóa cổ điển -một phơng pháp mã hóa xuất hiện

từ rất sớm.



Nguyn Th Thu Hin - TK6LC1



An ton v bo mt thụng tin



3



Phần i: các khái niệm cơ bản

Mã hóa cổ điển là phơng pháp mã hóa đơn giản nhất xuất hiện đầu tiên trong

lịch sử ngành mã hóa. Thuật toán đơn giản và dễ hiểu. Những phơng pháp mã hóa

này là cơ sở cho việc nghiên cứu và phát triển thuật toán mã hóa đối xứng đợc sử

dụng ngày nay. Trong mã hóa cổ điển có hai phơng pháp nổi bật là: Mã hóa thay

thế và Mã hóa hoán vị.

Các thông điệp cần chuyển đi và cần đợc bảo vệ an toàn gọi là bản rõ

(plaintext), và đợc ký hiệu là P. Nó có thể là một dòng vào các bít, các file, âm

thanh số hoá,... Bản rõ đợc dùng để lu trữ hoặc để truyền đạt thông tin. Trong mọi

trờng hợp bản rõ là thông điệp cần mã hoá.

Quá trình xử lý một thông điệp trớc khi gửi đợc gọi là quá trình mã hoá

(encryption), ký hiệu là E.

Một thông điệp đã đợc mã hoá đợc gọi là bản mã (ciphertext), và đợc ký hiệu là

C.

Quá trình xử lý ngợc lại từ bản mã thành bản rõ đợc gọi là quá trình giải mã

(decryption), ký hiệu là D.

Hàm mã hóa E thực hiện trên P để thu đợc C, ta có:

E(P)=C

Hàm giải mã D thực hiện trên C để thu đợc C, ta có:

D(C)=P

Việc mã hoá và giải mã thờng đợc thực hiện theo một hệ mã đợc mô tả rõ.

Khoá (key) là một giá trị dùng để thực hiện một thuật toán mã hoá. Khoá có thể là

một số, một xâu ký tự,... Khoá này có thể nhận một trong nhiều giá trị (càng nhiều

càng tốt). Giới hạn các giá trị có thể của khoá đợc gọi là không gian khoá (space

key). Mỗi khoá k xác định một hàm mã hoá E k và một hàm giải mã Dk. Giá trị của



Nguyn Th Thu Hin - TK6LC1



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



Xem Thêm
Tải bản đầy đủ (.doc) (39 trang)

×