1. Trang chủ
  2. » Giáo án - Bài giảng

Chuong2 các hệ mật mã cổ điển

24 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 2 Các hệ mật mã cổ điển
Trường học Trường Đại học Công Nghệ Thông Tin - ĐHQG Hà Nội
Chuyên ngành Mật mã và An toàn Thông tin
Thể loại Giáo trình môn học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 24
Dung lượng 1,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

để 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 4

Mã 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 5

Mã 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 6

Mã chuyển dịch (shift cipher)

Trang 7

Mã 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 8

Mã 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 10

Mã 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 11

Mã 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 12

Mã 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 13

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!

• 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 14

2.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 15

Sự 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 16

Mô 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 17

Mô 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 18

Khóa K

L 1 R 1

L 0 R 0

Bản rõ X IP

f +

Trang 19

Vấ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 20

Cá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 21

Cá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 22

Sự 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).

Ngày đăng: 01/11/2022, 23:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w