Tải bản đầy đủ (.ppt) (38 trang)

KHẢO SÁT CÁC HỆ MÃ HÓA THÔNG DỤNG 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 (305.35 KB, 38 trang )


I. TỔNG QUAN VỀ MÃ HÓA
I.1 Những khái niệm cơ bản trong mã
hóa .
I.2 Mã khóa bí mật (Symmetric/secret
key cryptography).
I.3 Mã Hóa Công Khai
(Asymmetic/public key cryptography)
II. MÃ KHÓA BÍ MẬT
II.1 Mã Ceasar.
II.2 Mã biến đổi Aphin

Chương 3 :
KHẢO SÁT CÁC HỆ MÃ HÓA THÔNG DỤNG
TỔNG QUAN VỀ MÃ HÓA
1
2
3
Những khái niệm cơ bản trong mã hóa
Mã khóa bí mật (Symmetric/secret key cryptography)
Mã Hóa Công Khai (Asymmetic/public key cryptography)

Những khái niệm cơ bản trong mã hóa

Mã hóa (Encryption) là quá trình chuyển dử liệu
dưới dạng bình thường (Plaintext) sang dạng không thể
đọc hoặc không thể hiểu (Ciphertext).
Ví dụ mã hóa đơn giản :
Bảng chữ cái gồm: "ABCDEFGHIJKLMNOPQRSTUVXYZ "
Ta có câu sau : KY THUAT MA HOA CO BAN
Theo quy tắc tất cả các ký tự đều bị thay thế bằng ký tự thứ 4 phía trước


nó trong bảng chữ cái như : K => G, Y => T, " " => V
Sau khi mã hóa sẽ có được chuỗi: GYPDQXPIXDKXZKYXJ
Rõ ràng đọc chuỗi này các Bạn sẽ không hiểu được nội dung là gì
nếu không có khóa để giải mã.

Giải mã (Decryption) là quá trình chuyển dữ liệu
từ dạng mã hóa trở về dạng ban đầu.
Với ví du trên ta làm ngược lại tất cả các ký tự đều được thay thế
bằng ký tự thứ 4 phía sau nó trong bảng chữ cái ta được thông tin ban đầu
là : KY THUAT MA HOA CO BAN


Thuật toán mã dịch (Cryptographic
algorithm/cipher) là những chương trình tính toán
dùng để mã hóa và giải mã thông tin.
Những khái niệm cơ bản trong mã hóa

Khóa (Cryptographic key/key) là một mẫu
(phần) thông tin đặc biệt được kết hợp với một
thuật toán để thi hành mã hóa và giải mã. Mỗi khóa
khác nhau có thể "chế tạo" ra các văn bản mã hóa
khác nhau, và nếu bạn không chọn đúng khóa thì
không tài nào mở được dữ liệu đã mã hóa trên,
cho dù biết được mã hóa văn bản trên dùng thuật
toán gì. Sử dụng khóa càng phức tạp, mã hóa càng
mạnh.

Những khái niệm cơ bản trong mã hóa
Ví dụ
Dùng khóa sau để mã hóa nội dung bức thư, khóa như sau:

"thay thế mỗi ký tự xuất hiện trong bức thư bằng ký tự thứ 3 đứng sau
nó." Cùng thuật toán dạng trên nhưng lần này sử dụng một khóa khác
như sau "thay thế mỗi ký tự xuất hiện trong bức thư bằng ký tự đứng
trước nó 2 ký tự" và như vậy kết quả của hai bức thư cùng nội dung
sau khi sử dụng 2 keys khác nhau sẽ là khác nhau

Những khái niệm cơ bản trong mã hóa

Hệ thống mã dịch (Cryptosustem) là hệ thống
đảm nhiệm vai trò mã hóa và giải mã thông tin.

Mã khóa bí mật (Symmetic/secret key
cryptography) là phương pháp mã hóa dùng cùng một
khóa cho cả hai quá trình mã hóa và giải mã.

Mã hóa công khai (Asymmetic/public key
cryptography) là phương pháp mã hóa dùng khóa mã
hóa khác với khóa giải mã.

Những khái niệm cơ bản trong mã hóa
Người gửi Người nhận
Mã hóa Giải mã
Khóa Khóa
Bản rõ Bản mã
Ta có thể mô tả một hệ thống mã hóa theo sơ đồ sau:
II.1 Mô hình một hệ thống mã
dịch

Chương 3 :
KHẢO SÁT CÁC HỆ MÃ HÓA THÔNG DỤNG

TỔNG QUAN VỀ MÃ HÓA
1
2
3
Những khái niệm cơ bản trong mã hóa
Mã khóa bí mật (Symmetric/secret key cryptography)
Mã Hóa Công Khai (Asymmetic/public key cryptography)

Mã khóa bí mật (Symmetric/secret key cryptography)
Mã hóa Giải mã
Khóa Khóa

II.1 Sơ dồ hệ thống mật mã bí
mật
Bản rõ Bản mã
Chia sẽ chung khóa bí mật
Người gửi Người nhận

Mã hóa với khóa bí mật chỉ dùng chung khóa
cho cả quá trình mã hóa và giải mã. Yếu tố bí mật nằm
ở chổ phải giữ bí mật thong tin khóa đảm bảo không ai
giải mã được thông điệp.
Mã hóa và giải mã dùng khóa bí mật có thể biểu
diễn bằng hai hàm sau:
Mã hóa: E (K,P) = C
Giải mã: D (K,C) = P
Trong đó:
E là giải thuật mã hóa
D là giải thuật giải mã
K là khóa chung

P là thông điệp ban đầu
C là thông điệp đã mã hóa
Mã khóa bí mật (Symmetric/secret key cryptography)

Mã khóa bí mật (Symmetric/secret key cryptography)
Ví dụ 1:
SKC với nguyên tắc dời một vị trí :
Nội dung gốc : “Hello everybody”
Mã hóa : dời nội dung sang phải - Key = 1
 “Lfmmp fxfsacpea”
Giải mã : dời nội dung sang trái - Key = 1
 “Hello everybody”

Ngày xưa, khi chưa có máy tính, người ta đã
vận dụng phương pháp mã hoá đối xứng bằng một
miếng bìa có đục lỗ theo ý của người viết mã (đóng
vai trò là key), áp miếng bìa lên một mặt giấy, các kí
tự từ văn bản gốc sẽ lần lượt được ghi lên giấy qua
các lỗ hổng, sau khi hoàn tất, các khoảng trống trên
mặt giấy sẽ được điền các kí tự ngẫu nhiên. Có thể
nhận xét ngay, việc giải mã thông tin đó hầu như là
không thể nếu không có miếng bìa (key) để tra ngược
lại.
Mã khóa bí mật (Symmetric/secret key cryptography)
Ví dụ 2:

Yêu cầu quan trọng nhất đối với phương pháp
mã khóa bí mật là sự an toàn của hệ thống chỉ phụ
thuộc vào sự an toàn thông tin khóa chứ không phụ
thuộc vào hàm mã hóa hay giải mã. Nghĩa là phải dùng

cách an toàn và tin cậy để gửi bản sao khóa cho người
nhận để họ có thể giải mã thông điệp. Không thể gửi
khóa cùng với thông điệp nguồn vì như vậy bất kì ai
chăn được thông điệp sau đó sẽ biết cách giải mã.
Mã khóa bí mật (Symmetric/secret key cryptography)

Mã khóa bí mật (Symmetric/secret key cryptography)
Giải thuật mã khóa bí mật có thể được công
khai mà không làm giảm tính an toàn của hệ thống vì
đều quan trọng là bảo mật khóa chứ không phải là
bảo mật giải thuật. Yêu cầu này cũng đòi hỏi cả giải
thuật mã hóa lẫn giải mã đều phải thật mạnh để
không thể tìm ra bản rõ từ bản mã thông qua giải
thuật mã hóa nếu không biết thông tin khóa. Thêm
nửa hàm mã khóa và giải mã phải dể sữ dụng và hiệu
quả cho tất cả các khóa được dùng.
Kích thước khóa trong mã khóa bí mật rất quan
trọng. Khóa càng dài tính an toàn càng cao vì khi đó
việc bẻ khóa rất khó khăn

Mã khóa bí mật (Symmetric/secret key cryptography)
Một số thuật toán nổi tiếng thường sử dụng
trong mã hóa bí mật :

DES (Data Encryption Standard).

AES (Advance Encryption Standard)

3DSA (Triple DES)


Chương 3 :
KHẢO SÁT CÁC HỆ MÃ HÓA THÔNG DỤNG
TỔNG QUAN VỀ MÃ HÓA
1
2
3
Những khái niệm cơ bản trong mã hóa
Mã khóa bí mật (Symmetric/secret key cryptography)
Mã Hóa Công Khai (Asymmetic/public key cryptography)

Mã Hóa Công Khai (Asymmetic/public key cryptography)
Hàm Một Chiều :
Khái niệm hàm một chiều là trung tâm của
mã khóa công khai. Hàm một chiều f là hàm sao
cho với mỗi x thuộc miền xác định của nó ta dể
tính được f(x), nhưng với mọi y từ miền giá trị của
hàm thì việc tìm x sao cho y = f(x) là hầu như không
thể tính được.

Mã Hóa Công Khai (Asymmetic/public key cryptography)
Ví Dụ: Các hàm sao là một chiều:
[1] f : pq  n là hàm một chiều với p là các số nguyên
tố lớn.thực vậy,ta có thể dể thực hiện phép nhân
pq(độ phức tạp đa thức); nhưng tính f
-1
thì lại là bài
toán cực khó(đây chính là bài toán nổi tiếng phân tích
ra thừa số nguyên tố - độ phức tạp mũ)

Mã Hóa Công Khai (Asymmetic/public key cryptography)

[2] fg,N : x→ g
x
mod N là hàm một chiều.
Thực vậy, phép tính gx mod N có độ phức tạp đa
thức; nhưng tính f
-1
lại là bài toán cực khó (đây
chính là bài toán nổi tiếng bài toán logarithm rời rạc).
[3] f
k,N
: x→x
k
mod N là hàm một chiều, với
N=pq, p và q là các số nguyên tố lớn, kk’ ≡ 1(mod
φ(N)). Thực vậy, phép tính x
k
mod N có độ phức tạp
đa thức, tính nhưng f
-1
cực khó. Tuy nhiên, nếu k’ có
thể dễ dàng tính được f từ tri thức ( x
k
)
k
’=x.

Mã Hóa Công Khai (Asymmetic/public key cryptography)
Mã khóa công khai được Diffie và hellman giới
thiệu năm 1976. Trong phương pháp mã hóa này, mỗi
người dùng có một khóa công khai (public key) cho

mọi người biết và một khóa riêng (private key) phải giữ
bí mật.
Để gửi một thông điệp bảo mật ta mã hóa nó
với khóa công khai(public key) của người nhận. Người
nhận sẽ giải mã thông điệp với khóa riêng (private
key) của họ. Lý thuyết thật đơn giản và sáng sửa. Tuy
nhiên việc đặt hai khóa cùng làm việc với nhau và duy
trì được sự an toàn mức cao là một vấn đề phức tạp.

Mã Hóa Công Khai (Asymmetic/public key cryptography)
Mã khóa công khai có thể được mô tả qua 2 hàm
sau:
Mã hóa: E’(X,P)=C
Giải mã: D’(Y,C)=P
Trong đó:
E’(X,P) là hàm mã hóa với khóa công khai X
D’(Y,C) là hàm giải mã với khóa riêng Y
P là thông điệp ban đầu
C là thông điệp đã mã hóa.

Khóa công
Mã hóa
Mã Hóa Công Khai (Asymmetic/public key cryptography)
Giãi mã
Khóa riêng
Người gửi Người Nhận
Bản mã
II.3 Sơ đồ hệ thống mật mã công khai.

Mã Hóa Công Khai (Asymmetic/public key cryptography)

Ví dụ :

Mã Hóa Công Khai (Asymmetic/public key cryptography)
Hình minh hoạ ở trên cho chúng ta thấy
được quá trình truyền tin an toàn dựa vào hệ thống
mã hoá khoá công khai. Quá trình truyền và sử
dụng mã hoá khoá công khai được thực hiện như
sau:
- Bên gửi yêu cầu cung cấp hoặc tự tìm khoá công
khai của bên nhận trên một server chịu trách nhiệm
quản lý khoá.

- Sau đó hai bên thống nhất thuật toán dùng để mã
hoá dữ liệu, bên gửi sử dụng khoá công khai của
bên nhận cùng với thuật toán đã thống nhất để mã
hoá thông tin được gửi đi.
- Khi nhận được thông tin đã mã hoá, bên nhận sử
dụng khoá bí mật của mình để giải mã và lấy ra
thông tin ban đầu.
Mã Hóa Công Khai (Asymmetic/public key cryptography)

×