Mật mã dịch vòng• Mật mã dịch vòng MDV hay mã đơn: Ta sử dụng MDV với modul 26 để mã hóa một văn bản tiếng Anh thông thường bằng cách thiết lập sự tương ứng giữa các ký tự và các thặn
Trang 1HỆ MẬT KHÓA BÍ MẬT
Thành viên: Đinh Văn Việt
Ngô Thanh Tân
Nguyễn Văn Cường
Nguyễn Thị Thùy Dương
Trần Văn Trung
Nguyễn Xuân Trường
Trang 21 Khái niệm mật mã khóa bí mật
Trang 3Khái niệm
• Khái niệm: Mật mã học (Cryptology) gồm 2 lĩnh vực:
• Mật mã (Cryptography) – Cơ yếu: Mã hóa và giải mã
• Mã thám: Luôn tìm cách khám phá bí mật mật mã, có vai trò quan trọng trong lĩnh vực quân sự, an ninh, kinh
tế, chính trị…
Trang 4Khái niệm
• Mật mã khóa bí mật (mật mã khóa đối xứng): phải bí mật khóa mã hóa và khóa giải mã Đối xứng là vì khóa mã và khóa giải mã là một
• Có 3 phương pháp chính trong mật mã khóa
bí mật: Hoán vị; Thay thế; Xử lý bít
• Ngoài ra còn phương pháp hỗn hợp thực hiện kết hợp các phương pháp trên mà điển hình là chuẩn mã dữ liệu (DES – Data Encryption
Standard) của Mỹ
Trang 5Sơ đồ mật mã khóa bí mật
Trang 6Khái niệm
Trang 71 Khái niệm mật mã khóa bí mật
Trang 8Mật mã dịch vòng
• Mật mã dịch vòng (MDV hay mã đơn): Ta sử
dụng MDV (với modul 26) để mã hóa một văn
bản tiếng Anh thông thường bằng cách thiết lập
sự tương ứng giữa các ký tự và các thặng dư theo mod 26 như sau:
• Công thức mã dịch tổng quát như sau: Giả sử
P=C=K=Z26 với 0<=k<=25 ta định nghĩa:
• Ek (x) = x + k mod 26; dk (y) = y – k mod 26; với (x,y(Z26).
Trang 9Ví dụ mã dịch vòng
• Giả sử ta có bản rõ là: Meetmeatsunset và khóa cho
MDV là k= 5, trước hết ta biến đổi bản rõ thành dãy
các số nguyên theo quy tắc bảng trên là: 12, 4, 4, 19,
12, 4, 0, 19, 18, 20, 13, 18, 4, 19 – sau đó ta cộng k = 5 vào mỗi giá trị trên và ta rút gọn tổng theo mod 26, ta được dãy số sau:
• 17, 9, 9, 24, 17, 9, 5, 24, 23, 25, 18, 23, 9, 24, cuối cùng
ta lại biến đổi dãy số nguyên trên thành các ký tự tương ứng, ta có bản mã: RJJYRFYXZSXJY Để giải mã cho bản mã này, ta biến bản mã thành dãy số nguyên rồi trừ mỗi giá trị cho 5 (rút gọn theo modulo 26) và cuối cùng
là lại biến đổi lại dãy số nhận được này thành các ký tự
rõ bản đầu.
Trang 10Mật mã dịch vòng
• Nhận xét: Khi K = 3, hệ mật này thường được gọi
là mã Caesar đã từng được hoàng đế Caesar sử
dụng từ thời La mã cổ đại (TCN) MDV (theo mod 26) không an toàn vì nó có thể bị thám mã theo
phương pháp vét cạn (mã thám có thể dễ dàng thử mọi khóa dk có thể cho tới khi tìm được bản rõ
nghĩa Từ ví dụ trên ta thấy: điều kiện cần để 1 hệ mật an toàn là phép tìm kiếm khóa vét cạn không thể thực hiện được, tuy nhiên có một không gian khóa lớn vẫn chưa đủ để đảm bảo độ mật – tồn tại quy luật tần số các chữ cái.
Trang 111 Khái niệm mật mã khóa bí mật
Trang 12Mật mã thay thế (MTT)
• Cho P = C = Z26 K chứa mọi hoán vị có thể
có của 26 ký tự từ 0 đến 25 với mỗi phép hoán
vị Z (K, ta định nghĩa: e pi (x) = Z(x) và d pi (y) = Z mũ-1 (y)
• Trong đó: Z ^-1 là hoán vị ngược của Z
Trang 13• Như vậy: ez(a) = X, ez (b) = N ….
• Hàm giải mã là phép hoán vị ngược, điều này được thực hiện bằng cách viết hàng thứ 2 lên trước rồi sắp xếp theo thứ tự chữ cái ta có:
Trang 14Mật mã thay thế
• VD: Với phép thay thế từ bản rõ:
Meetmeatsunset, ta sẽ thu được bản mã:
THHMTHXMVUSVHM – sử dụng phép hoán vị ngược ta dễ dàng tìm được lại bản rõ ban đầu
Mỗi khóa của mã thay thế là một phép hoán vị
của 26 ký tự, số hoán vị này là 26!>4.10^26 Đây
là một số rất lớn nên khó có thể tìm được khóa
bằng phép tìm khóa vét cạn, tuy nhiên bằng
phương pháp thống kê ta có thể dễ dàng thám mã được các bản mã loại này.
Trang 151 Khái niệm mật mã khóa bí mật
Trang 16Mật mã Vigenere
• Trong 2 hệ mật MDV và MTT ở trên, một khi
khóa đã được chọn thì mỗi ký tự sẽ được ánh xạ vào một ký tự duy nhất Vì vậy, các hệ mật trên còn được gọi là các hệ mật thay thế đơn biểu Sau đây ta sẽ trình bày một hệ mật thay thế đa biểu
được gọi là hệ mật Vigenere Sử dụng phép tương ứng A <-> 0, B <-> 1 … Z <-> 25 mô tả ở trên,
ta có thể gắn cho mỗi khóa k một chuỗi có độ dài
m được gọi là từ khóa Mật mã Vigenere sẽ mã
hóa đồng thời m ký tự, mỗi phần tử của bản rõ
tương đương với m ký tự.
Trang 17Mật mã Vigenere.
• Ví dụ: Giả sử m = 6 và từ khóa là CIPHER, từ
khóa này tương ứng với dãy số k = (2, 8, 15, 7, 4, 17) Giả sử bản rõ là: Meetmeatsunset Ta sẽ biến đổi các phần tử của bản rõ thành các thặng dư
theo mod 26, viết chúng thành các nhóm 6 rồi
cộng với từ khóa theo modulo 26 như sau:
Như vậy dãy ký tự tương ứng với xâu bản mã sẽ là:
OMTAQVCBHBRJGB
Trang 18Mật mó Vigenere
• Chú ý: Để giải mã, ta có thể dùng cùng từ
khoá nh ng thay cho cộng, ta trừ nó theo
modulo 26
• Ta thấy rằng, số các từ khoá có thể với độ dài
m trong mật mã Vigenere là 26^m Bởi vậy,
thậm chí với m khá nhỏ, ph ơng pháp tìm kiếm
vét cạn cũng yêu cầu thời gian khá lớn
• Ví dụ, với m = 6 thì không gian khoá cũng có kích th ớc lớn hơn 3.10^8 khoá
Trang 191 Khái niệm mật mã khóa bí mật
Trang 20Mật mã hoán vị (MHV)
• Khác với mã thay thế, ý tưởng của mã hoán vị là giữ các ký tự của bản rõ không thay đổi nhưng sẽ thay đổi vị trí của chúng bằng cách sắp xếp lại các
ký tự này Ở đây không có một phép toán đại số nào cần thực hiện khi mã hóa và giải mã.
• Ví dụ: Giả sử m=6 và khóa là phép hoán vị sau
Trang 23NHẬN XÉT CHUNG
• - Mật mã cổ điển (mật mã khóa bí mật – mật
mã khóa đối xứng) ra đời, tồn tại và phát triển rất sớm, quá trình phát triển từ đơn giản đến phức tạp, từ chưa hoàn thiện đến hoàn thiện
• - Mật mã khóa bí mật: Quan trọng nhất là giữ
bí mật khóa – khối lượng khóa – thời gian tính toán.Tồn tại: Quản lý khóa phức tạp khi số
người sử dụng ngày càng tăng
• - Mật mã Việt Nam ra đời và phát triển cùng với lịch sử của dân tộc, so với thế giới rất non trẻ (12/9/1945 tại Hà Nội – do ông Hoàng Đạo Thúy là người sáng lập tổ chức mật mã QĐ)
Trang 24MẬT MÃ VIỆT NAM
• - Tổ chức mật mã VN gọi là Ban Cơ yếu CP gồm 3 ngành chính: Quân đội; Công an; Đảng – Chính (Bộ Ngoại giao, Tỉnh ủy, VKS, HQ )
• - Về kỹ thuật mật mã VN hiện nay đang sử dụng
mật mã thay thế đa biểu – Khóa ngẫu nhiên - hệ mật
tích (Luật TĐ + Khóa NN).
• - Xu hướng phát triển MM VN: Kết hợp truyền
thống + Mật mã hiện đại (Tự động, mã khối, số hóa)
và xuất hiện mật mã thương mại (chữ ký số, xác
thực mật mã: Ngân hàng, Thương mại sử dụng khóa công khai ).
Trang 251 Khái niệm mật mã khóa bí mật
Trang 26Chuẩn mã hóa dữ liệu
• Khoảng những năm 1970, tiến sỹ Horst Feistel
đã đặt nền móng đầu tiên cho chuẩn mã hóa
dữ liệu DES với phương pháp mã hóa Feistel Cipher 1976, cơ quan bảo mật quốc gia Mỹ (NSA) đã công nhận DES dựa trên phương
pháp Feistel là chuẩn mã hóa dữ liệu Kích
thước ban đầu của DES là 128bit, nhưng bản công bố rút kích thước khóa xuống còn 56 bit
Trang 27Chuẩn mã hóa dữ liệu
• Phương pháp DES kích thước khối là 64 bit
DES thực hiện mã hóa dữ liệu qua 16 vòng lặp
mã hóa, mỗi vòng sử dụng 1 khóa 48 bit được tạo ra từ khóa ban đầu có độ dài 56 bit DES
sử dụng 8 bảng hằng số S-box để thao tác
• Quá trình mã hóa của DES được mô tả như
hình sau:
Trang 28Chuẩn mã hóa dữ liệu
Trang 29Chuẩn mã hóa dữ liệu
• Hàm F:
hoạt động trên khối 32 bit, bao gồm 4 giai đoạn
Trang 30Chuẩn mã hóa dữ liệu
• Mở rộng: 32 bit đầu vào được mở rộng thành 48 bit sử dụng
thuật toán hoán vị mở rộng (E) với việc nhân đôi một số bit
• Trộn khóa: 48 bit thu được sau quá trình mở rộng được
XOR với khóa con Mười sáu khóa con 48 bit được tạo ra từ khóa chính 56 bit.
• Thay thế: 48 bit sau khi trộn được chia làm 8 khối con 6 bit
và được xử lý qua hộp thay thế S-box Đầu ra của mỗi khối
6 bit là một khối 4 bit theo một chuyển đổi phi tuyến được thực hiện bằng một bảng tra Khối S-box đảm bảo phần
quan trọng cho độ an toàn của DES Nếu không có S-box thì quá trình sẽ là tuyến tính và việc thám mã sẽ rất đơn giản.
• Hoán vị: Cuối cùng, 32 bit thu được sau S-box sẽ được sắp
xếp lại theo một thứ tự cho trước (còn gọi là P-box).
Trang 31Chuẩn mã hóa dữ liệu
56 bit được chọn (Permuted Choice 1,
hay PC-1); 8 bit còn lại bị loại bỏ 56
bit thu được được chia làm hai phần
bằng nhau, mỗi phần được xử lý độc
lập Sau mỗi chu trình, mỗi phần được
dịch đi 1 hoặc 2 bit (tùy thuộc từng
chu trình, nêu đó là chu trình 1,2,9,16
thì đó là dịch 1bit, còn lại thì sẽ được
dich 2bit) Các khóa con 48 bit được
tạo thành bởi thuật toán lựa chọn 2
(Permuted Choice 2, hay PC-2) gồm
24 bit từ mỗi phần Quá trình dịch bit
(được ký hiệu là "<<<" trong sơ đồ)
khiến cho các khóa con sử dụng các
bit khác nhau của khóa chính; mỗi bit
được sử dụng trung bình ở 14 trong
tổng số 16 khóa con.
giải mã cũng diễn ra tương tự nhưng
các khóa con được tạo theo thứ tự
ngược lại Ngoài ra sau mỗi chu trình,
khóa sẽ được dịch phải thay vì dịch
trái như khi mã hóa
Trang 32NHẬN XÉT
• Vấn đề quan trọng nhất trong DES là hộp S-box Tuy nhiên, tiêu chuẩn xây dựng S-box không
được biết đầy đủ
• Kích thước của không gian khóa là 2^56 là quá nhỏ để đảm bảo an toàn thực sự
• DES hiện nay được sử dụng rất rộng rãi trong nhiều lĩnh vực như: Ngân hàng, Bộ Năng lượng,
Bộ Tư pháp, Hệ thống dự trữ liên bang Mỹ