để gửi đi và người nhận mật mã gửi đến được biết mà thôi.• Trong suốt một thời kỳ lịch sử dài từ thời cổ đại cho đến vài ba thập niên gần đây, các phương pháp mật mã được sử dụng trong t
Trang 2để gửi đi và người nhận mật mã gửi đến) được biết mà thôi.
• Trong suốt một thời kỳ lịch sử dài từ thời cổ đại cho đến vài ba thập niên gần đây, các phương pháp mật mã được sử dụng trong thực tế đều là mật mã khoá đối xứng, từ hệ mật
mã Ceasar đã được dùng hơn nghìn năm trước cho đến các
hệ mật mã được sử dụng với sự trợ giúp của kỹ thuật máy tính hiện đại trong thời gian gần đây.
• Trong chương này ta sẽ giới thiệu một số hệ mật mã có khóa đối xứng, tức là những hệ mật mã mà khóa lập mật mã
và khóa giải mật mã là trùng nhau, khóa mật mã chung đó phải được giữ bí mật, chỉ riêng hai đối tác (người lập mật mã
để gửi đi và người nhận mật mã gửi đến) được biết mà thôi.
• Trong suốt một thời kỳ lịch sử dài từ thời cổ đại cho đến vài ba thập niên gần đây, các phương pháp mật mã được sử dụng trong thực tế đều là mật mã khoá đối xứng, từ hệ mật
mã Ceasar đã được dùng hơn nghìn năm trước cho đến các
hệ mật mã được sử dụng với sự trợ giúp của kỹ thuật máy tính hiện đại trong thời gian gần đây.
Trang 4Mã chuyển dịch (shift cipher)
Các hệ mật mã dùng phép chuyển dịch nói trong mục nàycũng như nhiều hệ mật mã tiếp sau đều có bảng ký tựbản rõ và bảng ký tự bản mã là bảng ký tự của ngôn ngữviết thông thường Vì bảng ký tự tiếng Việt có dùng nhiềudấu phụ làm cho cách xác định ký tự khó thống nhất, nêntrong tài liệu này ta sẽ lấy bảng ký tự tiếng Anh để minhhoạ, bảng ký tự này gồm có 26 ký tự, được đánh số từ 0đến 25 như trình bày ở tiết 1.2.1, ta có thể đồng nhất nóvới tập Z26
Các hệ mật mã dùng phép chuyển dịch nói trong mục nàycũng như nhiều hệ mật mã tiếp sau đều có bảng ký tựbản rõ và bảng ký tự bản mã là bảng ký tự của ngôn ngữviết thông thường Vì bảng ký tự tiếng Việt có dùng nhiềudấu phụ làm cho cách xác định ký tự khó thống nhất, nêntrong tài liệu này ta sẽ lấy bảng ký tự tiếng Anh để minhhoạ, bảng ký tự này gồm có 26 ký tự, được đánh số từ 0đến 25 như trình bày ở tiết 1.2.1, ta có thể đồng nhất nóvới tập Z26
Trang 5Mã chuyển dịch (shift cipher)
• Sơ đồ các hệ mật mã chuyển dịch được định nghĩa nhưsau: S = (P , C , K , E , D )
trong đó P = C = K = Z26 , các ánh xạ E và D đượccho bởi:
K,x,yZ26: E(K,x) = x +K mod26, D(K,y) = y - K mod26.
• Các hệ mật mã được xác định như vậy là đúng đắn, vìvới mọi K, x , y Z26 ta đều có:
dK(eK(x))= (x +K ) - K mod26 = x
• Các hệ mật mã chuyển dịch đã được sử dụng từrất sớm, theo truyền thuyết, hệ mã đó với K =3 đã đượcdùng bởi J Caesar từ thời đế quốc La mã, và được gọi là
hệ mã Caesar
• Sơ đồ các hệ mật mã chuyển dịch được định nghĩa nhưsau: S = (P , C , K , E , D )
trong đó P = C = K = Z26 , các ánh xạ E và D đượccho bởi:
K,x,yZ26: E(K,x) = x +K mod26, D(K,y) = y - K mod26.
• Các hệ mật mã được xác định như vậy là đúng đắn, vìvới mọi K, x , y Z26 ta đều có:
dK(eK(x))= (x +K ) - K mod26 = x
• Các hệ mật mã chuyển dịch đã được sử dụng từrất sớm, theo truyền thuyết, hệ mã đó với K =3 đã đượcdùng bởi J Caesar từ thời đế quốc La mã, và được gọi là
hệ mã Caesar
Trang 6Mã chuyển dịch (shift cipher)
Trang 7Mã chuyển dịch (shift cipher)
Các hệ mật mã chuyển dịch tuy dễ sử dụng, nhưngviệc thám mã cũng khá dễ dàng, số các khoá có thể có
là 26 Nhận được một bản mã, người thám mã chỉ cầnthử dùng lần lượt tối đa là 26 khoá đó để giải mã, ắt sẽphát hiện ra được khoá đã dùng và cả bản rõ!
Các hệ mật mã chuyển dịch tuy dễ sử dụng, nhưngviệc thám mã cũng khá dễ dàng, số các khoá có thể có
là 26 Nhận được một bản mã, người thám mã chỉ cầnthử dùng lần lượt tối đa là 26 khoá đó để giải mã, ắt sẽphát hiện ra được khoá đã dùng và cả bản rõ!
Trang 8Mã thay thế
• Sơ đồ các hệ mật mã thay thế được định nghĩa nhưsau: S = (P , C , K , E , D )
trong đó P = C = Z26, K là tập hợp tất cả các phéphoán vị trên Z26 ; các ánh xạ E và D được cho bởi:
e k ( x) = p( x), d k = -1(y)
với mọi x P, y C , K là một phép hoán vị trên Z26
• Ta thường đồng nhất Z26 với bảng ký tự tiếngAnh, do đó phép hoán vị trên Z26 cũng được hiểu làmột phép hoán vị trên tập hợp các ký tự tiếng Anh, thí
dụ một phép hoán vị p được cho bởi bảng sau:
• Sơ đồ các hệ mật mã thay thế được định nghĩa nhưsau: S = (P , C , K , E , D )
trong đó P = C = Z26, K là tập hợp tất cả các phéphoán vị trên Z26 ; các ánh xạ E và D được cho bởi:
e k ( x) = p( x), d k = -1(y)
với mọi x P, y C , K là một phép hoán vị trên Z26
• Ta thường đồng nhất Z26 với bảng ký tự tiếngAnh, do đó phép hoán vị trên Z26 cũng được hiểu làmột phép hoán vị trên tập hợp các ký tự tiếng Anh, thí
dụ một phép hoán vị p được cho bởi bảng sau:
Trang 10Mã Vigenère
Sơ đồ mật mã này lấy tên của Blaise de Vigenère, sống vào thế kỷ 16 Khác với các hệ mật mã đã kể trước, các hệ mật mã Vigenère không thực hiện trên từng ký tự một, mà
được thực hiện trên từng bộ m ký tự ( m là số nguyên
dương) Sơ đồ các hệ mật mã Vigenère được định nghĩa
trong đó P = C = K = Z26, các ánh xạ E và D được cho bởi:
eK(x1, , xm ) = ( x1+k1, , xm+km) mod26
dK(y1, , ym ) = ( y1-k1 , , ym-km ) mod26
k = (k1, ,km) K.
Sơ đồ mật mã này lấy tên của Blaise de Vigenère, sống vào thế kỷ 16 Khác với các hệ mật mã đã kể trước, các hệ mật mã Vigenère không thực hiện trên từng ký tự một, mà
được thực hiện trên từng bộ m ký tự ( m là số nguyên
dương) Sơ đồ các hệ mật mã Vigenère được định nghĩa
trong đó P = C = K = Z26, các ánh xạ E và D được cho bởi:
eK(x1, , xm ) = ( x1+k1, , xm+km) mod26
dK(y1, , ym ) = ( y1-k1 , , ym-km ) mod26
k = (k1, ,km) K.
Trang 11Mã Vigenère
• Sơ đồ mã Vigenère có thể được xem là mở rộng của sơ đồ mã chuyển dịch, nếu mã chuyển dịch thực hiện việc chuyển dịch
từng ký tự một thì mã Vigenère thực hiện đồng thời từng bộ m
ký tự liên tiếp. Thí dụ: Lấy m = 6 và K = (2, 8, 15, 7, 4, 17) Để
lập mật mã cho bản rõ hengapnhauvaochieuthubay, ta cũng chuyển nó thành dãy số và tách thành từng đoạn 6 số liên tiếp:
x = 7 4 13 6 0 15 | 13 7 0 20 21 0 | 14 2 7 8 4 20 | 19 7 20 1 0 24.
• Cộng theo mod26 các số trong từng đoạn đó với các số tương
ứng trong khoá K ta sẽ được bản mật mã:
từng ký tự một thì mã Vigenère thực hiện đồng thời từng bộ m
ký tự liên tiếp. Thí dụ: Lấy m = 6 và K = (2, 8, 15, 7, 4, 17) Để
lập mật mã cho bản rõ hengapnhauvaochieuthubay, ta cũng chuyển nó thành dãy số và tách thành từng đoạn 6 số liên tiếp:
x = 7 4 13 6 0 15 | 13 7 0 20 21 0 | 14 2 7 8 4 20 | 19 7 20 1 0 24.
• Cộng theo mod26 các số trong từng đoạn đó với các số tương
ứng trong khoá K ta sẽ được bản mật mã:
Trang 12Mã hoán vị
Các hệ mã hoán vị cũng được thực hiện trên từng bộ
m ký tự liên tiếp, nhưng bản mật mã chỉ là một hoán
vị của các ký tự trong từng bộ m ký tự của bản rõ Ta
ký hiệu Sm là tập hợp tất cả các phép hoán vị của tậphợp { 1,2, ,m } Sơ đồ các phép mã hoán vị đượccho bởi:
S = (P , C , K , E , D )
với mọi x =(x1, , xm) P, y =(y1, , ym) C, k = Sm, -1 là hoán vị nghịch đảo của
Các hệ mã hoán vị cũng được thực hiện trên từng bộ
m ký tự liên tiếp, nhưng bản mật mã chỉ là một hoán
vị của các ký tự trong từng bộ m ký tự của bản rõ Ta
ký hiệu Sm là tập hợp tất cả các phép hoán vị của tậphợp { 1,2, ,m } Sơ đồ các phép mã hoán vị đượccho bởi:
S = (P , C , K , E , D )
với mọi x =(x1, , xm) P, y =(y1, , ym) C, k = Sm, -1 là hoán vị nghịch đảo của
Trang 13dK ta sẽ thu lại được x và bản rõ ban đầu.
• Với mỗi m cho trước, số các hệ mật mã hoán vị có thể có là m!
• Thí dụ: Chọn m = 6 và phép hoán vị S6 được cho bởi:
dK ta sẽ thu lại được x và bản rõ ban đầu.
• Với mỗi m cho trước, số các hệ mật mã hoán vị có thể có là m!
Trang 142.3 Chuẩn mật mã DES
(Data Encryption Standard)
và sự thay thế DES bởi AES
và sự thay thế DES bởi AES
Trang 15Sự ra đời của DES
Ngày 15.5.1973, Uỷ ban tiêu chuẩn quốc gia Mỹ đã công bố một khuyến nghị cho các hệ mật trong Hồ sơ quản lý liên bang Điều này cuối cùng đã dẫn đến sự phát triển của Chuẩn mã dữ liệu (DES) và nó đã trở thành một hệ mật được sử dụng rộng rãi nhất trên thế giới DES được IBM phát triển và được xem như một cải biên cuả hệ mật LUCIPHER Lần đầu tiên DES được công bố trong Hồ sơ Liên bang vào ngày 17.3.1975 Sau nhiều cuộc trânh luận công khai, DES đã được chấp nhận chọn làm chuẩn cho các ứng dụng không được coi là mật vào 5.1.1977 Kể từ đó cứ 5 năm một lần, DES lại được Uỷ ban Tiêu chuẩn Quốc gia xem xét lại Lần đổi mới gần đây nhất của DES là vào tháng 1.1994 và tiếp tới sẽ là 1998 Khi đó người ta đã tiên đoán rằng DES sẽ không còn là chuẩn sau 1998.
Ngày 15.5.1973, Uỷ ban tiêu chuẩn quốc gia Mỹ đã công bố một khuyến nghị cho các hệ mật trong Hồ sơ quản lý liên bang Điều này cuối cùng đã dẫn đến sự phát triển của Chuẩn mã dữ liệu (DES) và nó đã trở thành một hệ mật được sử dụng rộng rãi nhất trên thế giới DES được IBM phát triển và được xem như một cải biên cuả hệ mật LUCIPHER Lần đầu tiên DES được công bố trong Hồ sơ Liên bang vào ngày 17.3.1975 Sau nhiều cuộc trânh luận công khai, DES đã được chấp nhận chọn làm chuẩn cho các ứng dụng không được coi là mật vào 5.1.1977 Kể từ đó cứ 5 năm một lần, DES lại được Uỷ ban Tiêu chuẩn Quốc gia xem xét lại Lần đổi mới gần đây nhất của DES là vào tháng 1.1994 và tiếp tới sẽ là 1998 Khi đó người ta đã tiên đoán rằng DES sẽ không còn là chuẩn sau 1998.
Trang 16Mô tả sơ đồ mật mã DES
• Sơ đồ tổng quát:
Hình 2.1: Chuân mã hóa dữ liêu DES
• Mô tả đầy đủ của DES được nêu trong Công bố số
46 về các chuẩn xử lý thông tin Liên bang (Mỹ) vào15.1.1977 DES mã hoá một xâu bít x của bẳn rõ độdài 64 bằng một khoá 56 bít Bản mã nhận được cũng
là một xâu bít có độ dài 64 Trước hết ta mô tả ở mứccao của hệ thống
• Sơ đồ tổng quát:
Hình 2.1: Chuân mã hóa dữ liêu DES
• Mô tả đầy đủ của DES được nêu trong Công bố số
46 về các chuẩn xử lý thông tin Liên bang (Mỹ) vào15.1.1977 DES mã hoá một xâu bít x của bẳn rõ độdài 64 bằng một khoá 56 bít Bản mã nhận được cũng
là một xâu bít có độ dài 64 Trước hết ta mô tả ở mứccao của hệ thống
Trang 17Mô tả sơ đồ mật mã DES
• Sơ đồ tổng quát:
Hình 2.1: Chuân mã hóa dữ liêu DES
• Mô tả đầy đủ của DES được nêu trong Công bố số
46 về các chuẩn xử lý thông tin Liên bang (Mỹ) vào15.1.1977 DES mã hoá một xâu bít x của bẳn rõ độdài 64 bằng một khoá 56 bít Bản mã nhận được cũng
là một xâu bít có độ dài 64
• Sơ đồ tổng quát:
Hình 2.1: Chuân mã hóa dữ liêu DES
• Mô tả đầy đủ của DES được nêu trong Công bố số
46 về các chuẩn xử lý thông tin Liên bang (Mỹ) vào15.1.1977 DES mã hoá một xâu bít x của bẳn rõ độdài 64 bằng một khoá 56 bít Bản mã nhận được cũng
là một xâu bít có độ dài 64
Trang 18Khóa K
L 1 R 1
L 0 R 0
Bản rõ X IP
f +
Trang 19Vấn đề an toàn của DES
và sự ra đời của AES
Hệ mật DES đã ra đời và trở thành một chuẩn trongmột khoảng thời gian hơn 20 năm Tuy nhiên, ngay
từ ban đầu, lúc thiết kế DES đã có những phản đối
về độ lớn của khóa trong DES, không gian khóa gồm
256 không đủ an toàn cho việc tấn công dạng vét cạnkhóa Khi DES được đưa vào sử dụng đã có rấtnhiều công bố về thám mã hệ mật DES, sau đây lànhững bằng chứng thực tế không thể phủ nhận
Hệ mật DES đã ra đời và trở thành một chuẩn trongmột khoảng thời gian hơn 20 năm Tuy nhiên, ngay
từ ban đầu, lúc thiết kế DES đã có những phản đối
về độ lớn của khóa trong DES, không gian khóa gồm
256 không đủ an toàn cho việc tấn công dạng vét cạnkhóa Khi DES được đưa vào sử dụng đã có rấtnhiều công bố về thám mã hệ mật DES, sau đây lànhững bằng chứng thực tế không thể phủ nhận
Trang 20Các kiểu tấn công bạo lực:
- Năm 1977 , Diffie và Hellman dự thảo một hệ thống có giá khoảng 20 triệu đô la
Mỹ và có khả năng phá khóa DES trong 1 ngày Năm 1993 , Wiener dự thảo một
hệ thống khác có khả năng phá mã trong vòng 7 giờ với giá 1 triệu đô la Mỹ Những điểm yếu của DES được thực sự chứng minh vào cuối những năm 1990 Vào năm 1997 , công ty bảo mật RSA đã tài trợ một chuỗi cuộc thi với giải thưởng 10.000 đô la Mỹ cho đội đầu tiên phá mã được một bản tin mã hóa bằng DES Đội chiến thắng trong cuộc thi này là dự án DESCHALL với những người dẫn đầu bao gồm Rocke Verser, Matt Curtin và Justin Dolske Họ đã sử dụng hàng nghìn máy tính nối mạng để phá mã.
- Khả năng phá mã DES được chứng minh thêm lần nữa vào năm 1998 khi tổ
công dân trên Internet, xây dựng một hệ thống chuyên biệt để phá mã với giá thành 250000 đô la Mỹ (Xem thêm: hệ thống phá mã DES của EFF ) Động cơ thúc đẩy EFF trong hành động này là nhằm chứng minh DES có thể bị phá vỡ trên lý thuyết cũng như trên thực tế: "Nhiều người không tin vào chân lý cho đến khi họ nhìn thấy sự việc bằng chính mắt mình Xây dựng một bộ máy có thể phá khóa DES trong vòng vài ngày là cách duy nhất chứng tỏ với mọi người rằng họ không thể đảm bảo an ninh thông tin dựa vào DES." Hệ thống này đã tìm được khóa DES bằng phương pháp bạo lực trong thời gian hơn 2 ngày.
- Năm 1977 , Diffie và Hellman dự thảo một hệ thống có giá khoảng 20 triệu đô la
Mỹ và có khả năng phá khóa DES trong 1 ngày Năm 1993 , Wiener dự thảo một
hệ thống khác có khả năng phá mã trong vòng 7 giờ với giá 1 triệu đô la Mỹ Những điểm yếu của DES được thực sự chứng minh vào cuối những năm 1990 Vào năm 1997 , công ty bảo mật RSA đã tài trợ một chuỗi cuộc thi với giải thưởng 10.000 đô la Mỹ cho đội đầu tiên phá mã được một bản tin mã hóa bằng DES Đội chiến thắng trong cuộc thi này là dự án DESCHALL với những người dẫn đầu bao gồm Rocke Verser, Matt Curtin và Justin Dolske Họ đã sử dụng hàng nghìn máy tính nối mạng để phá mã.
- Khả năng phá mã DES được chứng minh thêm lần nữa vào năm 1998 khi tổ
công dân trên Internet, xây dựng một hệ thống chuyên biệt để phá mã với giá thành 250000 đô la Mỹ (Xem thêm: hệ thống phá mã DES của EFF ) Động cơ thúc đẩy EFF trong hành động này là nhằm chứng minh DES có thể bị phá vỡ trên lý thuyết cũng như trên thực tế: "Nhiều người không tin vào chân lý cho đến khi họ nhìn thấy sự việc bằng chính mắt mình Xây dựng một bộ máy có thể phá khóa DES trong vòng vài ngày là cách duy nhất chứng tỏ với mọi người rằng họ không thể đảm bảo an ninh thông tin dựa vào DES." Hệ thống này đã tìm được khóa DES bằng phương pháp bạo lực trong thời gian hơn 2 ngày.
Trang 21Các kiểu tấn công hiệu quả:
• Hiện nay có 3 kiểu tấn công có khả năng phá vỡ DES(với đủ 16 chu trình) với độ phức tạp thấp hơn phươngpháp bạo lực:
• Tuy nhiên các dạng tấn công này chưa thực hiệnđược trong thực tế
• Hiện nay có 3 kiểu tấn công có khả năng phá vỡ DES(với đủ 16 chu trình) với độ phức tạp thấp hơn phươngpháp bạo lực:
• Tuy nhiên các dạng tấn công này chưa thực hiệnđược trong thực tế
Trang 22Sự ra đời của AES:
Từ cuối thập niên 1980 , đầu thập niên 1990 , xuất phát từ những lo ngại về
độ an toàn và tốc độ thấp khi áp dụng bằng phần mềm , giới nghiên cứu đã
đề xuất khá nhiều thuật toán mã hóa khối để thay thế DES Những ví dụ tiêu biểu bao gồm: RC5 , Blowfish , IDEA (International Data Encryption
Algorithm, hay Thuật toán mã hóa dữ liệu quốc tế), NewDES , SAFER ,
bit của DES mặc dù chúng thường được thiết kế hoạt động với từ khóa 64 bit hay 128 bit.Ngay bản thân DES cũng có thể được sử dụng một cách an toàn hơn Những người sử dụng DES trước đây có thể dùng Triple DES (hay TDES) Đây là phương pháp được một trong những người phát minh
ra DES miêu tả và kiểm tra (Xem thêm FIPS PUB 46-3) Triple DES sử dụng DES ba lần cho một văn bản với những khóa khác nhau Hiện nay Triple DES được xem là an toàn mặc dù tốc độ thực hiện khá chậm Một phương pháp khác ít đòi hỏi khả năng tính toán hơn là DES-X với việc tăng độ dài từ khóa bằng cách thực hiện phép XOR từ khóa với phần thêm trước và sau khi thực hiện DES Một phương pháp nữa là GDES được đề xuất làm tăng tốc độ mã hóa nhưng nó được chứng tỏ là không an toàn trước tấn công vi sai (differential cryptanalysis).
Từ cuối thập niên 1980 , đầu thập niên 1990 , xuất phát từ những lo ngại về
độ an toàn và tốc độ thấp khi áp dụng bằng phần mềm , giới nghiên cứu đã
đề xuất khá nhiều thuật toán mã hóa khối để thay thế DES Những ví dụ tiêu biểu bao gồm: RC5 , Blowfish , IDEA (International Data Encryption
Algorithm, hay Thuật toán mã hóa dữ liệu quốc tế), NewDES , SAFER ,
bit của DES mặc dù chúng thường được thiết kế hoạt động với từ khóa 64 bit hay 128 bit.Ngay bản thân DES cũng có thể được sử dụng một cách an toàn hơn Những người sử dụng DES trước đây có thể dùng Triple DES (hay TDES) Đây là phương pháp được một trong những người phát minh
ra DES miêu tả và kiểm tra (Xem thêm FIPS PUB 46-3) Triple DES sử dụng DES ba lần cho một văn bản với những khóa khác nhau Hiện nay Triple DES được xem là an toàn mặc dù tốc độ thực hiện khá chậm Một phương pháp khác ít đòi hỏi khả năng tính toán hơn là DES-X với việc tăng độ dài từ khóa bằng cách thực hiện phép XOR từ khóa với phần thêm trước và sau khi thực hiện DES Một phương pháp nữa là GDES được đề xuất làm tăng tốc độ mã hóa nhưng nó được chứng tỏ là không an toàn trước tấn công vi sai (differential cryptanalysis).