1. Trang chủ
  2. » Luận Văn - Báo Cáo

tìm hiểu chuẩn mật mã dữ liệu des (data encryption standard) và đánh giá độ an toàn

70 578 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

Định dạng
Số trang 70
Dung lượng 882,28 KB

Nội dung

Thường thì các mục tiêu của an toàn bảo mật thông tin không thể đạt được nếu chỉ đơn thuần dựa vào các thuật toán toán học và các giao thức, mà để đạt được điều này đòi hỏi cần có các kỹ

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

HƯỚNG DẪN KHOA HỌC: TS HỒ VĂN CANH

THÁI NGUYÊN - 2014

Trang 3

Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi, không sao chép của ai do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp và thực hiện Nội dung lý thuyết trong trong luận văn tôi có sử dụng một số tài liệu tham khảo như đã trình bày trong phần tài liệu tham khảo Các số liệu, chương trình phần mềm và những kết quả trong luận văn là trung thực và chưa được công bố trong bất

kỳ một công trình nào khác

Thái Nguyên, … tháng … năm 2014

Học viên thực hiện

Nguyễn Thị Thủy

Trang 4

Để hoàn thành chương trình cao học và viết luận văn này, tôi đã nhận được sự hướng dẫn, giúp đỡ và góp ý nhiệt tình của quý thầy cô trường Đại học Công nghệ thông tin và Truyền Thông Thái Nguyên

Trước hết, tôi xin chân thành cảm ơn đến quý thầy cô trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên, đặc biệt là những thầy cô đã tận tình dạy bảo cho tôi suốt thời gian học tại trường

Tôi xin gửi lòng biết ơn sâu sắc đến Thầy giáo: TS Hồ Văn Canh đã

dành rất nhiều thời gian và tâm huyết hướng dẫn nghiên cứu và giúp tôi hoàn thành luận văn tốt nghiệp

Nhân đây, tôi xin chân thành cảm ơn Ban giám hiệu trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên cùng quý thầy cô trong khoa Khoa học máy tính và khoa sau đại học đã tạo điều kiện để tôi học tập và hoàn thành tốt khoá học

Mặc dù tôi đã có nhiều cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình và năng lực của mình, tuy nhiên không thể tránh khỏi những thiếu sót, rất mong nhận được những đóng góp quý báu của quý thầy cô và các bạn

Tôi xin thành cảm ơn !

Thái Nguyên, Ngày ……tháng…… năm 2014

Học viên

Nguyễn Thị Thủy

Trang 5

MỤC LỤC

LỜI CAM ĐOAN

LỜI CẢM ƠN

MỤC LỤC i

DANH MỤC BẢNG BIỂU ii

DANH MỤC HÌNH VẼ iii

MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT THÔNG TIN 2

1.1 TỔNG QUAN VỀ AN TOÀN THÔNG TIN DỮ LIỆU 2

1.2 KHÁI NIỆM MẬT MÃ VÀ MẬT THÁM 3

1.3 MỤC TIÊU VÀ NGUYÊN TẮC CHUNG CỦA AN TOÀN BẢO MẬT THÔNG TIN 3

1.4 PHÂN LOẠI CÁC THUẬT TOÁN MẬT MÃ HỌC 4

1.5 CÁC ĐẶC TRƯNG CƠ BẢN CỦA BẢN TIN RÕ 5

1.5.1 Tần số: 5

1.5.2 Sự trùng lặp 6

1.6 TIÊU CHUẨN BẢN RÕ 7

1.7 CÁC BƯỚC CƠ BẢN ĐỂ TIẾN HÀNH THÁM MÃ 8

CHƯƠNG 2: TÌM HIỂU VỀ CHUẨN MẬT MÃ DỮ LIỆU DES VÀ ĐÁNH GIÁ ĐỘ AN TOÀN 13

2.1 HỆ MÃ DES 13

2.1.1 Mô tả hệ mật 13

2.1.2 Mã hoá và giải mã DES 20

2.1.3 Một số ví dụ 21

2.2 MỘT SỐ PHƯƠNG PHÁP THÁM MÃ DES 25

2.2.1 Thám mã vi sai 25

2.2.1.1 Thám mã hệ DES – 3 vòng 29

2.2.1.2 Thám mã hệ DES 6-vòng 34

2.2.1.3 Các thám mã vi sai khác 40

Trang 6

2.2.2 Thám mã tuyến tính đối với DES 40

2.2.2.1 Nguyên lý chung của phương pháp thám mã tuyến tính đối với hệ DES 40

2.2.2.2 Xấp xỉ tuyến tính các hộp nén 44

2.2.2.3 Xấp xỉ tuyến tính hệ mã DES 45

2.2.2.4 Tấn công bản rõ đã biết đối với hệ mã DES 49

2.2.3 Thám mã phi tuyến đối với DES 50

2.2.3.1 Thiết lập các quan hệ bậc hai của hộp S 51

2.2.3.2 Áp dụng vào thám mã phi tuyến 51

2.3 ĐÁNH GIÁ ĐỘ AN TOÀN CỦA DES 53

2.3.1 Các đặc trưng an toàn cơ bản cả một hệ mã khối 53

2.3.2 Đánh giá chung về độ mật của DES 53

2.3.3 Ưu điểm của hệ mật mã DES 54

2.3.4 Các điểm yếu của DES 54

2.3.4.1 Tính bù: 54

2.3.4.2 Khóa yếu 54

2.3.4.3 DES có cấu trúc đại số 55

2.3.4.4 Không gian khóa K 56

2.4 ĐỀ XUẤT MỘT CÁCH KHẮC PHỤC NHƯỢC ĐIỂM 56

CHƯƠNG 3: MÔ PHỎNG THUẬT TOÁN DES 58

3.1 PHÂN TÍCH BÀI TOÁN 58

3.2 PHẠM VI ỨNG DỤNG 58

3.3 KẾT QUẢ MÔ PHỎNG 58

3.3.1 Thiết kế kiến trúc 58

3.3.2 Thiết kế giao diện 59

KẾT LUẬN 61

TÀI LIỆU THAM KHẢO 62

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 1.1 : Bảng tần số đơn tiếng Việt không dấu 6

Bảng 2.1 Bảng chọn bit 16

Bảng 2.2: Các khóa yếu của DES 54

Bảng 2.3 : Các khóa nửa yếu của DES 55

Trang 8

DANH MỤC HÌNH VẼ

Hình 2.1 Biểu diễn dãy 64 bit x thành 2 thành phần L và R 13

Hình.2.2: Quy trình phát sinh dãy 64 bit LiRi từ dãy 64 bit Li-1Ri-1và khóa Ki 13

Hình 2.3 Hàm f 14

Hình 2.4 : Mô tả quá trình tạo khoá 19

Hình 2.5 Mô hình DES với quy ước mới 42

Hình 2.6 Sơ đồ xấp xỉ tuyến tính hệ mã DES 3 vòng 46

Hình 2.7 Sơ đồ xấp xỉ tuyến tính hệ mã DES 5 vòng 48

Hình 3.1 Sơ đồ chức năng của chương trình mô phòng 58

Hình 3.2 Giao diện chính của chương trình mô phỏng 59

Hình 3.3 Giao diện mã hóa và giải mã 60

Trang 9

MỞ ĐẦU

Ngày nay, khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng phát triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng ngày càng được đổi mới Bảo

vệ an toàn thông tin dữ liệu và một chủ đề rộng, có liên quan đến nhiều lĩnh vực

và trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu

Trong số các phương pháp đảm bảo an toàn thông tin thì phương pháp mật

mã hoá (cryptography) được sử dụng rộng rãi và đảm bảo an toàn nhất Tuy nhiên phương pháp mật mã hoá cũng có những nhược điểm quan trọng, nếu là phương pháp mật mã hoá không tốt (mặc dù việc quản lý khoá mã được giả thiết là an toàn) thì rất nguy hiểm Vậy làm thế nào để đánh giá được chất lượng một hệ mật mã là

tốt? Hiểu được tính cấp thiết và quan trọng nên tôi chọn đề tài “Tìm hiểu chuẩn mật

mã dữ liệu DES (Data Encryption Standard) và đánh giá độ an toàn” Luận văn

đóng góp một phần nhỏ vào việc nhìn nhận và đánh giá một hệ mật an toàn từ đó xây dựng các phương pháp bảo mật tốt hơn

Luận văn gồm các chương sau:

- Chương 1: Tổng quan về bảo mật thông tin

- Chương 2: Tìm hiểu về chuẩn mật mã DES và đánh giá độ an toàn

- Chương 3: Chương trình mô phỏng thuật toán DES

Trang 10

CHƯƠNG 1 TỔNG QUAN VỀ BẢO MẬT THÔNG TIN

1.1 TỔNG QUAN VỀ AN TOÀN THÔNG TIN DỮ LIỆU

Trải qua nhiều thế kỷ hàng loạt các giao thức (Protocol) và cơ chế (Mechanism) đã được tạo ra để đáp ứng nhu cầu an toàn bảo mật thông tin khi nó được truyền tải trên các hệ thống truyền tin số Thường thì các mục tiêu của an toàn bảo mật thông tin không thể đạt được nếu chỉ đơn thuần dựa vào các thuật toán toán học và các giao thức, mà để đạt được điều này đòi hỏi cần có các kỹ thuật mang tính thủ tục và sự tôn trọng mang tính điều luật Chẳng hạn sự bí mật của các bức thư tay

là do sự phân tán các lá thư đã có đóng dấu bởi dịch vụ thư tín đã được chấp nhận Tính an toàn về mặt vật lý của các lá thư là hạn chế (nó có thể bị xem trộm) nên để đảm bảo sự bí mật của bức thư pháp luật đưa ra quy định: việc xem thư mà không được sự đồng ý của chủ nhân hoặc những người có thẩm quyền là phạm pháp và sẽ

bị trừng phạt Đôi khi mục đích của an toàn bảo mật thông tin lại đạt được nhờ chính phương tiện vật lý mang chúng, chẳng hạn như tiền giấy đòi hỏi phải được in bằng loại mực và giấy tốt để không bị làm giả

Về mặt lý tưởng việc lưu giữ thông tin là không có nhiều thay đổi đáng kể qua thời gian Ngày xưa thông tin thường được lưu và vận chuyển trên giấy tờ, trong khi giờ đây chúng được lưu dưới dạng số hoá và được vận chuyển bằng các hệ thống viễn thông (các hệ thống có dây hoặc không dây) Tuy nhiên sự thay đổi đáng kể đến ở đây chính là khả năng sao chép và thay đổi thông tin Người ta có thể tạo ra hàng ngàn mẫu tin giống nhau và không thể phân biệt được nó với bản gốc Với các tài liệu lưu trữ và vận chuyển trên giấy điều này khó khăn hơn nhiều Và điều cần thiết đối với một xã hội mà thông tin hầu hết được lưu và vận chuyển trên các phương tiện điện tử chính là các phương tiện đảm bảo an toàn bảo mật thông tin độc lập với các phương tiện lưu trữ và vận chuyển vật lý của nó Phương tiện đó chính là mật mã học, một ngành khoa học có lịch sử lâu đời dựa trên nền tảng các thuật toán toán học, số học, xác suất và các môn khoa học khác

Trang 11

1.2 KHÁI NIỆM MẬT MÃ VÀ MẬT THÁM

Mật mã đã được con người sử dụng từ lâu đời Khoảng 4000 năm trước, để tỏ lòng tôn kính những người đã chết, người Ai Cập đã khắc những mã hiệu tượng hình lên các ngôi mộ Qua nhiều thế kỷ, phương pháp mật mã cũng đã có nhiều biến đổi Chúng ta tạm phân mã làm hai phần, mật mã cổ điển và mật mã “hiện đại”.Mật mã hiện đại gồm mật mã đối xứng và mật mã không đối xứng Mật mã hiện nay đang phát triển mạnh như mật mã khoá với thuật toán: DES, 3 DES, IDEA, Feal, AES, RSA….Còn mật mã cổ điển là mật mã được mã hoá và giải mã bằng thủ công, mật

mã loại này ra đời sớm nhất, nó được sử dụng phát triển lâu đời và cơ sở, nền tảng

để phát triển mật mã hiện nay

Một số khái niệm mật mã và mã thám

- Mật mã (Cryptography): mật mã là tập hợp mọi phương pháp (hoặc quy tắc)

biến đổi nào đó nhằm chuyển các đoạn tin (messages) dưới dạng nhận thức được nội dung (như chữ viết, tiếng nói, hình ảnh…) thành dạng bí mật mà những người ngoài không hiểu được nội dung nếu họ không biết được phương pháp biến đổi nó

- Bản tin rõ (Plain text): Bản rõ tức là một bản tin có mang nội dung thông tin

mà người đọc có thể hiểu được nó nói cái gì hoặc là nó có ý nghĩa rõ ràng Bản tin rõ

có thể tồn tại dưới dạng chữ viết, tiếng nói, hình vẽ, biểu bảng… tương ứng ta sẽ có khái niệm mã ký tự, mã thoại, mã fax, mã dữ liệu

- Bản mã mật (Cipher text): Bản mã mật thường được biểu diễn dưới dạng

một dãy các ký hiệu hoặc có thể cũng thuộc bảng chữ cái những không theo một quy tắc cú pháp nào cả Có thể xem đó là dãy ngẫu nhiên

- Mã thám: Quá trình khôi phục lại bản rõ hoặc khoá mã khi chỉ có bản mã

mật tương ứng cho trước được gọi thám mã

1.3 MỤC TIÊU VÀ NGUYÊN TẮC CHUNG CỦA AN TOÀN BẢO MẬT THÔNG TIN

Ba mục tiêu của an toàn bảo mật thông tin:

- Tính bí mật: Tài sản của hệ thống chỉ được truy cập bởi những người có thẩm quyền Các loại tuy cập gồm có: đọc (reading), xem (viewing), in ấn (printing),

sử dụng chương trình, hoặc hiểu biết về sự tồn tại của một đối tượng trong tổ chức

Trang 12

Tính bí mật có thể được bảo vệ nhờ việc kiểm soát truy cập ( theo nhiều kiểu khác nhau) hoặc nhờ các thuật toán mã hóa dữ liệu Kiểm soát truy cập chỉ có thể được thực hiện với các hệ thống phần cứng vật lý Còn đối với các dữ liệu công cộng thì thường phương pháp hiệu quả là các phương pháp của mật mã học

- Tính toàn vẹn dữ liệu: Tài sản của hệ thống chỉ được thay đổi bởi những người có thẩm quyền

- Tính sẵn dùng: Tài sản luôn được sử dụng bởi những người có thẩm quyền Hai nguyên tắc của an toàn bảo mật thông tin:

- Việc thẩm định về bảo mật phải là khó và cần tính tới tất cả các tình huống, khả năng tấn công có thể được thực hiện

- Tài sản được bảo vệ cho tới khi hết giá trị sử dụng hoặc hết ý nghĩa bí mật

1.4 PHÂN LOẠI CÁC THUẬT TOÁN MẬT MÃ HỌC

Có nhiều các khác nhau để chúng ta có thể phân loại thuật toán mật mã học, ở đây chúng ta sẽ phân loại các thuật toán mật mã học dựa vào hai tiêu chí

Tiêu chí thứ nhất là dựa vào các dịch vụ an toàn bảo mật mà các thuật toán cung cấp, dựa vào số lượng khóa sử dụng (0, 1, 2) chúng ta có các thuật toán mã hóa sau:

1 Các thuật toán mã hóa khóa bí mật tương ứng với các hệ mã khóa bí mật hay đối xứng SKC ( Symmetric Key cryptosytems), do vai trò của người nhận và người gửi là như nhau, cả hai đều có thể mã hóa và giải mã thông điệp, như Caesar, DES, AES…Khóa sử dụng cho các thuật toán này là 1 khóa cho cả việc

3 Các thuật toán tạo chữ ký điện tử (Digital Signature Algorthms) Các thuật toán tạo chữ ký điện tử tạo thành các hệ chữ ký điện tử Thông thường mỗi hệ chữ

ký điện tử có cùng cơ sở lý thuyết với một hệ mật mã khóa công khai nhưng với cách áp dụng khác nhau: RSA, EIGamma,…

Trang 13

Tiêu chí thứ hai phân loại các thuật toán mã hóa dựa trên cách thức xử lý input của thuật toán ( tức là bản rõ), dựa trên tiêu chí này chúng ta có hai loại thuật toán

mã hóa sau:

1 Các thuật toán mã hóa khối ( chẳng hạn như: DES, AES,…) xử lý bản rõ dưới các đơn vị cơ bản là các khối có kích thước giống nhau

1.5 CÁC ĐẶC TRƯNG CƠ BẢN CỦA BẢN TIN RÕ

Để nghiên cứu thám mã được các bản mã mật thường người mã thám phải nghiên cứu các đặc trưng cơ bản của bãn tin rõ Đó là quy luật tần số, quy luật trùng lặp, quy luật văn phong…Nói một cách khác trong mọi ngôn ngữ tự nhiên đều có những đặc trưng bất biến mà mã thám viên cần nắm vững để phục vụ việc phân tích các bản mã Để tiện nghiên cứu luận văn dùng tiếng Anh làm đối tượng nghiên cứu trong toàn bộ luận văn

Trang 14

Bảng 1.1 : Bảng tần số đơn tiếng Việt không dấu

Trang 15

Sự trùng lặp là một quy luật của bất cứ ngôn ngữ tự nhiên nào Đó là đặc trưng thứ hai của ngôn ngữ được thể hiện trên các bản tin (sau đây gọi là bản tin rõ) Ngoài quy luật tần số thì quy luật trùng lặp rất cần thiết và có thể nói chúng không thể thiếu đối với công tác thám mã truyền thống

mã mật và bằng cách nào đó, họ đã biết được thuật toán mã hoá (và giải mã)

Tuy không biết được mã hoá và giải mã (dịch) cụ thể nhưng nhà mã thám có thể biết tất cả khả năng có thể của khoá Từ đó, người ta thử cho đầu vào là bản mã

và khoá (dự đoán) lấy trong không gian khoá rồi thử dịch Kết quả đầu ra sẽ là một dãy nào đó (có thể đọc được có nghĩa cũng có thể không có nghĩa gì cả) mà ta vẫn gọi là bản rõ Nhưng bản rõ này nói chung chưa thể hiện được quy luật tần số và trùng lặp Nó chỉ thể hiện được quy luật tần số và trùng lặp nếu khoá mà ta đưa vào

là đúng hoặc có sai cũng chỉ sai một vài ký tự Nhưng làm cách nào để biết được quy luật tần số và trùng lặp được thể hiện trên bản rõ mà ta vừa tạo ra (từ khoá và bản mã ban đầu được gọi là bản mã gốc)

Tiêu chuẩn bản rõ giúp ta tự động xác định” bản rõ” nào thể hiện quy luật tần

số và trùng lặp Nhờ tiêu chuẩn bản rõ nhà mã thám có thể phân chia không gian khoá thành hai nhóm, một nhóm cho phép tạo ra được bản rõ có quy luật tần số và trùng lặp, một nhóm gồm các khoá còn lại Trong thực tế, nhóm gồm các khoá cho phép tạo ra “bản rõ” có quy luật là rất ít so với nhóm còn lại Từ đó chúng ta tiến hành kiểm tra tiếp và kết hợp với mắt thường, chúng ta giải ra được bản rõ ban đầu cần tìm và khoá mà ta mong muốn

Trang 16

Có nhiều phương pháp khác nhau để tạo ra các “ tiêu chuẩn bản rõ” khác nhau

Do không gian khoá thường rất lớn, nên cần có một tiêu chuẩn bản rõ, với tốc độ tính toán càng nhanh và càng chính xác càng tốt, trong đó tốc độ tính toán được ưu tiên số một

1.7 CÁC BƯỚC CƠ BẢN ĐỂ TIẾN HÀNH THÁM MÃ

Sau khi nhận được các bức điện mã hoá, các nhà phân tích mật mã (mã thám) cần thực hiện một loạt các bước nghiên cứu nhằm khôi phục được bản rõ (hoặc khoá) từ các bản mã nhận được Sau đây là một số bước cơ bản nhất:

Bước 1: Phân loại bản mã

Sau khi nhận được một số bức điện mã, các nhà phân tích mật mã cần phân loại xem những bức điện mã có cùng một loại mã pháp hay không, có cùng một loại khoá mã hay không, mặc dù chúng ta chưa biết được mã pháp (phương pháp mã hoá) của các bức điện đó, nhưng chúng vẫn cần được phân loại (phân lớp) Đây là một bước quan trọng quyết định sự thành công hay thất bại nên mất rất nhiều thời gian Nếu việc phân loại chính xác thì sẽ thuận lợi cho các bước tiến hành tiếp theo, ngược lại thì sẽ gây khó khăn cho các bước tiếp theo

Người ta có nhiều phương pháp thực thi giai đoạn này, một trong số đó là áp dụng kỹ thuật phân lớp các đối tượng Ý tưởng của bài toán phân lớp như sau:

một đối tượng Tập hợp m bản mã (các đối tượng) ta ký hiệu là G

Trang 17

và sao cho sai sót trong phân lớp là bé nhất có thể được Để thực hiện việc phân lớp các đối tượng ta cần đưa ra một độ đo” khoảng cách” giữa các đối tượng Các đối tượng càng “ gần gũi” nhau sẽ được gán cho cùng một lớp

Bước 2: Xác định mã pháp

Sau khi hoàn thành việc phân lớp (phân loại mã pháp) ở bước một, chúng ta tiến hành xác định phương pháp mã dịch ứng với từng lớp cụ thể (cần chú ý rằng, thường thì chúng ta tiến hành xác định mã pháp đối với các bản mã có nhiều đặc điểm nhất theo quan điểm của các nhà thám mã) Đây là một khâu rất quan trọng của công tác thám mã truyền thống Tuy nhiên đối với một số hệ mật đối xứng hiện đại như mã DES, 3 DES, AES, IDEA, PGP….thì bước này coi như bỏ qua bởi ngay từ đầu bản

mã, người ta đã chỉ ra rằng bản mã đó thuộc loại mã pháp nào Ở đây chỉ trình bày cách thức xác định mã pháp đối với các luật mã truyền thống (bước này được bỏ qua đối với những hệ mật mà thuật toán mã hoá - phương pháp mã - được công khai hoàn toàn) Bước này bao gồm các công việc sau đây:

a Tính tần số:

Mục đích tính tần số là để phát hiện tính quy luật không ngẫu nhiên tồn tại trong bản mã Có rất nhiều loại tần số khác nhau cần tính, mà mỗi mã pháp có thể tồn tại tính không ngẫu nhiên (có quy luật) đối với loại mã khác nhau Tuỳ thuộc vào kinh nghiệm của từng nhà phân tích, người ta tiến hành tính tần số loại phù hợp nhất, thông qua đó có thể bộc lộ rõ nhất tính quy luật trong bản mã Việc tính tần số thường gồm:

- Tính tần số đơn: tần số đơn là tần số từng ký tự trong bản mã

- Tính tần số móc xích: tần số móc xích là tần số bộ đôi nhưng các cặp kề đè lên nhau một ký tự Mục đích của việc tính tần số bộ đôi móc xích là để xem quan

hệ phụ thuộc giữa ký tự sau với ký tự kề ngay trước đó như thế nào (ta thường gọi là quan hệ xích Markov cấp 1) Từ đó có thể ước lượng được xác suất hiện một ký tự nào đó khi biết trước ký tự đứng ngay trước nó

- Tính tần số bộ đôi thường: tần số bộ đôi thường là tần số bộ đôi rời nhau

Trang 18

- Tính tần số bộ 3, 4, 5 : tuỳ theo từng trường hợp cụ thể đôi khi chúng ta phải tính tần số bộ 3, 4, 5

b Tính trùng mã :

Tính trùng mã tức là tính tần số trùng lặp của các dãy ký tự liền nhau trong bản

mã Thường tính trùng lặp 3 ký tự (bộ 3), 4 ký tự (bộ 4), 5 ký tự (bộ 5), có thể xuất hiện trong bản mã và vị trí của chúng trong bản mã đó

Khi tính trùng mã ta phải quan tâm các tham số sau đây:

1 Tần số trùng mã (trùng lặp)

2 Độ dài trùng lặp

3 Vị trí các trùng lặp

4 Khoảng cách giữa các trùng lặp

5 Trùng mã trong một bản mã và trong các bản mã khác nhau

Những tham số trên đây rất có ích trong việc xác định mã pháp

c Phân tích kết quả tính các tần số và trùng mã

Bước này dựa vào các kết quả tính các loại tần số, trùng mã để kết luận bản mã( các bản mã), đó thuộc loại mã pháp nào Để đánh giá độ chênh lệch tần số hoặc tính độc lập của các ký tự trong văn bản Nói chung việc xác định mã pháp là công việc rất phức tạp, nó phụ thuộc một phần vào trình độ và kinh nghiệm của các mã thám viên Có nhiều trường hợp thoáng nhin bản mã người ta đã dự đoán được phương pháp mã nhưng cũng có rất nhiều trường hợp phải nghiên cứu rất công phu

mà độ rủi ro không phải là không có

Trang 19

hành thám mã trực tiếp (thực hiện thủ công và sau đó có thể tự động hoá bằng lập trình trên máy tính)

- Phương pháp dự đoán

Phương pháp này chủ yếu dựa vào thông tin tiên nghiệm về khoá và thông tin

về bản mã (quy luật ngôn ngữ) để dự đoán khoá được sử dụng

Nội dung phương pháp này là dự đoán cụm từ có thể xuất hiện trong bản rõ gốc ứng với bản mã, sau đó tìm cách xác định khoá đúng Nếu khoá là đúng thì có thể dịch bản mã để cho ra bản rõ…

Ngoài một số phương pháp truyền thống trên, ngày nay nhờ tốc độ máy tính

đã được đã được cải thiện đáng kể, trong những bài toán mà không gian khoá không quá lớn người ta còn có thể áp dụng một phương pháp nữa đó là „vét cạn‟ Đối với không gian khoá lơn, đây thật sự là phương pháp tồi nếu chúng ra chỉ thực hiện „vét cạn‟ một cách thông thường Tuy nhiên nếu áp dụng đồng thời các

kỹ thuật bổ trợ thì nó vẫn phát huy được hiệu quả tốt Các kỹ thuật hỗ trợ được nói tới ở đây là xây dựng một thư viện phục vụ việc „vét cạn‟ bao gồm cơ sở dữ liệu về khoá và các tiêu chuẩn bản rõ tốt Trên cơ sở dò tìm cách phân hoạch không gian khoá S thành hai tập con rời nhau là S1 và S2 sao cho khoá đúng sẽ

„chắc chắn‟ thuộc một trong hai tập con đó Từ đó tiến hành sử dụng thuật toán vét cạn trên tập con có chứa khoá đúng, khi đó việc vét cạn trong tập con nhanh chóng thể hiện tính hiệu lực của nó Việc này cũng có thể ngay đối với một số

Trang 20

phương pháp truyền thống đã có được kết quả đáng ngạc nhiên Khi thám mã ra bản rõ ta chỉ cần đọc được lỗ chỗ đã là thành công vì lúc đó bằng quy luật ngôn ngữ ta sẽ khôi phục được bản rõ gốc như mong muốn

Ngày nay, người ta đã có những công cụ tính toán cực nhanh nhờ công nghệ Cluster Từ đó người ta có thể xây dựng mạng tính toán song song với tốc độ tính toán đạt với gần 100GF (một trăm tỷ phép tính dấu phảy động trên một giây) Như vậy người ta có phân rã bài toán để thực hiện việc tính toán song song cực kỳ hiệu quả, đặc biệt đối với những bài toán có độ phức tạp tính toán

Trang 21

CHƯƠNG 2 TÌM HIỂU VỀ CHUẨN MẬT MÃ DỮ LIỆU DES

VÀ ĐÁNH GIÁ ĐỘ AN TOÀN

2.1 HỆ MÃ DES

2.1.1 Mô tả hệ mật

Phương pháp DES mã hóa đoạn tin x có độ dài 64 bit với khóa k có độ dài 56 bit

thành một đoạn tin y có độ dài 64 bit Thuật toán mã hóa bao gồm 3 giai đoạn:

64 bit) bằng cách hoán vị các bit trong đoạn tin x theo một hoán vị cho trước IP

X0

Hình 2.1 Biểu diễn dãy 64 bit x thành 2 thành phần L và R

L i = R i-1

R i = L i-1 f (R i-1 , K i)

cách hoán vị các bit trong khóa K cho trước)

Trang 22

3 Áp dụng hoán vị ngƣợc IP-1 đối với dãy bit R16L16, thu đƣợc đoạn tin y gồm 64 bit Nhƣ vậy, y = IP-1 (R16L16)

Trang 23

Hàm f có gồm 2 tham số: Tham số thứ nhất A là một dãy 32 bit, tham số thứ hai

J là một dãy 48 bit Kết quả của hàm f là một dãy 32 bit Các bước xử lý của hàm f(A, J)như sau:

Tham số thứ nhất A (32 bit) được mở rộng thành dãy 48 bit bằng hàm mở rộng

E Kết quả của hàm E(A) là một dãy 48 bit được phát sinh từ A bằng cách hoán vị theo một thứ tự nhất định 32 bit của A, trong đó có 16 bit của A được lập lại 2 lần trong E(A)

Thực hiện phép toán XOR cho 2 dãy 48 bit E(A) và J, ta thu được một dãy 48

Dãy 32 bit thu được bằng cách hoán vị C theo một quy luật P nhất định chính là kết quả của hàm F(A, J)

Hoán vị khởi tạo IP như sau:

Trang 24

Điều này có nghĩa là bit thứ 58 của x là bit đầu tiên của IP(x); bit thứ 50 của

x là bit thứ hai của IP(x) v.v

Trang 25

Tám hộp S và hoán vị P đƣợc biểu diễn nhƣ sau:

Trang 26

S Các bit từ thứ 2 đến bit thứ 5 tạo thành một từ 4 bit, mà giá trị của nó từ 0 đến 15, đƣợc sử dụng để chọn phần tử trong dòng liên quan (bit về phía bên trái có trọng số lớn nhất) Mỗi một dòng của bảng các hộp S đặc trƣng cho một số nhị phân xuất phát từ các bit 2 đến 5 ở đầu vào của các hộp S

Trang 27

K là xâu chuỗi có độ dài 64 bit, trong đó có 56 bit dùng làm khóa và 8 bit dùng để kiểm tra lỗi Các bit ở các vị trí 8, 16, , 64 đƣợc xác định, sao cho mỗi byte chứa số lẻ các số 1 Vì vậy, từng lỗi có thể đƣợc phát hiện trong mỗi 8 bit Các bit kiểm tra đƣợc bỏ qua khi tính lịch khóa

1 Cho khóa 64 bit K, loại bỏ các bit kiểm tra và hoán vị các bit còn lại của K

2 Với i nằm trong khoảng từ 1 đến 16, ta tính

C0 D0

C1 D1 PC-2 K1

LS1 PC-1

Trang 28

Các hoán vị PC-1 và PC-2 đƣợc sử dụng trong việc tính lịch khóa là nhƣ sau :

2.1.2 Mã hoá và giải mã DES

Giải mã làm ngƣợc lại quá trình mã hoá Với thiết kế Fiestel thực hiện mã hoá

tiếp với các khoá con từ SK16 ngƣợc lại về SK1 Nhận thấy rằng hoán vị ban đầu IP

vòng mã thứ 16 Vòng thứ 16 với SK1 sẽ trả lại tác dụng của vòng mã đầu tiên

Trang 29

Hoán vị cuối IP-1 trả lại tác dụng hoán vị ban đầu IP Nhƣ vậy đã khôi phục lại đƣợc

dữ liệu ban đầu

Trang 33

Bây giờ ta sẽ mô tả những ý tưởng cơ bản của kỹ thuật này Để đạt mục đích thám mã, ta có thể bỏ qua hoán vị khởi tạo IP và hoán vị đảo của nó (bởi vì điều đó

không cần thiết cho việc thám mã) Như đã nhận xét ở trên, ta xét các hệ DES n

Thám mã vi sai đòi hỏi phải so sánh XOR(exclusive-or) của hai bản rõ với

Trang 34

với trị XOR đƣợc đặc tả L0‟R0‟ = L0R0 L0*R0* Trong những thảo luận sau ta sẽ

sử dụng ký hiệu ( ) để chỉ của hai xâu bit

Định nghĩa 2.1: Cho Sj là một hộp S (1 j 8) Xét một cặp xâu 6-bit là

Sj(Bj) Sj(Bj*)

Chú ý là xâu nhập XOR là xâu bit có độ dài 6, còn xâu xuất XOR có độ dài 4

cặp (Bj,Bj*) có nhập là Bj

(Bj‟) = {(Bj, Bj Bj‟) : Bj (Z2) 6 }

= 16 giá trị có thể có Tính không đồng đều của các phân bố đó là cơ sở để mã thám

Ví dụ 2.2: Giả sử ta xét S1 là hộp S đầu tiên và xâu nhập XOR là 110100 Khi đó: (110100) = {(000000, 110100), (000001, 110101), , (111111, 001011)}

nhƣ vậy xâu xuất XOR cho cặp (000000,110100) là 0111

Nếu thực hiện điều đó cho 64 cặp trong (110100) thì ta nhận đƣợc phân bố của các xâu XOR xuất sau:

Trong ví dụ 2.2, chỉ có 8 trong số 16 xâu XOR xuất có thể có xuất hiện thật

sự Ví dụ cụ thể này đã chỉ ra sự phân bố rất không đều của các xâu XOR xuất Nói

80% các xâu XOR xuất có thể có xuất hiện thực sự

Để mô tả các phân bố đó ta đƣa ra định nghĩa sau:

Trang 35

Định nghĩa 2.3: Với 1 j 8 và với các xâu bit Bj‟ độ dài 6 và Cj‟ độ dài 4,

ta định nghĩa:

INj(Bj‟,Cj‟) = {Bj (Z2)6 : Sj(Bj) Sj(Bj Bj‟) = Cj‟}

Nj(Bj‟, Cj‟) = INj(Bj‟, Cj‟) Bảng sau sẽ cho các xâu nhập có thể có với xâu XOR nhập 110100

Ngày đăng: 23/12/2014, 10:45

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] TS. Hồ Văn Canh,TS. Hoàng Minh Tuấn (2008), Thám mã các văn bản đƣợc mã hoá bằng cách chuẩn mã khối, đăng trong tạp chí khoa học nghiệp vụ I - Bộ Công an, số tháng 7/2008, Hà Nội Sách, tạp chí
Tiêu đề: đăng trong tạp chí khoa học nghiệp vụ I - Bộ Công an
Tác giả: TS. Hồ Văn Canh,TS. Hoàng Minh Tuấn
Năm: 2008
[1] PGS.TS Thái Hồng Nhị, TS Phạm Minh Việt (2004), An toàn thông tin, Nhà xuất bản Khoa học và Kỹ thuật, Hà Nội Khác
[3] TS. Hồ Văn Canh, TS. Nguyễn Viết Thế (2010), Nhập môn phân tích thông tin có bảo mật. Nhà xuất bản Thông tin và Truyền thông, Hà Nội.Tiếng Anh Khác
[4] Curtin, M: Brute Force (2005), Cracking the data Encryption standard( DES), Spinger – Verlag Khác
[5] Don Coppersmith (1994), The data encryption standard (DES) and its strength against attacks. IBM, Journal of Research and Development Khác

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w