KỸ THUẬT mã hóa cổ điển ......................................................................... KỸ THUẬT mã hóa cổ điển ......................................................................... KỸ THUẬT mã hóa cổ điển ......................................................................... KỸ THUẬT mã hóa cổ điển ......................................................................... KỸ THUẬT mã hóa cổ điển ......................................................................... KỸ THUẬT mã hóa cổ điển ......................................................................... KỸ THUẬT mã hóa cổ điển ......................................................................... KỸ THUẬT mã hóa cổ điển .........................................................................
Trang 1ĐỒ ÁN 3
KỸ THUẬT MÃ HÓA CỔ ĐIỂN
1
Trang 22
Trang 3DANH MỤC CÁC HÌNH VẼ
3
Trang 44
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ MÃ HÓA
1.1 Khái niệm mã hóa
Ngày nay, máy tính đã thâm nhập vào hầu hết các lĩnh vực của đời sống - xã hội.Nói đến máy tính tức là nói đến hai vấn đề lớn : lưu trữ và xử lý thông tin
Nhưng từ xa xưa, khi công nghệ còn chưa phát triển, quá trình xử lý thông tin làmột yếu tố rất quan trọng Tuy nhiên không có gì đảm bảo rằng thông tin mà chúng
ta truyền đi không bị đọc trộm trên đường truyền Trong những trận đánh lớn, việctiết lộ thông tin thường gây ra những hậu quả rất nghiêm trọng Để hạn chế điều đó,các biện pháp mã hóa thông tin đã ra đời Mục đích để bảo vệ tính bảo mật củathông tin
1.2 Khái niệm về Cryptography
Thuật ngữ Cryptography đề cập tới ngành khoa học nghiên cứu mã hóa và giải mãthông tin Cụ thể hơn là nghiên cứu các cách thức chuyển đổi thông tin từ dạngthông thường sang định dạng đã được mã hóa Thông tin sau đó được làm rối, biếnđổi gây khó khăn cho người không phận sự tiếp cận vào những thông tin nhạy cảm.Các khái niệm cơ bản của cryptography:
- Plaintext / Cleartext (P): Dữ liệu gốc, chưa được mã hóa (bản rõ).
- Ciphertext (C): Dữ liệu đã được mã hóa (bản mã).
- Encipher / Encrypt (E): Quá trình mã hóa.
- Decipher / Decrypt (D): Quá trình giải mã.
- Key (K): chìa khóa – thông tin dùng chung trong qui trình mã hóa và giải mã.
1.3 Ứng dụng
Trong đời sống, khi chúng ta cần bảo mật tính toàn vẹn của một thông tin nào đó,không để cho người khác biết, khi đó mã hóa được áp dụng như là một giải pháphạn chế các rủi ro của việc tiết lộ thông tin
1.4 Yêu cầu đề tài
Tìm hiểu về cryptography
Tìm hiểu kỹ thuật mã hóa cổ điển: substitution cipher và transposition cipher
Mô phỏng hai kỹ thuật trên trong MATLAB (yêu cầu có viết GUI)
Trang 7ĐỒ ÁN 3 Trang 7/18
1.5 Kỹ thuật mã hóa cổ điển
Đây là cách đơn giản nhất, tồn tại lâu nhất trên thế giới Tuy nhiên giải pháp mã hóanày được xem là không an toàn vì nếu một người thứ ba biết được thuật toán thìxem như thông tin không còn bảo mật nữa Việc giữ bí mật thuật toán trở nên rấtquan trọng
Có hai kỹ thuật mã hóa cổ điển chính là substitution cipher và transposition cipher
Substitution Cipher (Mã hóa thay thế) : Phương pháp mã hóa trong đó từng
kí tự hoặc nhóm kí tự của văn bản ban đầu được thay thế bằng một hay nhóm
kí tự khác
Transposition Cipher (Mã hóa hoán vị) : Phương pháp mã hóa trong đó các
kí tự trong văn bản ban đầu chỉ thay đổi vị trí cho nhau còn bản thân các kí
tự không hề bị biến đổi
Trang 8CHƯƠNG 2 NGUYÊN LÝ MÃ HÓA
1.7 Mã hóa Ceasar
1.1.1 Lịch sử
Sáng tạo bởi Julius Ceasar, vị hoàng đế của đế chế La Mã vào thế kỉ 3 trước côngnguyên Phương pháp này được Ceasar xây dựng trong cuộc chiến Gallic Wars(những người Gô-loa cổ đại), được xem như là tổ tiên của người Pháp ngày nay
1.1.2 Nguyên lý mã hóa
Thay thế mỗi kí tự bằng một kí tự khác cách nhau một khoảng m nhất định trongbảng chữ cái [1] Nếu m lớn hơn 26 thì xoay vòng lại về vị trí ban đầu, bằng phéptính mod với 26 Ví dụ : X (m=3) = A
Trang 9ĐỒ ÁN 3 Trang 9/18
1.1.4 Nguyên lý mã hóa
Sử dụng một ma trận chữ cái 5x5 trên cơ sở một từ khóa, điền các chữ cái của từkhóa (đã bỏ đi các chữ trùng lặp) lần lượt vào các vị trí còn lại của ma trận Biến đổiI=J hoặc ngược lại Nếu độ dài từ khóa nhỏ hơn 25 thì điền tiếp vào sau vị trí cuốicùng của từ khóa các kí tự từ A-Z – không bao gồm các chữ cái trùng lặp – cho đếnkhi lấp đầy ma trận
Ví dụ với từ khóa là MONARCHY ta sẽ có một ma trận như sau:
Hình 2-1: Ma trận ứng với từ khóa MONARCHY
Nếu hai chữ cái nằm cùng hàng, thay bởi các chữ bên phải Ví dụ: EF => FG
Nếu hai chữ cái nằm cùng cột, thay bởi các chữ bên dưới: Ví dụ: OF => HP
Trang 10Các trường hợp khác, mỗi chữ cái được thay bởi chữ cái khác cùng hàng dựa trêncột chữ cái cùng cặp Ví dụ: CQ => YL
Ví dụ với K=MONARCHY như trên, bản rõ là PLAY thì bản mã sẽ là QPNB
Trong mã Hill, mỗi chữ cái được gán cho một con số nguyên từ 0 đến 25:
Hình 2-2: Bảng chữ cái tiếng Anh
Dựa vào đó, từ khóa sẽ được chia thành các cặp, tạo thành một ma trận vector cộtứng với đó là các con số
Ví dụ :
Bản rõ : PLAY
Key : HELP
HE sẽ có ma trận là [7 4] và LP sẽ có ma trận là [11 15] => từ khóa HELP sẽ có matrận K = [7 4;11 15]
Tương tự, bản rõ cũng chia thành các cặp Như vậy các ma trận ứng với từng cặp sẽ
là x1=[15;11] , x2=[0;24], …
Trang 11ĐỒ ÁN 3 Trang 11/18
Lần lượt nhân K với x1 và x2 được C1 và C2 Lấy các kết quả này mod 26 ta đượcD1, D2 Từ D1 , D2 suy ra các kí tự cần tìm
vị trí các chữ cái của key là K
Tiến hành cộng hai mảng P và K theo qui tắc xoay vòng giống như mã hóa caesar,được mảng C
Biến đổi các số trong C thành các chữ cái cần tìm
Ví dụ:
Key: lucy
Bản rõ: youmustvisitme
Trang 12Bản mã: jiwkfmvttmkrxy
Hình 2-3: Mã hóa Vigenere [4, tr.21]
1.1.10 Nguyên lý giải mã
D = C(x1,x2,…,xm) – K(k1,k2,…,km) mod 261.11 Mã hóa Rail-fence
1.1.11 Nguyên lý mã hóa
Đối với phương pháp này, các chữ cái của bản rõ sẽ được viết theo đường zig zac từtrên xuống dưới, từ trái qua phải theo m hàng cho trước Sau đó bản mã sẽ là tậphợp các kí tự từ hàng thứ 1 đến hàng thứ m, viết liền nhau
Trang 13ĐỒ ÁN 3 Trang 13/18
CHƯƠNG 3 KẾT QUẢ MÔ PHỎNG
Chương trình viết bằng MATLAB R2013a
1.12 Yêu cầu mô phỏng
Trang 14Hình 3-1 : Kết quả mô phỏng mã hóa Ceasar
1.1.18 Mã hóa Playfair
Key: K = password
Bản rõ: Ma hoa Playfair
Bản mã: Vd kss Ampuiwgbu
Trang 15ĐỒ ÁN 3 Trang 15/18
Hình 3-2 : Kết quả mô phỏng mã hóa Playfair
1.1.19 Mã hóa Hill
Key: K = password
Bản rõ: cryptography
Bản mã: jxrjavlpffwz
Trang 16Hình 3-3 : Kết quả mô phỏng mã hóa Hill
1.1.20 Mã hóa Vigenre
Key: K = password
Bản rõ: Cryptography Vigenere Cipher
Bản mã: Ssriqdyvqqar Sxyidfkx Zxhlus
Trang 17ĐỒ ÁN 3 Trang 17/18
Hình 3-4 : Kết quả mô phỏng mã hóa Viegenere
1.1.21 Mã hóa Rail-fence
Key: K = 3
Bản rõ: Cryptography rail-fence
Bản mã: Cta lnrporpyri-ecyghafe
Trang 18Hình 3-5 : Kết quả mô phỏng mã hóa Rail-fence
Trang 19ĐỒ ÁN 3 Trang 19/18
CHƯƠNG 4 KẾT LUẬN
1.14 Đề tài làm được những phần nào
Mã hóa và giải mã chữ và số
1.15 Ưu điểm
Mã hóa nhanh chóng các văn bản
Bước đầu gây khó khăn cho người không phận sự tiếp cận thông tin
1.16 Nhược điểm
Quá trình mã hóa và giải mã còn đơn giản
Dễ bị giải mã bằng các phương pháp vét cạn
Vẫn còn xảy ra lỗi, chưa thực sự tối ưu
Ít được sử dụng do xuất hiện từ lâu trong lịch sử
Trang 20TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] https://vi.wikipedia.org
[2] Bài giảng An toàn và bảo mật thông tin, ĐH Nha Trang
Tiếng Anh:
[3] Classical Cryptography, CSG 252 Fall 2006, Riccardo Pucella
[4] Classic Cryptography (Lecture 5), Thomas Johansson, Lund University
Trang 21ĐỒ ÁN 3 Trang 21/18
PHỤ LỤC A