Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Luận văn tìm hiểu một số sơ đồ thỏa thuận khóa bí mật và ứng dụng trong thanh to...

Tài liệu Luận văn tìm hiểu một số sơ đồ thỏa thuận khóa bí mật và ứng dụng trong thanh toán điện tử

.PDF
73
226
100

Mô tả:

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT & TT NÔNG THỊ LỆ QUYÊN TÌM HIỂU MỘT SỐ SƠ ĐỒ THỎA THUẬN KHÓA BÍ MẬT VÀ ỨNG DỤNG TRONG THANH TOÁN ĐIỆN TỬ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2015 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT&TT NÔNG THỊ LỆ QUYÊN TÌM HIỂU MỘT SỐ SƠ ĐỒ THỎA THUẬN KHÓA BÍ MẬT VÀ ỨNG DỤNG TRONG THANH TOÁN ĐIỆN TỬ Chuyên ngành: Khoa học máy tính Mã số chuyên ngành: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS TRỊNH NHẬT TIẾN Công trình đƣợc hoàn thành tại: Trƣờng ĐH Công nghệ thông tin và Truyền thông – ĐH Thái Nguyên Người hướng dẫn khoa học: PGS.TS Trịnh Nhật Tiến Phản biện 1: Phản biện 2: Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn họp tại: ................................................................................................... Vào hồi ..... giờ ... ...ngày ..... tháng năm 2015 i LỜI CAM ĐOAN Tôi xin cam đoan luận văn này của tự bản thân tôi tìm hiểu, nghiên cứu dưới sự hướng dẫn của PGS.TS Trịnh Nhật Tiến. Các chương trình thực nghiệm do chính bản thân tôi lập trình, các kết quả là hoàn toàn trung thực. Các tài liệu tham khảo được trích dẫn và chú thích đầy đủ. TÁC GIẢ LUẬN VĂN Nông Thị Lệ Quyên ii LỜI CẢM ƠN Tôi xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy cô giáo Viện công nghệ thông tin – Viện Hàn lâm Khoa học và Công nghệ Việt Nam, các thầy cô giáo Trường Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên đã dạy dỗ chúng em trong suốt quá trình học tập chương trình cao học tại trường. Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo PGS.TS Trịnh Nhật Tiến, Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội đã quan tâm, định hướng và đưa ra những góp ý, gợi ý, chỉnh sửa quí báu cho em trong quá trình làm luận văn tốt nghiệp. Cuối cùng, em xin chân thành cảm ơn các bạn bè đồng nghiệp, gia đình và người thân đã quan tâm, giúp đỡ và chia sẻ với em trong suốt quá trình làm luận văn tốt nghiệp. Thái Nguyên, ngày tháng năm 20 HỌC VIÊN Nông Thị Lệ Quyên iii MỤC LỤC LỜI CAM ĐOAN ................................................................................................................. I LỜI CẢM ƠN ...................................................................................................................... II MỤC LỤC ......................................................................................................................... III DANH MỤC CÁC HÌNH VẼ ............................................................................................ V DANH MỤC CÁC TỪ VIẾT TẮT.................................................................................. VI MỞ ĐẦU ............................................................................................................................... 1 CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN ...................................................................... 3 1.1. VẤN ĐỀ MÃ HÓA.................................................................................................... 3 1.1.1. Mã hóa khóa đối xứng (mã hóa khóa riêng) ....................................................... 6 1.1.2. Mã hóa khóa bất đối xứng (mã hóa khóa công khai) ....................................... 14 1.2. VẤN ĐỀ VỀ CHỮ KÍ ĐIỆN TỬ ............................................................................ 16 1.2.1. Chữ kí điện tử ................................................................................................... 17 1.2.2. Chữ kí số........................................................................................................... 17 1.3. VẤN ĐỀ QUẢN LÍ KHÓA .................................................................................... 25 1.3.1. Khóa và một số khái niệm ................................................................................ 25 1.3.2. Vấn đề quản lí khóa bí mật ............................................................................... 26 1.3.3. Vấn đề quản lí khóa công khai ......................................................................... 27 CHƢƠNG 2. MỘT SỐ SƠ ĐỒ THỎA THUẬN KHÓA BÍ MẬT ................................ 29 2.1. THỎA THUẬN KHÓA BÍ MẬT BẰNG CÁCH GỬI KHÓA BÍ MẬT ............. 29 2.2. THỎA THUẬN KHÓA BÍ MẬT BẰNG CÁCH KHÔNG GỬI KHÓA ............ 29 2.2.1.Sơ đồ thỏa thuận khóa Blom ............................................................................. 30 2.2.2. Sơ đồ thỏa thuận khóa Diffie – Hellman .......................................................... 33 2.2.3. Sơ đồ thỏa thuận khóa “Trạm tới Trạm” .......................................................... 36 2.2.4. Sơ đồ thỏa thuận khóa MTI .............................................................................. 41 2.3. THỎA THUẬN KHÓA BÍ MẬT BẰNG CÁCH CHIA SẺ KHÓA THÀNH NHIỀU MẢNH .............................................................................................................. 43 CHƢƠNG 3. ỨNG DỤNG TRONG “THANH TOÁN ĐIỆN TỬ” .............................. 47 3.1. THANH TOÁN ĐIỆN TỬ LÀ GÌ. ......................................................................... 47 3.2. CÁC MÔ HÌNH THANH TOÁN ĐIỆN TỬ ......................................................... 47 3.2.1. Các mô hình thanh toán điện tử ........................................................................ 47 3.2.2. Rủi ro về an toàn thông tin trong thanh toán điện tử ........................................ 49 3.2. BÀI TOÁN: THỎA THUẬN KHÓA BÍ MẬT ĐỂ THỰC HIỆN VIỆC MÃ HÓA SỬ DỤNG TRONG THANH TOÁN ĐIỆN TỬ .......................................................... 53 3.2.1. Bài toán: Bảo mật hợp đồng thanh toán điện tử ............................................... 53 3.2.2. Bài toán: Bảo toàn hợp đồng thanh toán điện tử .............................................. 54 iv 3.2.3. Bài toán: Xác thực hợp đồng thanh toán điện tử .............................................. 55 3.2.4. Bài toán: Phòng tránh chối cãi hợp đồng thanh toán ........................................ 55 3.3. GIẢI QUYẾT BÀI TOÁN THỎA THUẬN KHÓA BÍ MẬT ĐỂ THỰC HIỆN VIỆC MÃ HÓA SỬ DỤNG TRONG THANH TOÁN ĐIỆN TỬ .............................. 56 3.3.1. Giải quyết bài toán: Bảo mật hợp đồng thanh toán điện tử .............................. 56 3.3.2. Giải quyết bài toán bảo toàn hợp đồng trong thanh toán điện tử ..................... 56 3.3.3. Giải quyết bài toán: Xác thực hợp đồng thanh toán điện tử ............................. 58 3.3.4. Giải quyết bài toán: Phòng tránh chối cãi hợp đồng thanh toán..................... 599 3.4. CHƢƠNG TRÌNH THỬ NGHIỆM ...................................................................... 59 3.4.1. Thỏa thuận khóa ............................................................................................... 59 3.4.2. Mã hóa bản hợp đồng điện tử bằn hệ mã hóa DES .......................................... 61 3.4.3. Tạo chữ ký số bằng chữ ký số RSA ................................................................. 62 KẾT LUẬN ......................................................................................................................... 63 TÀI LIỆU THAM KHẢO ................................................................................................. 64 v DANH MỤC CÁC HÌNH VẼ TT Hình vẽ Trang 1 Hình 1.1: Sơ đồ mã hóa dữ liệu 4 2 Hình 1.2: Sơ đồ hoạt động của mã hóa khóa đối xứng 6 3 Hình 1.3: Quy trình mã hóa của hệ mã hóa DES 7 4 Hình 1.4: Quy trình lập mã DES 8 5 Hình 3.3: Sơ đồ tính khóa con trong hệ mã hóa DES 10 6 Hình 1.5: Sơ đồ tính hàm f trong hệ mã hóa DES 12 7 Hình 1.6: Sơ đồ hoạt động của mã hóa khóa bất đối xứng 14 8 Hình 1.7: Sơ đồ mã hóa dữ liệu của hệ mã hóa khóa công khai RSA 16 9 Hình 1.8: Sơ đồ giải mã dữ liệu của hệ mã hóa khóa công khai RSA 16 10 Hình 2.1: Thỏa thuận khóa Diffie – Hellman 34 11 Hình 2.2: Kẻ xâm nhập giữa cuộc trong giao thức Diffie-Hellman 35 12 Hình 2.3: Thỏa thuận khóa trạm tới trạm 37 13 Hình 2.4: Giao thức trạm tới trạm có sự xâm nhập giữa đường 38 14 Hình 2.5: Sơ đồ thỏa thuận khóa MTI 41 15 Hình 2.6: Giao thức MTI có sự xâm nhập giữa đường 42 vi DANH MỤC CÁC TỪ VIẾT TẮT STT TỪ VIẾT TẮT Ý NGHĨA 1 TMĐT Thương mại điện tử 3 CA Certification Authority 4 STS Station To Station 5 MTI Matsumoto, Takashima, Imai 1 MỞ ĐẦU Khi nhu cầu trao đổi thông tin dữ liệu qua mạng Internet 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 được 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 được đổi mới. Bảo vệ an toàn thông tin dữ liệu là 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: + Bảo vệ an toàn thông tin bằng các biện pháp hành chính. + Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng). + Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm). Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Các thông tin dữ liệu nằm ở kho dữ liệu hay đang trên đường truyền đều cần được bảo vệ, tuy nhiên môi trường khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xâm nhập nhất đó là môi trường mạng và quá trình truyền tin. “Mật mã” có lẽ là một kỹ thuật được dùng lâu đời nhất trong việc đảm bảo “An toàn thông tin”. Trước đây “mật mã” chỉ được dùng trong ngành an ninh quốc phòng, ngày nay việc đảm bảo “An toàn thông tin” là nhu cầu của mọi ngành, mọi người (do các thông tin chủ yếu được truyền trên mạng công khai), vì vậy kỹ thuật “mật mã” là công khai cho mọi người dùng. Điều bí mật nằm ở “khóa” của mật mã. Vì vậy với bất kì hệ mã hóa nào người ta cần phải quản lí tốt “khóa”. Hiện nay có hai loại hệ mã hóa chính: mã hóa khóa đối xứng (hệ mã hóa khóa riêng) và mã hóa khóa bất đối xứng (mã hóa khóa công khai). Với hệ mã khóa đối xứng, nếu biết được khóa này thì “dễ” tính được khóa kia và ngược lại. Hệ mã khóa công khai có ưu điểm hơn hệ mã khóa đối xứng ở chỗ: có thể công khai thuật toán mã hóa và khóa mã hóa (khóa công khai) cho nhiều người sử dụng, và cần phải quản lí tốt khóa công khai. 2 Do đó việc sử dụng hệ mã hóa khóa công khai cho cặp người dùng thỏa thuận khóa bí mật của hệ mã khóa riêng sẽ làm cho hệ mã khóa riêng trở nên an toàn vì khi đó ta chỉ thỏa thuận cách tính khóa trên mạng chứ không truyền khóa trên mạng, thuật toán mã hóa và giải mã sẽ nhanh hơn. Được sự gợi ý của giáo viên hướng dẫn và nhận thấy tính thiết thực của vấn đề, em đã chọn đề tài “Tìm hiểu một số sơ đồ thỏa thuận khóa bí mật và ứng dụng trong thanh toán điện tử” để làm nội dung cho luận văn tốt nghiệp của mình. Luận văn này tập trung vào tìm hiểu cơ sở lý thuyết toán học và một số kỹ thuật mật mã để thực hiện thỏa thuận khóa bí mật của hệ mã khóa riêng, sau đó áp dụng giải quyết một số bài toán về an toàn thông tin trong “Thanh toán điện tử”. Nội dung chính của luận văn gồm có ba chương Chƣơng 1: Các khái niệm cơ bản Trong chương này luận văn trình bày các kiến thức cơ bản về mã hóa, vấn đề chữ kí số, vấn đề quản lí khóa. Chƣơng 2: Một số sơ đồ thỏa thuận khóa bí mật Nội dung chương 2 trình bày về vấn đề thỏa thuận khóa bí mật và một số sơ đồ thỏa thuận khóa bí mật Chƣơng 3: Ứng dụng trong thanh toán điện tử Nội dung chương 3 tập trung và trình bày một số bài toán ứng dụng thỏa thuận khóa bí mật trong thanh toán điện tử và xây dựng chương trình kiểm thử cho bài toán “Bảo toàn hợp đồng thanh toán điện tử”, chương trình kiểm thử được viết bằng ngôn ngữ lập trình java. 3 CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN 1.1. VẤN ĐỀ MÃ HÓA Mã hoá là phần rất quan trọng trong vấn đề bảo mật. Mã hoá ngoài nhiệm vụ chính là làm cho tài liệu an toàn hơn, nó còn có một lợi ích quan trọng là: thay vì truyền đi tài liệu thô (không được mã hoá) trên một đường truyền đặc biệt, được canh phòng cẩn mật không cho người nào có thể “xâm nhập” vào lấy dữ liệu, người ta có thể truyền một tài liệu đã được mã hoá trên bất cứ đường truyền nào mà không lo dữ liệu bị đánh cắp vì nếu dữ liệu có bị đánh cắp đi nữa thì dữ liệu đó cũng không dùng được. Theo nghĩa hẹp thì “mật mã” chủ yếu dùng để bảo mật dữ liệu, người ta quan niệm “Mật mã học” là khoa học nghiên cứu mật mã bao gồm tạo mã và phân tích mã (là kỹ thuật, nghệ thuật phân tích mật mã, kiểm tra tính bảo mật của nó hoặc phá vỡ sự bí mật của nó). Theo nghĩa rộng, “mật mã” là một trong những công cụ hiệu quả đảm bảo an toàn thông tin nói chung: bảo mật, bảo toàn, xác thực, chống chối cãi,… Một số khái niệm liên quan: Thuật toán mã hoá/ giải mã [3]: là thuật toán dùng để chuyển thông tin thành dữ liệu mã hoá hoặc ngược lại. Thuật toán mã hóa/ giải mã là công khai. Khoá [3]: là thông tin mà thuật toán mã hóa/ giải mã sử dụng để mã hóa/ giải mã thông tin. Mỗi khi một thông tin đã được mã hoá thì chỉ có những người có khoá thích hợp mới có thể giải mã. Nếu không thì dù dùng cùng một thuật toán giải mã nhưng cũng không thể phục hồi lại thông tin ban đầu. Đây là đặc điểm quan trọng của khoá: mã hoá chỉ phụ thuộc vào khoá mà không phụ thuộc vào thuật toán mã hóa/ giải mã. Điều này giúp cho một thuật toán mã hóa/ giải mã có thể được sử dụng rộng rãi. 4 Hệ mã hóa [3]: Việc mã hóa phải theo quy tắc nhất định, quy tắc đó gọi là hệ mã hóa. Hệ mã hóa được định nghĩa là bộ năm  P, C, K , E, D , trong đó: P là tập hữu hạn các bản rõ có thể C là tập hữu hạn các bảm mã có thể K là tập hữu hạn các khóa E là tập các hàm lập mã D là tập các hàm giải mã Với khóa lập mã ke  K , có hàm lập mã ek  E , ek : P  C e e Với khóa giải mã k d  K , có hàm giải mã ek  D, ek : C  P d d Sao cho kk  ek  x    x, với mọi x  P d e Ở đây x được gọi là bản rõ, ek  x  được gọi là bản mã e Sơ đồ mã hóa và giải mã dữ liệu: kd ke x ekd  C  eke  X  C x Hình 1.1: Sơ đồ mã hóa dữ liệu Trong sơ đồ này, người gửi G có khóa lập mã k e , người nhận N có khóa giải mã k d Người gửi G muốn gửi bản tin x cho người nhận N. Để đảm bảo bí mật, G mã hóa bản tin x bằng khóa lập mã k e được bản mã C và gửi C cho N. Tin tặc có thể bắt chặn giữa đường lấy bản mã C, nhưng cũng “khó” hiểu được bản tin gốc x vì không có khóa giải mã k d . Người nhận N nhận được bản mã C, họ dùng khóa giải mã k d để giải mã C sẽ nhận được bản tin gốc x  d k  ek ( x)  d e 5 Với hình thức khá phổ biến hiện nay là truyền tin qua thư điện tử và không sử dụng các công cụ mã hoá, bảo mật cũng như chữ ký điện tử thì các tình huống sau có thể xảy ra: - Không chỉ nguời nhận mà người khác cũng có thể đọc được thông tin. - Thông tin mà ta nhận được có thể không phải là của người gửi đúng đắn. - Thông tin nhận được đã bị người thứ ba sửa đổi. - Bị nghe/xem trộm: thông tin được truyền đi trên đường truyền có thể bị ai đó “xâm nhập” vào lấy ra, tuy nhiên vẫn đến được người nhận mà không bị thay đổi. - Bị thay đổi: thông tin bị chặn lại ở một nơi nào đó trên đường truyền và bị thay đổi. Sau đó thông tin đã bị thay đổi này được truyền tới cho người nhận như không có chuyện gì xảy ra. - Bị lấy cắp: thông tin bị lấy ra nhưng hoàn toàn không đến được người nhận. Để giải quyết vấn đề này, thông tin trước khi truyền đi sẽ được mã hoá và khi tới người nhận, nó sẽ được giải mã trở lại. Để đảm bảo rằng chỉ người cần nhận có thể đọc được thông tin mà ta gửi khi biết rằng trên đường đi, nội dung thông tin có thể bị theo dõi và đọc trộm, người ta sử dụng các thuật toán đặc biệt để mã hoá thông tin. Trong trường hợp này, trước khi thông tin được gửi đi, chúng sẽ được mã hoá lại và kết quả là ta nhận được một nội dung thông tin “không có ý nghĩa”. Khi thông điệp bị theo dõi hoặc bị bắt giữ trên đường đi, để hiểu được thông tin của thông điệp, kẻ tấn công phải làm một việc đó là giải mã nó. Thuật toán mã hoá càng tốt thì chi phí cho giải mã đối với kẻ tấn công càng cao. Khi chi phí giải mã cao hơn giá trị thông tin thì coi như đã thành công trong vấn đề bảo mật. Các thuật toán mã hoá thông tin khá đa dạng nhưng có thể chia ra làm hai hướng chính là mã hóa với khóa đối xứng và mã hóa với khóa bất đối xứng. 6 1.1.1. Mã hóa khóa đối xứng (mã hóa khóa riêng) Hệ mã hóa khóa đối xứng là hệ mã hóa có khóa lập mã và khóa giải mã là “giống nhau”, theo nghĩa biết được khóa này thì “dễ” tính được khóa kia. Vì vậy phải giữ bí mật cả hai khóa. Đặc biệt có một số hệ mã hóa có khóa lập mã và khóa giải mã trùng nhau ( k d  ke ), như hệ mã hóa “dịch chuyển” hay DES. Khóa K Bản rõ Mã hóa Khóa K Bản mã Giải mã Bản rõ Hình 1.2: Sơ đồ hoạt động của mã hóa khóa đối xứng 1.1.1.1. Ưu điểm - Tốc độ mã hóa/ giải mã nhanh. Đây là ưu điểm nổi bật của mã hóa khóa đối xứng. - Sử dụng đơn giản: dùng một khoá cho cả 2 bước mã và giải mã. 1.1.1.2. Nhược điểm: - Đòi hỏi khoá phải được 2 bên gửi/ nhận trao tận tay nhau vì không thể truyền khoá này trên đường truyền mà không được bảo vệ. Điều này làm cho việc sử dụng khoá trở nên không thực tế. - Không an toàn: càng nhiều người biết khoá thì độ rủi ro càng cao. - Trong trường hợp khoá mã hoá thay đổi, cần thay đổi đồng thời ở cả người gửi và người nhận, khi đó rất khó có thể đảm bảo được là chính bản thân khoá không bị đánh cắp trên đường đi. - Không xây dựng được các dịch vụ về chữ kí điện tử, hay thanh toán điện tử. 1.1.1.3. Nơi sử dụng hệ mã khóa đối xứng Hệ mã khóa đối xứng thường được sử dụng trong môi trường mà khóa chung có thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ. Hệ mã hóa khóa đối xứng thường dùng để mã hóa những bản tin lớn, vì tốc độ mã hóa và giải mã nhanh hơn hệ mã hóa khóa công khai. 7 1.1.1.4. Một số thuật toán mã hoá khóa đối xứng - Hệ mã hóa cổ điển là hệ mã khóa đối xứng: dễ hiểu, dễ thực thi nhưng độ an toàn không cao. Vì giới hạn tính toán chỉ nằm trong bảng chữ cái, sử dụng trong bản tin cần mã hóa, ví dụ là Z 26 nếu dùng các chữ cái tiếng Anh. Với hệ mã hóa cổ điển, nếu biết khóa lập mã hay thuật toán lập mã, có thể “dễ” xác định được bản rõ, vì “dễ” tìm được khóa giải mã. - Hệ mã hóa DES (1973) là hệ mã hóa khóa đối xứng hiện đại, có độ an toàn cao - RC2, RC4, RC5: Độ dài khoá có thể lên tới 2048 bit. - IDEA (International Data Encryption Algorithm): Khóa có độ dài 128 bit, thường dùng trong các chương trình email. - Blowfish: Khóa có độ dài 448 bit. 1.1.1.5/ Mã hóa DES Mã hóa bản thanh toán hợp đồng điện tử (vì bản hợp đồng điện tử thường dài nên không thể mã hóa bằng RSA) + Quy trình mã hóa bằng hệ mã hóa DES: Bản rõ chữ (1) Bản rõ số, dạng nhị phân (2) Các đoạn 64 bit rõ số (3) (5) Bản mã chữ (4) Bản mã số Các đoạn 64 bit mã số Hình 1.3. Quy trình mã hóa của hệ mã hóa DES 8 * Quy trình lập mã DES Bản rõ: 64 bit IP L0 R0 L0 L0 f k1 R1  L0  f  R0 , k1  L1  R0 L0 f k2 R2  L1  f  R1 , k2  L2  R1 L0 R15  L14  f  R14 , k15  L15  R14 L0 R16  L15  f  R15 , k16  L0 f L16  R15 IP 1 Hình 1.4. Quy trình lập mã DES Bản mã: 64 bit k16 9 - Thực hiện mã hóa DES theo sơ đồ + Bản rõ là xâu x , bản mã là xâu y , khóa là xâu K , đều có độ dài 64 bit + Thuật toán mã hóa DES thực hiện qua ba bước chính như sau: Bước 1: Bản rõ x được hoán vị theo phép hoán vị IP thành IP  x  . IP  x   L0 R0 , trong đó L0 là 32 bit đầu (Left), R0 là 32 bit cuối (Right). ( IP  x  tách thành L0 R0 ) Bước 2: Thực hiện 16 vòng mã hóa với những phép toán giống nhau. Dữ liệu được kết hợp với khóa thông qua hàm f : Li  Ri 1, Ri  Li 1  f  Ri 1, ki  Trong đó  là phép toán hoặc loại trừ của hai xâu bit (cộng theo module 2). k1 , k2 ,..., k16 là các khóa con (48 bit) được tính từ khóa gốc K Bước 3: Thực hiện phép hoán vị ngược IP 1 cho xâu R16 L16 , thu được bản mã y . y  IP1  R16 , L16  . 1/ Bảng hoán vị ban đầu IP Bit 1 của IP  x  là bit 58 của x 58 50 42 34 26 18 10 2 Bit 2 của IP  x  là bit 50 của x 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 57 59 61 63 58 49 51 53 55 48 41 43 45 47 40 33 35 37 39 32 25 27 29 31 24 17 19 21 23 16 9 11 13 15 8 1 3 5 7 48 47 46 16 15 14 56 55 54 24 23 22 64 63 62 32 31 30 45 44 43 42 41 13 12 11 10 9 53 52 51 50 49 21 20 19 18 17 61 60 59 58 57 29 28 27 26 25 2/ Bảng hoán vị cuối cùng IP 1 40 8 39 7 38 6 37 36 35 34 33 5 4 3 2 1 10 3/ Tính khóa con k1 , k2 ,..., k16 từ khóa gốc K K PC 1 C0 D0 LS1 LS1 C1 D1 LS 2 LS 2 C2 D2 PC  2 k1 PC  2 k2 PC  2 k16 ……………………… LS16 LS16 C16 D16 Hình 1.5. Sơ đồ tính khóa con trong hệ mã hóa DES Khóa K là xâu dài 64 bit, trong đó 56 bit là khóa, 8 bit để kiểm tra tính chẵn lẻ nhằm phát hiện sai, các bit này không tham gia vào quá trình tính toán. 11 Các bit kiểm tra tính chẵn lẻ nằm ở vị trí 8, 16, 24,…, 64 được xác định sao cho mỗi byte chứa một số lẻ các số 1. Bởi vậy mỗi sai sót đơn lẻ được xác định trong mỗi nhóm 8 bit 4/ Tính khóa ki như sau: Với khóa K độ dài 64 bit, ta loại bỏ các bit kiểm tra tính chẵn lẻ, hoán vị 56 bit còn lại theo phép hoán vị PC 1 : PC 1 K   C0 D0 , trong đó C0 là 28 bit đầu, D0 là 28 bit cuối của PC 1 K  Với i  1, 2,...,16 ta tính Ci  LSi Ci1  , Di  LSi  Di 1  , trong đó LSi là phép chuyển vị vòng sang trái: dịch 1 vị trí nếu i  1, 2,9,16 , dịch 2 vị trí với những vị trí i khác. Với i  1, 2,...,16 , khóa ki được tính theo phép hoán vị PC  2 từ Ci Di : ki  PC  2 Ci Di  (48 bit) Phép hoán vị PC 1 : 57 49 41 33 25 1 58 50 42 34 10 2 59 51 43 19 11 3 60 52 17 26 35 44 9 18 27 36 63 7 14 21 55 62 6 13 47 54 61 5 39 46 53 28 31 38 45 20 23 30 37 12 15 22 29 4 21 13 5 28 20 12 4 Phép hoán vị PC  2 14 17 11 24 3 28 15 6 23 19 12 4 16 7 27 20 : 1 21 26 13 5 10 8 2 41 30 44 52 40 49 31 51 39 37 45 56 47 33 34 55 48 53 46 42 50 36 29 32
- Xem thêm -

Tài liệu liên quan