anhchangxibo_cm

New Member

Download miễn phí Đồ án Tìm hiểu một số thuật toán mã hóa dữ liệu và ứng dụng





MỤC LỤC
LỜI CẢM ƠN
MỤC LỤC 2
MỞ ĐẦU 4
CHƯƠNG 1: TỔNG QUAN VỀ HỆ MẬT MÃ 6
1.1 Khái niệm về mã hóa thông tin 6
1.1.1 Khái niệm 6
1.1.2 Vai trò của mã hóa 6
1.1.3 Các thành phần của hệ mã hóa 7
1.2 Tiêu chuẩn để đánh giá hệ mã hóa 7
1.2.1 Độ an toàn của thuật toán 7
1.2.2 Tốc độ mã hóa và giải mã 8
1.2.3 Phân phối khóa 8
1.3 Khóa 8
1.3.1 Khái niệm 8
1.3.2 Ví dụ 8
1.4 Phân loại các thuật toán mã hóa 9
1.4.1 Phân loại theo các phương pháp 9
1.4.2 Phân loại theo số lượng khóa 10
CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP MÃ HÓA CỔ ĐIỂN 13
2.1 Hệ mã hóa thay thế 13
2.1.1 Hệ mã hóa CEASAR 13
2.1.2 Hệ mã hóa VIGENERE 14
2.2 Hệ mã hóa hoán vị 16
2.2.1 Đảo ngược toàn bộ bản rõ 16
2.2.2 Mã hóa theo mẫu hình học 16
2.2.3 Đổi chỗ cột 17
2.2.4 Hoán vị các ký tự của bản rõ theo chu kì cố định 18
CHƯƠNG 3: MỘT SỐ THUẬT TOÁN MÃ HÓA HIỆN ĐẠI 19
3.1 Thuật toán mã hóa DES 19
3.1.1 Lịch sử ra đời 19
3.1.2 Mô tả thuật toán DES 19
3.1.3 Giải mã DES 29
3.1.4 Độ an toàn của thuật toán 29
3.2 Thuật toán mã hóa RSA 30
2.2.1 Khái quát về RSA 30
3.2.2 Mô tả về thuật toán 30
3.2.3 Một số phương pháp tấn công 34
3.2.4 Đánh giá thuật toán 36
3.3. Thuật toán mã hóa MD5 36
3.3.1 Hàm băm MD5 36
3.3.2 MD5 39
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 48
1. Kết quả đạt được 48
2. Hướng phát triển 48
3. Kết luận 49
TÀI LIỆU THAM KHẢO 50
 
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

PHƯƠNG PHÁP MÃ HÓA CỔ ĐIỂN
2.1 Hệ mã hóa thay thế
2.1.1 Hệ mã hóa CEASAR
Hệ mã hóa CEASAR là một ví dụ điển hình cho hệ mã hóa thay thế. Nó làm việc trong bảng chữ cái tiếng Anh 26 ký tự [1, 7]. Ceasar sử dụng các số nguyên thay cho các ký tự, đánh số các ký tự trong bảng chử cái theo thứ tự bảng sau.
Các phép toán số học được thực hiên trên Modul 26 (có nghĩa là 26 tương ứng với 0, 27 tương ứng với 1, 28 tương ứng với 2,…, 79 = 26x3 + 1 tức 79 tương ứng với 1).
Hệ CAESAR sử dụng thuật toán mã hóa Ek, trong đó mỗi ký tự được thay thế bởi một ký tự khác được xác định bằng cách dịch ký tự cần mã hóa sang phải k bước theo modul 26.
Ek(a) = (a + k) MOD 26.
Với a là một ký tự, 0 £ k £ 26, MOD là phép chia lấy phần dư.
Thuật toán giải mã tương ứng Dk là lùi lại k bước trong bảng chữ cái theo modul 26.
Dk(a) = (a - k) MOD 26
Không gian khóa của hệ CEASAR bao gồm 26 số: 0, 1, 2, …, 25.
Ví dụ: Với k = 3, A được thay bằng D, B được thay bằng E,…, W được thay bằng Z,…, Y được thay bằng B và Z được thay bằng C. Ta có:
Bảng chữ cái gốc.
Bảng chữ cái dùng để mã hóa.
Trong trường hợp này bản rõ “DAI HOC VINH” được mã hóa thành “GDL KRF YLQK”, (Chú ý: Các ký tự trống trong bảng mã được bỏ đi để đảm bảo tính an toàn).
Thêm một vài ví dụ minh họa:
E25(IBM) = HAL, E6(MUPiD) = SAVOJ.
E3(HELP) = KHOS, E1(HOME) = IPNF.
Hệ CEASAR là hệ mã hóa cũ và không an toàn vì không gian khóa của nó rất nhỏ, do đó có thể thám mã theo phương pháp vét cạn. Khóa giải mã có thể tính ngay ra được từ khóa mã hóa. Do chỉ có 26 khóa nên ta có thể thử lần lượt các khóa cho đến khi tìm được khóa đúng.
Hệ mã hóa VIGENERE
Hệ mã hóa này được đặt theo tên của một nhà mật mã người Pháp Blaise De Vigenere (1523 – 1596) [1, 7].
Vinegere cũng giống như Caesar, nhưng ở đây khóa được thay đổi theo từng bước. Hình vuông VIGENERE được sử dụng để mã hóa và giải mã.
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Hình 2.1: Hình vuông Vigenere
Mỗi cột của hình vuông Vigenere có thể xem như là một hệ CEASAR, với các khóa: 0, 1, 2,...., 25. Để mã hóa thì bản rõ được đọc từ các hàng và khóa được đọc từ các cột.
Ví dụ: Mã hóa bản “DAI HOC VINH” với từ khóa “ KHOA KINH TE”. Đầu tiên ta tìm điểm giao của hàng D cột K ta được N, tiếp tục ta tìm điểm giao của hàng A cột H ta được H. Cứ như vậy ta được bản mã là “ NHW HYK IPGL” . Ta sẽ thu được bản mã tưng tự nếu ta đọc bản rõ tưng ứng với cột và khóa đọc tưng ứng với hàng. Muốn giải mã thông tin vừa mã hóa trên ta thực hiện bằng cách, ta nhìn vào hàng nào chứa N trong cột K, ta tìm được chữ D, tương tự nhìn vào hàng nào chứa H trong cột H, ta tìm được chữ A. Cứ như vậy ta sẽ tìm được bản rõ là “DAI HOC VINH”.
Trong ví dụ trên thì độ dài bản rõ bằng độ dài khóa. Nhưng trong thực tế độ dài bản rõ thường dài hơn rất nhiều so với khóa. Như vậy để mã hóa hay giải mã thì ta phải áp dụng từ khóa một cách tuần hoàn. Nghĩa là từ khóa được lặp đi lặp lại nhiều lần sao cho các ký hiệu trong bản rõ phải được đọc hết.
Ta thấy rằng trong hệ mã hóa VIGENERE, với khóa có độ dài d thì sẽ có 26d khóa hợp lệ. Vì vậy chỉ cần với giá trị d nhỏ thì phương pháp thám mã vét cạn cũng đòi hỏi khá nhiều thời gian.
Hệ mã hóa hoán vị
Hệ mã hóa hoán vị hay còn gọi là hệ mã hóa đổi chỗ. Là hệ mã hóa mà các ký tự của bản rõ vẫn được giữ nguyên, nhưng thứ tự của chúng được đổi chỗ vòng quanh [1, 7].
Phương pháp này có các kỹ thuật mã hóa sau.
2.2.1 Đảo ngược toàn bộ bản rõ
Nghĩa là bản gốc được viết theo thứ tự ngược lại từ sau ra trước, để tạo bản mã. Đây là phương pháp mã hóa đơn giản nhất vì vậy không đảm bảo an toàn.
Ví dụ: PlainText SECURE EMAIL
Bản mã: LIAMEERUCES
2.2.2 Mã hóa theo mẫu hình học
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 hay ma trận hai chiều.
Ví dụ: Bản rõ “KHOA CONG NGHE THONG TIN” được viết theo ma trận 4x5 như sau:
Nếu lấy các ký tự ra theo số thứ tự cột 3, 1, 4, 2, 5 thì ta thu được bản mã “OGTTKOHNANHIHNEGCGON”.
2.2.3 Đổi chỗ cột
Đầu tiên biểu diễn các ký tự trong ban 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õ là “KHOA CONG NGHE THONG TIN” được viết dưới dạng ma trận 4x5 theo cột như sau:
Vì có 5 cột nên ta có thể sắp xế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ị trí các cột theo 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ẽ được bản mã là:
“NGCTKGTOHHHINOOENGNA”.
Lưu ý: Các ký tự cách trống được bỏ đi.
Hoán vị các ký tự của bản rõ theo chu kì cố định
Nếu hàm f là một hoán vị của một khối gồm d ký tự thì khóa mã hóa đượ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 mã sẽ được mã hóa 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ụ: Mã hóa bản rõ “BAO MAT” chọn d=6 và f hoán vị dãy i= 123456 thành f(i)=351462.
Theo bảng trên ta thấy ký tự đầu sau khi hoán vị chuyển đến vị trí thứ 3, ký tự thứ 2 chuyển tới vị trí thứ 5, ký tự thứ 3 chuyển tới vị trí thứ 1,… Như vậy sau khi mã hóa ta thu được bản mã là “OABMTA”.
Nếu kích thước bản rõ lớn hơn nhiều so với d thì ta sẽ phải chia bản rõ thành các khối d ký tự và tiến hành mã hóa theo từng khối. Ví dụ:
Bản rõ “KHOA CONG NGHE THONG T...
 

Các chủ đề có liên quan khác

Top