Luận văn: Tìm hiểu chuẩn mật mã dữ liệu (DES) và ứng dụng, HOT

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG ——- o0o ——- ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÒNG 2013
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG ——- o0o ——- TÌM HIỂU CHUẨN MẬT MÃ DỮ LIỆU ( DES ) VÀ ỨNG DỤNG VÀO THI TUYỂN ĐẠI HỌC ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành : Công nghệ tin tức HẢI PHÒNG – 2013
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG ——- o0o ——- TÌM HIỂU CHUẨN MẬT MÃ DỮ LIỆU ( DES ) VÀ ỨNG DỤNG VÀO THI TUYỂN ĐẠI HỌC ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành : Công nghệ tin tức Sinh viên thực thi : Đỗ Thị Phƣơng Giáo viên hƣớng dẫn : TS. Hồ Văn Canh Mã số sinh viên : 1351010046 HẢI PHÒNG – 2013
  4. BỘ GIÁO DỤC

    VÀ ĐÀO TẠO
    TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
    CỘNG HÒA XA HỘI CHỦ NGHĨA VIỆT NAM
    Độc lập – Tự do – Hạnh phúc
    ——-o0o——-
    NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP
    Sinh viên: Đỗ Thị Phƣơng Mã SV: 1351010046
    Lớp: CT 1301 Ngành: Công nghệ Thông tin
    Tên đề tài: Tìm hiểu chuẩn mật mã dữ liệu (DES) và ứng dụng vào thi tuyển
    đại học.

    Bạn đang đọc: Luận văn: Tìm hiểu chuẩn mật mã dữ liệu (DES) và ứng dụng, HOT

  5. NHIỆM VỤ ĐỀ TÀI 1. Nội dung và những nhu yếu cần xử lý trong trách nhiệm đề tài tốt nghiệp a. Nội dung 1. Tìm hiểu mật mã DES. 2. Nghiên cứu bài toán san sẻ bí hiểm của Lagrange. 3. Ứng dụng lƣợc đồ san sẻ bí hiểm của Lagrange để phân phối khóa. 4. Demo chƣơng trình b. Các nhu yếu cần xử lý 1. Đọc tài liệu và hiểu đƣợc yếu tố đặt ra, nắm đƣợc những phƣơng pháp mã dịch DES một cách thành thạo ( cả tiếng việt và tiếng anh ). 2. Hiểu đƣợc lƣợc đồ san sẻ bí hiểm Lagrange. 3. Đọc hiểu đƣợc một số ít tài liệu trình độ bằng tiếng Anh 4. Nắm vững một ngôn từ lập trình cơ bản ( Vb, C #, C + + ) và giải đƣợc bài toán có tính ứng dụng vào thực tiễn .
  6. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 6 CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Ngƣời hƣớng dẫn thứ nhất : Họ và tên : Hồ Thị Hƣơng Thơm Học hàm, học vị : Tiến Sĩ Cơ quan công tác làm việc : Trƣờng Đại Học Dân Lập TP. Hải Phòng Nội dung hƣớng dẫn : Ngƣời hƣớng dẫn thứ hai : Họ và tên : … … … … … … … … … … … … … … … … … … … … … … … … … … …. Học hàm, học vị : … … … … … … … … … … … … … … … … … … … … … … … …. Cơ quan công tác làm việc : … … … … … … … … … … … … … … … … … … … … … … … … Nội dung hƣớng dẫn : … … … … … … … … … … … … … … … … … … … … … … .. … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … Đề tài tốt nghiệp đƣợc giao ngày tháng năm 2013 Yêu cầu phải hoàn thành xong trƣớc ngày tháng năm 2013 Đã nhận trách nhiệm : Đ.T.T.N Sinh viên Đã nhận trách nhiệm : Đ.T.T.N Cán bộ hƣớng dẫn Đ.T.T.N TS. Hồ Thị Hƣơng Thơm Hải Phòng Đất Cảng, ngày ………… tháng ……… năm 2013 HIỆU TRƢỞNG GS.TS.NGƯT Trần Hữu Nghị
  7. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 7 PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN 1. Tinh thần thái độ của sinh viên trong quy trình làm đề tài tốt nghiệp : ………………………………………………………………………………………………………… …. ………………………………………………………………………………………………………… …. ………………………………………………………………………………………………………… …. ………………………………………………………………………………………………………… …. ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… …….. 2. Đánh giá chất lƣợng của đề tài tốt nghiệp ( so với nội dung nhu yếu đã đề ra trong trách nhiệm đề tài tốt nghiệp ) ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………. 3. Cho điểm của cán bộ hƣớng dẫn : ( Điểm ghi bằng số và chữ )
  8. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 8 ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… …….. Ngày ……. tháng ……… năm 2013 Cán bộ hƣớng dẫn chính ( Ký, ghi rõ họ tên )
  9. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 9 PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP 1. Đánh giá chất lƣợng đề tài tốt nghiệp ( về những mặt nhƣ cơ sở lý luận, thuyết minh chƣơng trình, giá trị trong thực tiễn, … ) 2. Cho điểm của cán bộ phản biện ( Điểm ghi bằng số và chữ ) ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… …….. Ngày ……. tháng ……… năm 2013 Cán bộ chấm phản biện ( Ký, ghi rõ họ tên )
  10. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 10 MỤC LỤC LỜI NÓI ĐẦU …………………………………………………………………………………………… 12 CHƢƠNG 1 : MẬT MÃ CỔ ĐIỂN ……………………………………………………………… 14 1.1 KHÁI NIỆM VÀ ĐỊNH NGHĨA VỀ MẬT MÃ ……………………………………… 14 1.1.1 Khái niệm …………………………………………………………………………………….. 14 1.1.2 Định nghĩa ……………………………………………………………………………………. 14 1.2 MỘT SỐ MÃ HÓA ĐƠN GIẢN …………………………………………………………… 15 CHƢƠNG 2 : CHUẨN MÃ DỮ LIỆU ( DES ) ………………………………………………. 16 2.1 Mô tả DES ( Data Encryption Standard ) ………………………………………………… 16 2.2 Các bƣớc thực thi : …………………………………………………………………………….. 17 2.2.1 Cách tính biến x0 : ………………………………………………………………………….. 17 2.2.2 Cách tính LiRi : ……………………………………………………………………………… 18 2.2.2. 1 Các biến trong hàm f : ……………………………………………………………….. 18 2.2.2. 2 Cách tính hàm f : ……………………………………………………………………… 20 2.2.3 Xác định bản mã y : ………………………………………………………………………… 25 2.3 Giải mã DES ………………………………………………………………………………………. 33 2.3.1 Thuật toán …………………………………………………………………………………………… 33 2.3.2 Chứng minh thuật toán …………………………………………………………………… 33 2.4 Các yếu tố xung quanh DES ………………………………………………………………… 35 2.4.1 Những quan điểm phản hồi …………………………………………………………………… 35 2.4.2 DES trong thực tiễn ………………………………………………………………………….. 36 2.4.3 Một vài Tóm lại về mã DES …………………………………………………………… 37 CHƢƠNG 3. CÁC SƠ ĐỒ CHIA SẺ BÍ MẬT ……………………………………………. 38 3.1 Khái niệm về san sẻ bí hiểm ………………………………………………………………….. 38 3.2 Sơ đồ san sẻ bí hiểm …………………………………………………………………………….. 39 3.2.1 Khái niệm “ sơ đồ san sẻ bí hiểm ” : …………………………………………………… 39 3.2.2 Định nghĩa : …………………………………………………………………………………… 39 3.3 Cấu trúc truy nhập và sơ đồ san sẻ bí hiểm ……………………………………………… 43 3.3.1 Định nghĩa sơ đồ san sẻ bí hiểm hoàn thành xong ………………………………………. 43 3.3.2 Định nghĩa tập hợp thức tối thiểu …………………………………………………….. 44
  11. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 11 3.4 Mạch đơn điệu ……………………………………………………………………………………. 44 3.4.1 Định nghĩa mạch đơn điệu ……………………………………………………………… 44 3.4.2 Chia sẻ khóa bí hiểm dựa vào “ mạch đơn điệu ” ………………………………….. 45 CHƢƠNG 4. ỨNG DỤNG THUẬT TOÁN DES VÀ LƢỢC ĐỒ CHIA SẺ BÍ MẬT VÀO THI TUYỂN SINH ………………………………………………………………….. 48 4.1 Các ứng dụng ……………………………………………………………………………………… 48 4.2 Quy trình triển khai giải bài toán ………………………………………………………….. 48 4.2.1 Sơ đồ ……………………………………………………………………………………………. 48 4.2.2 Các bƣớc triển khai ………………………………………………………………………… 49 4.2.3 Mô phỏng lƣợc đồ san sẻ bỉ mật bằng ngôn từ C : …………………………. 49 4.2.3. 1 Chia sẻ khóa bí hiểm theo giao thức “ san sẻ bí hiểm ” Shamir ………….. 50 4.2.3. 2 Khôi phục khóa bí hiểm bằng phƣơng pháp giải hệ phƣơng trình tuyến tính …………………………………………………………………………………………………… 52 4.2.3. 3 Khôi phục khóa bí hiểm bằng phƣơng pháp dùng công thức nội suy Lagrange ……………………………………………………………………………………………. 58 4.2.3. 4 Chia sẻ khóa bí hiểm theo phƣơng pháp bằng mạch đơn điệu …………. 60 4.2.3. 5 Khôi phục khóa bí hiểm theo phƣơng pháp mạch đơn điệu …………….. 61 4.3 Mã nguồn mở của chƣơng trình …………………………………………………………….. 62 KẾT LUẬN ……………………………………………………………………………………………….. 73 1. Tìm hiểu lí thuyết về mật mã ………………………………………………………………….. 73 2. Phần ứng dụng ……………………………………………………………………………………… 73 TÀI LIỆU THAM KHẢO ………………………………………………………………………….. 74
  12. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 12 LỜI NÓI ĐẦU Ngày nay, mạng máy tính ngày càng trở lên phổ cập. Mỗi vương quốc đều có mạng riêng với rất nhiều mạng mang tính bộ phận. trên khoanh vùng phạm vi toàn thế giới, ngƣời ta đã dùng mạng Internet một cách thông dụng. Nhiều dịch vụ điện tử nhƣ : thƣ điện tử, chuyển tiền, thƣơng mại điện tử, chính phủ điện tử … đã đƣợc vận dụng thoáng đãng. Các ứng dụng trên mạng máy ngày càng trở lên thông dụng, thuận tiện và quan trọng thì nhu yếu về bảo đảm an toàn mạng, về bảo mật an ninh tài liệu càng trở lên cấp bách và thiết yếu. Trên quốc tế có rất nhiều vương quốc, nhiều nhà khoa học ngiên cứu về yếu tố bảo mật thông tin, đƣa ra nhiểu thuật toán với mục tiêu thông tin truyền đi không bị lấy cắp hoặc nếu bị lấy cắp thì cũng không sử dụng đƣợc. Trong đề tài của em đƣa ra một thuật toán đó là thuật toán DES ( Data encryption standar ) đây là thuật toán chuẩn của Mỹ, đƣợc Mỹ và nhiều nƣớc trên quốc tế sử dụng, thuật toán này đã đƣợc đƣa vào sử dụng nhiều năm nhƣng vẫn giữ đƣợc tính bảo mật thông tin của nó. Tuy nhiên với công nghệ tiên tiến tăng trưởng nhƣ lúc bấy giờ thì thuật toán DES trở lên không đƣợc bảo đảm an toàn tuyệt đối nữa, ngƣời ta đã đƣa ra thuật toán 3DES dựa trên nền tảng của thuật toán DES nhƣng số bít đƣợc mã hóa tăng lên. Mã hóa và những lƣợc đồ san sẻ bí hiểm hoàn toàn có thể đƣợc ứng dụng trong rất nhiều nghành ví dụ : phát hành thẻ ATM trong ngân hang, đấu tầu từ xa, trong thi tuyển sinh, trong nghành nghề dịch vụ quân sự chiến lược … Trong đề tài của em đề cập tới một nghành nghề dịch vụ đó là ứng dụng trong thi tuyển sinh ĐH. Vấn đề thi tuyển sinh ĐH ở nƣớc ta trở thành gánh nặng cho ngành Giáo Dục và những ban ngành khác tương quan. Nó làm tổn hại về kinh tế tài chính và sức lực lao động không chỉ so với những ban ngành tham gia tổ chức triển khai kỳ thi mà ngay cả so với những thí sinh dự thi, nhƣng đó là điều bắt buộc phải đƣợc tổ chức triển khai hàng năm. Do vậy làm thế nào để giảm thiểu những khâu trong thi tuyển sinh mà vẫn bảo vệ tính công minh và đúng mực là điều thiết yếu, theo tôi để làm đƣợc điều đó ta nên ứng dụng công nghệ thông tin vào việc thi tuyển sinh ĐH, một trong những ứng dụng đó là ứng dụng lƣợc đồ san sẻ bí hiểm vì nó bảo vệ đƣợc tính bí hiểm và đúng mực mà trong thi tuyển sinh hai điều đó là quan trọng nhất. Phạm vi luận văn đề cập đến mật mã, thuật toán DES, lƣợc đồ san sẻ bí hiểm và ứng dụng của chúng trong thi tuyển sinh .
  13. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 13 Luận văn gồm 4 chƣơng : Chƣơng 1 : Mật mã cổ xưa : chƣơng này ra mắt về khái niệm và định nghĩa mật mã, 1 số ít mã cổ diển. Chƣơng 2 : thuật toán DES : chƣơng này nói về mã hóa và giải thuật trong thuật toán DES, những yếu tố xung quanh DES. Chƣơng 3 : Chia sẻ bí hiểm : chƣơng này nói về khái niệm san sẻ bí hiểm, phƣơng thức san sẻ và Phục hồi khóa bí hiểm. Chƣơng 4 : Ứng dụng thuật toán DES và lƣợc đồ san sẻ bí hiểm vào thi tuyển sinh : Chƣơng này nói vè phần ứng dụng và mô phỏng lƣợc đồ san sẻ bí hiểm bằng ngôn từ C. Để triển khai xong luận văn này, trƣớc hết em xin chân thành cảm ơn tiến sỹ Hồ Văn Canh – ngƣời đã trực tiếp hƣớng dẫn, cung ứng tài liệu và góp phần nhiều quan điểm cho luận văn. Em cũng xin chân thành cảm ơn những thầy cô giáo, những cán bộ khoa công nghệ thông tin trƣờng ĐH Dân Lập Hải Phòng Đất Cảng đã tận tình giảng dạy, giúp sức em trong suốt khóa học .
  14. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 14 CHƢƠNG 1 : MẬT MÃ CỔ ĐIỂN 1.1 KHÁI NIỆM VÀ ĐỊNH NGHĨA VỀ MẬT MÃ 1.1.1 Khái niệm – Chức năng cơ bản của mật mã là tạo ra năng lực liên lạc trên một kênh không mật cho hai ngƣời sử dụng ( tạm gọi là A và B ) sao cho đối phƣơng C không hề hiểu đƣợc thông tin truyền đi. – Kênh liên lạc hoàn toàn có thể là một đƣờng dây điện thoại thông minh hoặc một mạng máy tính. Thông tin mà A muốn gửi cho B bản rõ hoàn toàn có thể là một văn bản tiếng Anh, những tài liệu bằng số hoặc bất kể tài liệu nào có cấu trúc tùy ý. – A sẽ mã hóa bản rõ bằng một khóa đã đƣợc xác lập trƣớc và gửi bản mã tác dụng trên kênh. C có bản mã thu trộm đƣợc trên kênh xong không hề xác lập nội dung của bản rõ, nhƣng B ( ngƣời biết khóa mã ) hoàn toàn có thể giải thuật và thu đƣợc bản rõ. Ta sẽ diễn đạt hình thức nội dung bằng cách dùng khái niệm toán học nhƣ sau : 1.1.2 Định nghĩa Một hệ mật mã là một bộ 5 ( P., C, K, E, D ) thỏa mãn nhu cầu những điều kiện kèm theo sau : 1. P là một tập hữu hạn những bản rõ hoàn toàn có thể 2. C là một tập hữu hạn những bản mã hoàn toàn có thể 3. K ( khoảng trống khóa ) là tập hữu hạn những khóa hoàn toàn có thể. 4. Đối với mỗi k є K có một quy tắc mã ek : P → C và một quy tắc giải thuật tương ứng dk є D. Mỗi ek : P → C và dk : C → P là những hàm sao cho : dk ( ek ( x ) ) = x với mọi bản rõ x є P. Trong đó tất cả chúng ta cần lƣu ý đặc thù 4 : Nội dung của nó là nếu một bản rõ x đƣợc mã hóa bằng ek và bản mã nhận đƣợc sau đó đƣợc giải thuật bằng dk thì ta phải thu đƣợc bản rõ bắt đầu x. Giả sử ta có bản rõ cần truyền đi là : x = x1, x2, …., xn với số nguyên n ≥ 1 nào đó. Ở đây mỗi kí hiệu của mỗi bản rõ xi є P., 1 ≤ i ≤ n. Mỗi xi sẽ đƣợc mã hóa bằng quy tắc mã ek với khóa k xác lập trƣớc đó. Bản mã thu đƣợc là : y = y1, y2, …, yn. Trong đó yk = ek ( xi ) i = 1,2, …, n còn k є K. Khi Bob nhận đƣợc y1, y2, …, yn anh ta sẽ giải thuật bằng hàm giải thuật dk và thu đƣợc bản rõ gốc x = x1, x2, …., xn .
  15. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 15 Hình 1.1 là một ví dụ về một kênh liên lạc x y x k k k k Hình 1.1. Kênh liên lạc Rõ ràng là trong trƣờng hợp này hàm mã hóa phải là hàm đơn ánh ( tức là ánh xạ 1 – 1 ), nếu không việc giải thuật sẽ không thực thi đƣợc một cách tƣờng minh. Ví dụ y = ek ( x1 ) = ek ( x2 ) trong đó x1 ≠ x2, B sẽ không có cách nào đẻ biết liệu bản rõ là x1 hay x2. 1.2 MỘT SỐ MÃ HÓA ĐƠN GIẢN Mã dịch vòng Mã thay thế sửa chữa Mã Affine Mã Hill Mã chuyển vị C Bộ mã hóa Bộ giải mãA B Kênh bảo đảm an toàn Nguồn khóa
  16. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 16 CHƢƠNG 2 : CHUẨN MÃ DỮ LIỆU ( DES ) Các hệ mật mã truyển thống ở chƣơng 1 có một số ít ƣu điểm là mã hóa và giải thuật bằng bằng tay thủ công đƣợc thực thi rất thuận tiện, việc trao đổi khóa mã cũng rất đơn thuần bằng thủ công bằng tay hoặc bằng quy ƣớc. Song với lƣợng thông tin quá nhiều mẫu mã nhƣ lúc bấy giờ và với mạng truyền thông online nhƣ lúc bấy giờ thì mật mã thủ công bằng tay vừa không bảo vệ bí hiểm. Mặt khác những thuật toán mã hóa bằng tay thủ công yên cầu phải tuyệt đối giữ bí hiểm … Nhƣ vậy mật mã thủ công bằng tay yên cầu bảo mật thông tin cả thuật toán mã hóa và cả khóa mã. Sau những năm 70 của thế kỉ trƣớc, những nhà toán học đã nghiên cứu và điều tra và tạo ra nhiều phƣơng thức mật mã với vận tốc mã hóa rất nhanh ( hàng trục thậm chí còn hàng trăm kilo Byte trong một giây ) và ngƣời ta chỉ cầm giữ bí hiểm khóa mã và mã hóa đƣợc mọi tài liệu tùy ý. Đó là một bƣớc tiến vĩ đại của kĩ thuật mật mã. Trong đó mã DES ( Data Encryption Standard ) là một nổi bật của bƣớc tiến này. Chƣơng này em muốn mô phỏng mã hóa và giải thuật của thuật toán DES. 2.1 Mô tả DES ( Data Encryption Standard ) DES mã hóa một xâu bít x : Bản rõ x độ dài 64 bít. Khóa k độ dài 56 bit. Bản mã y nhận đƣợc cũng là một xâu bit có độ dài 64 bit. Thuật toán thực thi theo 3 quá trình : 1. Với bản rõ cho trƣớc x, một xâu bit x0 sẽ đƣợc tạo ra bằng cách hoán vị những bit của x theo phép hoán vị cố định và thắt chặt bắt đầu IP. Ta viết : x0 = IP ( X ) = L0R0, trong đó L0 gồm 32 bit đầu và R0 là 32 bit cuối. 2. Sau đó giám sát 16 lần lặp theo một hàm xác lập. Ta sẽ tính đƣợc LiRi, 1 ≤ i ≤ 16 theo quy tắc sau : Li = Ri-1 Ri = Li-1 f ( Ri-1, Ki ) Trong đó kí hiệu cộng theo modulo 2 của 2 xâu bit. f là một hàm mà của Ri-1, ki diễn đạt sau. ki là những xâu bit độ dài 48 bit đƣợc tính nhƣ hàm của khóa k. ( Trên trong thực tiễn mỗi ki là một phép chọn hoán vị bit trong k ) .
  17. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 17 3. Áp dụng phép hoán vị ngƣợc IP-1 cho xâu bit R16L16 ta thu đƣợc bản mã y. Tức là y = IP-1 ( R16 L16 ). A J Hình 2.1. Một vòng ( vòng thứ i ) của DES. 2.2 Các bƣớc thực thi : 2.2.1 Cách tính biến x0 : Hoán vị biến x theo phép hoán vi khởi đầu IP ( X ) x0 = IP ( X ) = L0R0 Bảng 2.1. Bảng IP IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 31 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 Ki Li-1 Ri-1 Li Ri f +
  18. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 18 Theo bảng 2.1 này có nghĩa là bit thứ 58 của x là bit tiên phong của IP ( x ), bit thứ 50 của x là bit thứ 2 của IP ( x ), bit ở vị trí thứ 7 là bit cuối của IP ( x ). 2.2.2 Cách tính LiRi : Để tính LiRi trƣớc hết ta phải xác lập hàm f 2.2.2. 1 Các biến trong hàm f : Có 2 biến vào  Biến thứ nhất Ri-1là xâu bit độ dài 32  Biến thứ hai J là xâu bít độ dài 48  Đầu ra của f là một xâu bit độ dài 32 bít. Hàm f thực thi qua những bƣớc sau : Bước 1 : Xác định biến thứ nhất ( biến A ) : Xâu bit của Ri-1 đƣợc lan rộng ra thành một xâu bit có độ dài 48 theo một hàm lan rộng ra cố định và thắt chặt E. Bảng 2.2. Bảng chọn E bit Bảng chọn E bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1
  19. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 19 E ( Ri-1 ) gồm 32 bit của Ri-1 ( đƣợc hoán vị theo cách cố định và thắt chặt ) với 16 bit Open 2 lần. Theo bảng E bit ở vị trí thứ 32 là bit tiên phong của E ( Ri-1 ), ở vị trí thứ 1 là bit thứ 2 và bit cuối của E ( Ri-1 ). Bước 2 : Xác định biến thứ hai ( biến J ) Biến J thực ra là phép hoán vị và dịch vòng của xâu bit khóa k Thuật toán tạo 16 khóa con k1, k2, … k16 … … Hình 2.2. Sơ đồ tạo khóa k K PC-1 C0 D0 LS1 LS1 C1 D1 PC-2 K1 LS16 LS16 C16 D16 PC-2 K16
  20. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 20 Theo sơ đồ hình 2.2 trên việc xác lập ki đƣợc thực thi nhƣ sau : Với khóa k 64 bit cho trƣớc hoán vị thực ra chỉ có 56 bit dùng để tạo ki với i từ 1 đến 16. Tránh những bit ở vị trí 8,16,24,32,40,48,56,64. Theo phép hoán vị cố định và thắt chặt PC-1 ta viết : PC-1 ( K ) = C0D0. Trong đó C0 là 28 bit đầu và D0 là 28 bit cuối. Mỗi phần sẽ đƣợc xử lí một cách độc lập. Ci = LSi ( Ci – 1 ) Di = LSi ( Ci – 1 ) với 1 ≤ i ≤ 16 LSi màn biểu diễn phép dịch bit vòng sang trái 1 hoặc 2 vị trí tùy thuộc vào i. Sang trái 1 bit nếu i = 1, 2, 9, 16 hoặc sang trái 2 bit nếu I thuộc những vị trí còn lại. ki = PC-2 ( Ci – Di ). PC-2 là hoán vị cố định và thắt chặt sẽ hoán vị chuỗi Ci – Di 56 bit thành chuỗi 48 bit. 2.2.2. 2 Cách tính hàm f : Ri-1 Cộng XORKi E ( Ri-1 ). 48 bit 48 bit Hình 2.3. Sơ đồ hoạt động giải trí của hàm f ( Ri-1, k i ) : B1 B2 B3 B4 B5 B6 B7 B8 S1 S2 S3 S4 S5 S6 S7 S8 C1 C2 C3 C4 C5 C6 C7 C8 P F ( Ri-1, k i )
  21. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 21 Sau khi lan rộng ra Ri-1 bởi hàm lan rộng ra E để chuyên Ri-1 gồm 32 bit thành E ( Ri-1 ) gồm 48 bit, E ( Ri-1 ) cộng XOR với khóa ki cho ra là : E ( Ri-1 ) + ki = B = B1B2 … B8 B gồm 48 bit đƣợc phân thành 8 khối ( block ) nhƣ nhau và mỗi block Bi, i = 1,8 có độ dài 6 bit. Sau đó mỗi Bi đƣợc đƣa vào hộp Si, i = 1,8 và biến hóa để cho đầu ra là Ci gồm 4 bit ( i = 1,8 ). Sự biến đổi này đƣợc thực thi nhƣ sau : Giả sử Bi gồm 6 bit là Bi = bi1bi2 … bi6. Khi đó bi1bi6 đƣợc nhập thành cặp, bi1bi6 đƣợc chuyển thành số thập phân từ 1 đến 3. Ví dụ : bi1bi6 = 00 → 0 bi1bi6 = 01 → 1 bi1bi6 = 10 → 2 bi1bi6 = 11 → 3 Còn bi2bi3 bi4bi5 của Bi đƣợc chuyển thành số thập phân từ 0 đến 15 nhƣ sau : Bảng 2.3. Bảng quy đổi giá trị. bi2bi3 bi4bi5 Số tự nhiên 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 10 1011 11 1100 12 1101 13 1110 14 1111 15
  22. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 22 Số nguyên dƣơng ri = bi1bi6 và si = bi2bi3 bi4bi5 chính là tọa độ ( hoành tung ) của ma trận Si từ ti chuyển thành Ci = Ci1Ci2 Ci3Ci4 với Cij є { 0,1 } i = i = 1,8, j = 1,4. Vậy đầu ra của hộp S là : C1C2 … C8 mỗi Ci gồm 4 bit tọa thành khối C = C1C2 … C8 gồm 32 bit. 32 bit này đƣợc đƣa vào ma trận chuyển vị P. để cho đầu ra cũng là 32 bit. Đó là đầu ra của hàm f ( Ri-1, Ki ). Ta hoàn toàn có thể trình diễn cụ thể cách tính hàm f nhƣ sau : Với xâu bit có độ dài 6 bit ( kí hiệu Bi = b1b2 … b6 ), ta tính đƣợc Sj ( Bj ) nhƣ sau : Hai bit bib6 xác lập màn biểu diễn nhị phân của hàng r của Sj ( 0 ≤ r ≤ 3 ) và 4 bit b2b3 b4b5 xác lập trình diễn nhị phân của cột c của Sj ( 0 ≤ c ≤ 15 ). Khio đó Sj ( Bj ) sẽ xác lập thành phần Sj ( r, c ) ; thành phần này viết dƣới dạng nhị phân là một xâu bit có độ dài là 4. ( Bởi vậy mỗi Sj hoàn toàn có thể coi là một hàm mã mà nguồn vào là một xâu bit có độ dài 2 và một xâu bit độ dài 4, còn đầu ra là một xâu bit cố độ dài 4 ). Bằng cách tƣơng tự tính những Cj = Sj ( Bj ), 1 ≤ j ≤ 8. Thật vậy mỗi chuỗi B là một chuỗi 6 bit trong đó bit đầu và bit cuối đƣợc dùng để xác lập vị trí của hàng trong khoanh vùng phạm vi từ 0 đến 3 ( hoặc từ 00 đến 11 ) bốn bit giữa dùng để xác lập vị trí của cột trong khoanh vùng phạm vi từ 0 đến 15 ( hoặc từ 0000 đến 1111 ). Sauk hi xác lập đƣợc vị trí của hàng và cột ta so sánh trong bảng S đƣợc 1 số ít thập phân, quy đổi số thập phân đó ra giá trị nhị phân ta đƣợc Cj. Ví dụ : Bit nguồn vào của B là B = 100110 Bit đầu và cuối là “ 10 ” cho ta thứ tự của hàng là 2, bốn bit giữa là “ 0011 ” cho ta thứ tự của cột là 4. Đối chiếu với hộp S1 Open số 14, chuyển 14 sang nhị phân 14 = 1110, Vậy S ( B ) = S ( 100110 ) = 1110. Tám hộp S là : S1 14 4 13 1 2 15 11 8 3 10 3 12 5 9 1 7 1 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
  23. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 23 S2 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 S3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 5 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 S4 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 S5 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
  24. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 24 S6 12 1 10 15 9 2 6 8 0 13 3 4 14 7 15 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 11 7 6 0 8 13 S7 4 11 12 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 S8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 5 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 Sau khi triển khai những phép so sánh hộp S ta đƣợc những giá trị SiBi Tính hàm f = P ( S1 ( B1 ) ) = S2 ( B2 ) … … .. S8 ( B8 ) triển khai theo phép hoán vị P Phép hoán vị P. có dạng :
  25. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 25 Bảng 2.4. Bảng hoán vị P P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 Theo bảng 2.4 thì bit thứ 16 và bit thứ 7 của xâu bit SjBj lần lƣợt là bít thứ nhất và bit thứ 2 của hàm f … LỉRi đƣợc xác lập theo công thức sau : Lỉ = Ri-1 Ri = Li-1 + f ( Ri-1, ki ) 2.2.3 Xác định bản mã y : Sau khi xác lập đƣợc LỉRi ta thu đƣợc L16R16, vậy bản mã y đƣợc xác lập theo công thức : y = IP-1 ( R16, L16 )
  26. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 26 Bảng 2.5. Bảng IP-1 IP-1 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 Ví dụ : Ta có bản rõ M = 0123456789ABCDEF Khóa k = 133457799BBCDFF1 Giải Bước 1 : Tìm x0 = IP ( X ) = L0R0 M = 0000.0001. 0010.0011. 0100.0101. 0110.0111. 1000.1001. 1010.1011. 1100.1101. 1110.1111 16 32 L = 0000.0001. 0010.0011. 0100.0101. 0110.0111 48 64 R = 1000.1001. 1010.1011. 1100.1101. 1110.1111 Thực hiện phép hoán vị IP
  27. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 27 IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 31 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 IP ( M ) = 1100.1100. 0000.0000. 11001100. 1111.1111. 1111.0000. 1010.1010. 1111.0000.1010.1010 L0 = 1100.1100. 0000.0000. 11001100. 1111.1111 R0 = 1111.0000. 1010.1010. 1111.0000.1010.1010 Bước 2 : Xác định khóa ki k = 0001.0011. 0011.0100. 0101.0111. 0111.1001. 1001.1011. 1011.1100. 1101.1111. 1111.1001 Hoán vị khóa k theo phép hoán vị PC-1 ta thu đƣợc PC-1 ( k ) :
  28. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 28 Bảng 2.5. Bảng PC-1 PC-1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 PC-1 ( k ) = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111 C0 = 1111000 0110011 0010101 0101111 D0 = 0101010 1011001 1001111 0001111 Tìm CiDi : Ci = Si ( Ci-1 ) Di = Si ( Di-1 ) Trong đó : Si là sự di dời Ci-1, Di-1 đi 1 sang trái với i = 1,2,9,16 và dịch 2 với những i còn lại. C1 = 1110000 1100110 0101010 1011111 D1 = 1010101 0110011 0011110 0011110 C2 = 1100001 1001100 1010101 0111111 D2 = 0101010 1100110 0111100 0111101 C3 = 0000110 0110010 1010101 1111111
  29. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 29 D3 = 0101011 0011001 1110001 1110101 C4 = 0011001 1001010 1010111 1111100 D4 = 0101100 1100111 1000111 1010101 C5 = 1100110 0101010 1011111 1110000 D5 = 0110011 0011110 0011110 1010101 C6 = 0011001 0101010 1111111 1000011 D6 = 1001100 1111000 1111010 1010101 C7 = 1100101 0101011 1111110 0001100 D7 = 0110011 1100011 1101010 1010110 C8 = 0010101 0101111 1111000 0110011 D8 = 1001111 0001111 0101010 1011001 C9 = 0101010 1011111 1110000 1100110 D9 = 0011110 0011110 1010101 0110011 C10 = 0101010 1111111 1000011 0011001 D10 = 1111000 1111010 1010101 1001100 C11 = 0101011 1111110 0001100 1100101 D11 = 1100011 1101010 1010110 0110011 C12 = 0101111 1111000 0110011 0010101 C13 = 0111111 1100001 1001100 1010101 D13 = 0111101 0101010 1100110 0111100 C14 = 1111111 0000110 0110010 1010101 D14 = 1110101 0101011 0011001 1110001 C15 = 1111100 0011001 1001010 1010111 D15 = 1010101 0101100 1100111 1000111 C16 = 1111000 0110011 0010101 0101111 D16 = 0101010 1011001 1001111 0001111 Cuối cùng những khóa con Ki thu đƣợc từ Ci, Di qua hoán vị PC-2 cho trƣớc .
  30. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 30 Bảng 2.6. Bảng PC-2 PC-2 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 k1 = 000110 110000 001011 101111 111111 000111 000001 110010 k2 = 011110 011010 111011 011001 110110 111100 100111 100101 k3 = 010101 011111 110010 001010 010000 101100 111110 011001 k4 = 011100 101010 110111 010110 110110 110011 010100 011101 k5 = 011111 001110 110000 000111 111010 110101 001110 101000 K6 = 011000 111010 010100 111110 010100 000111 101100 101111 k7 = 111011 001000 010010 110111 111101 100001 100010 111100 k8 = 111101 111000 101000 111010 110000 010011 101111 111011 k9 = 111000 001101 101111 101011 111011 011110 011110 000001 k10 = 101100 011111 001101 000111 101110 100100 011001 001111 k11 = 001000 010101 111111 010011 110111 101101 011110 000110 k12 = 011101 010111 000111 110101 100101 000110 011111 101001 k13 = 100101 111100 010111 010001 111110 101011 101001 000001 k14 = 010111 110100 001110 110111 111100 101110 011100 111010 k15 = 101111 110011 000110 001101 001111 010011 111100 001010 k16 = 110010 110011 110110 001011 000011 100001 011111 110101
  31. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 31 Bước 3 : Tìm hàm f ( Ri-1, ki ) Tính S1 ( B1 ) = S1 ( 011000 ). Bit đầu và bit cuối là “ 00 ” cho ta hàng 0 Bốn bit giữa “ 1100 ” = 12 cho ta cột 12 Chiếu hàng 0 cột 12 vào bảng S1 cho ta giá trị là 5 = “ 0101 ” Vậy S1 ( 011000 ) = “ 0101 ” Tính S2 ( B2 ) = S2 ( 010001 ) triển khai hoán vị S1 ( B1 ) theo phép hoán vị S1 Bit đầu và bit cuối là “ 01 ” cho ta hàng 1 Bốn bit giữa “ 1000 ” = 8 cho ta cột 8 Chiếu hàng 1 cột 8 vào bảng S2 cho ta giá trị là 12 = ” 1100 ” Vậy S2 ( 010001 ) = “ 1100 ”. Tính tƣơng tự ta có S1 ( B1 ) = S2 ( B2 ) = S3 ( B3 ) = S4 ( B4 ) = S5 ( B5 ) = S6 ( B6 ) = S7 ( B7 ) = S8 ( B8 ) = 0101 1100 1000 0010 1011 0101 1001 0111 Tính hàm f = P S1 ( B1 ) = S2 ( B2 ) … … … S8 ( B8 ) triển khai theo phép hoán vị P P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 f = P ( S1 ( B2 ) = S2 ( B2 ) … … … … .. S8 ( B8 ) = P ( 0101 1100 1000 0010 1011 0101 1001 0111 ) = 0010 0011 0100 1010 1010 1001 1011 1011
  32. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 32 R1 = L0 + f ( R0, k1 ) = 1100 1100 0000 0000 1100 1100 1111 1111 + 0010 0011 0100 1010 1010 1001 1011 1011 = 1110 1111 0100 1010 0110 0101 0100 0100 Tƣơng tự ta tính : R2 = L1 + f ( R1, k2 ) … … R16 = L15 + f ( R15, k16 ) Ta triển khai 16 lần vòng lặp thu đƣợc R16L16 L16 = 0100 0011 0100 0010 0011 0010 0011 0100 R16 = 0000 1010 0100 1100 1101 1001 1001 0101 R16L16 = 0000 1010 0100 1100 1101 1001 1001 0101 0100 0011 0100 0010 0011 0010 0011 0100 Thực hiện phép hoán vị ngƣợc IP ( IP-1 ) IP-1 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 Ta đƣợc IP-1 = 10000101 11101000 00010011 01010100 00001111 00001010 10110100 00000101. Chuyển IP-1 sang dạng hexa ta thu đƣợc bản mã : 85E823540 F0AB405
  33. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 33 2.3 Giải mã DES Tƣơng tự nhƣ mã hóa, để giải thuật một chuỗi kí tự đã bị mã hóa ta cũng làm tƣơng tự theo những bƣớc trên, tuy nhiên mạng lưới hệ thống khóa lúc này đã đƣợc tạo theo chiều ngƣợc lại. 2.3.1 Thuật toán Mã hóa – Cho bản rõ x – x0 = IP ( x ) = L0 R0 – i = 1,2,3, …. 16 Li = Ri-1 Ri = Li-1 ^ f ( Ri-1, Ki ) – y0 = ( R16 L16 ) – y = IP-1 ( y0 ) Giải mã – Cho bản mã y – y0 = IP ( y ) = R16 L16 = L ‟ 0 R ‟ 0 – i = 1,2,3, …. 16 Li „ = Ri-1 ‟ Ri „ = L ‟ i-1 ^ f ( R ‟ i-1, K17-i ) – x0 = ( R ‟ 16 L ‟ 16 ) – x = IP-1 ( x0 ) 2.3.2 Chứng minh thuật toán Có bản mã y y0 = IP ( y ) = IP ( IP-1 ( R16 L16 ) ) = R16 L16 = L ‟ 0 R ‟ 0 Vậy L ‟ 0 = R16, R ‟ 0 = L16 ; Với i = 1 L ‟ 1 = R ‟ 0 = L16 = R15 ; R ‟ 1 = L ‟ 0 ^ f ( R ‟ 0, k16 ) = R16 ^ f ( L16 k16 ) = L15 ^ f ( R15, k16 ) ^ f ( R15, k16 ) = L15 ; Tóm lại : L ‟ 1 = R15 ; R ‟ 1 = L15 ;
  34. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 34 Hình 2.4. Sơ đồ giải thuật DES y IP ( x ) Y0 B + x E B1 B2 B8 S1 S2 C1 C2 C8 P + Li-1 Ri-1 R16 L16 Li – Ri K PC-1 C0 D0 LSi ( Ci-1 ) Ci PC-2 ( k ) qi K17-i IP ( y ) S8
  35. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 35 Từ đó ta thấy, thuật toán giải thuật chỉ khác thuật toán mã hóa ở chỗ tạo mạng lưới hệ thống khóa, nếu mã hóa tạo khóa từ k1, k2 …, k16 thì giải thuật tạo mạng lưới hệ thống khóa từ k16, k15 …, k1. Việc này đƣợc trình diễn đơn cử trong hình 2.4 sơ đồ giải thuật DES. 2.4 Các yếu tố xung quanh DES 2.4.1 Những quan điểm phản hồi Khi DES đƣợc đề xuất nhƣ một tiêu chuẩn thì đã có những lời phê bình, sự phản hồi có tương quan đến những hộp S. Tất cả những sự đo lường và thống kê trong DES, ngoại trừ những hộp S, đều là tuyến tính. Các hộp S, thành phần phi tuyến trong mạng lưới hệ thống mật mã là sống còn so với sự bảo đảm an toàn của mạng lưới hệ thống. Tuy nhiên, tiêu chuẩn phong cách thiết kế của hộp S chƣa đƣợc hiểu hết, một số ít ngƣời gợi ý rằng những hộp S này có tiềm ẩn những cửa sập còn ẩn dấu ở đâu đó. Những cửa sập này hoàn toàn có thể được cho phép cục bảo mật an ninh vương quốc giải thuật những thông điệp trong khi ngƣời dùng vẫn cho rằng mạng lưới hệ thống này bảo đảm an toàn. Tất nhiên khó hoàn toàn có thể phản đối lại lời tuyên bồ này nhƣng chƣa có vật chứng nào đƣợc đƣa ra để chỉ rõ rằng trong trong thực tiễn những cửa sập tồn tai trong DES. Năm 1976, cục bảo mật an ninh vương quốc Hoa kỳ công bố rằng những thuộc tính của hộp S là tiêu chuẩn phong cách thiết kế : – Mỗi một dòng của một hộp S là sự tái diễn của những số nguyên từ 0 đến 15. – Không có hộp S nào có tuyến tính hay là hàm Affine của những nguồn vào. – Thay đổi một bit nguồn vào của hộp S gây ra tối thiểu 2 bit đầu rat hay đổi. – Đối với bất kỳ một hộp S và bất kể đầu vào x, S ( x ) và S ( x ^ 001100 ) gây ra sự độc lạ ở tối thiểu hai bit 9 x ở dây là một chuỗi có độ dài 6. Hai đặc tính khác của hộp S đƣợc phong cách thiết kế nhƣ là đƣợc tinh chỉnh và điều khiển bởi những tiêu chuẩn phong cách thiết kế của cục An ninh Quốc gia. – Đối cới bất kỳ hộp S nào, bất kỳ x nguồn vào và so với e, f { 0,1 }, S ( x ) ≠ S ( x + 1 lef00 ) – Đối với bất kỳ hộp S nào, nếu một bit nguồn vào là cố định và thắt chặt và ta xem giá trị của bit đầu ra cố định và thắt chặt, số đầu vào làm cho đầu ra = 0 sẽ gần với số đầu vào làm cho đầu ra = 1 ( lƣu ý rằng nếu ta cố định và thắt chặt giá trị của bit 1 và bit 16 thì sẽ có 16 đầu vào làm cho mỗi bit đầu ra đơn cử = 0 và 16 đầu vào làm cho 1 bit đầu ra đơn cử = 1. Đối với lần thứ 2 trải qua những bit đầu vào thứ 5 thì điều này sẽ không đúng nhƣng gần đúng. Cặn kẽ hơn với bất kỳ hộp S nào nếu nhƣ giá trị của bất kỳ bit nguồn vào nào là cố định và thắt chặt thì số nguồn vào mà nhờ đó bất kỳ bit đầu ra cố định và thắt chặt nào có giá trị là 0 hoặc 1
  36. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 36 thì luôn luôn nằm giữa 13 và 19 ). Lời chỉ trích thích đáng nhất về DES là kích cỡ của khoảng trống khóa 256 là khóa nhỏ để trở lên bảo đảm an toàn. Những máy có mục tiêu đặc biệt quan trọng khác nhau đƣợc đẹ trình cho tiến công bản rõ, mà nó triển khai hầu hết tìm kiếm khóa. Đó là đƣa ra bản rõ x gồm 64 bit và một bản tƣơng đƣơng y, thì mỗi một khóa hoàn toàn có thể có lớn hơn một khóa k là Ek ( x ) = y đƣợc tìm thấy. ( Lƣu ý rằng hoàn toàn có thể lớn hơn một khóa k0 ). – Đầu năm 1977, Diffie và Hellman ý kiến đề nghị rằng một ngƣời hoàn toàn có thể kiến thiết xây dựng một chip VLSL hoàn toàn có thể kiểm tra đƣợc 106 khóa một giây. Một máy với 106 hoàn toàn có thể tìm kiếm hàng loạt khoảng trống khóa trong một ngày. Họ dự trù rằng máy này đƣợc kiến thiết xây dựng với giá khoảng chừng 20 USD. – Tại hôi nghị CRYPTO ‟ 93 ( phần lê dài ), Michael Wiener đƣa ra một phong cách thiết kế rất chi tiết cụ thể về một máy dò khóa. Máy này dựa trên một chip dò khóa đƣợc nối truyền liên tục, thế cho nên 16 mã hóa đƣợc diễn ra đồng thời. Chip này hoàn toàn có thể kiểm tra 5.107 khóa 1 giây và hoàn toàn có thể đƣợc thiết kế xây dựng sử dụng công nghệ tiên tiến hiện thời với giá 10,5 USD một chip. Một khung gồm có 5760 chip hoàn toàn có thể đƣợc thiết kế xây dựng với giá 1 triệu USD nhƣng giảm thời hạn dò trung bình xuống còn 3,5 giờ. 2.4.2 DES trong thực tiễn Ngay cả khi việc miêu tả DES khá dài dòng thì DES đƣợc triển khai rất hiệu suất cao trong cả phần cứng lẫn phần mền. Những tính toán số học duy nhất đƣợc triển khai là phép XOR của những chuỗi bit. Việc lan rộng ra hàm E những hộp S, sự hoán vị IP và P., và việc thống kê giám sát k1, k2, …, k16 tổng thể đƣợc thực thi trong thời hạn ngắn bởi bảng tìm kiếm trong phần mền hoặc cách nối dây cứng chúng vào môt mạch. Những thi hành phần cứng hiện thời hoàn toàn có thể đạt vận tốc mã hóa cực nhanh, công ty thiết bị số thông tin tại CRYPTO ‟ 92 rằng họ vừa mới sản xuất đƣợc một chip với 50 k Transistors hoàn toàn có thể mã hóa với vận tốc 1GB / s sử dụng một đồng hồ đeo tay vận tốc là 250MH z. Giá của chip này khoảng chừng 300USD. Năm 1991 có 45 phần cứng và chƣơng trình cài sẵn thi hành DES đã đƣợc ủy ban tiêu chuẩn vương quốc Mỹ phê chuẩn. Một ứng dụng rất quan trọng của DES là ứng dụng vào việc thanh toán giao dịch ngân hàng nhà nước sử dụng những tiêu chuẩn đƣợc hiệp hội những ngân hàng nhà nước Mỹ tăng trưởng. DES đƣợc sử dụng đẻ mã hóa những số lượng, nhận dạng những nhân ( PIN ) và trao đổi thông tin tài khoản đƣợc máy thu ngân tự động hóa triển khai ( ATM ). DES cũng đƣợc clearing Hourse Interbank System ( CHIPS ) sử dụng đẻ trao đổi có tương quan đến trên 1,5. 1012 USD / tuần. DES cũng đƣợc sử dụng thoáng rộng trong những tổ chức triển khai chính phủ nước nhà nhƣ : Bộ năng lƣợng, Bộ tƣ pháo và mạng lưới hệ thống phản chứng liên bang .
  37. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 37 2.4.3 Một vài Tóm lại về mã DES Có rất nhiều phƣơng pháp mã hóa đẻ bảo vệ bảo đảm an toàn tài liệu. Để nhìn nhận tính ƣu việt một giải thuật mã hóa, nhƣời ta thƣờng dựa vào những yếu tố : Tính bảo mật thông tin, độ phức tạp, vận tốc thực thi giải thuật và yếu tố phân khóa trong môi trƣờng nhiều ngƣời sử dụng. Hiện nay phƣơng pháp mã hóa DES đƣợc sử dụng thoáng đãng nhất. Các chip chuyên dung DES đƣợc phong cách thiết kế nhằm mục đích tăng vận tốc xử lí của DES. Rất nhiều nhà toán học, tin học đã bỏ nhiều công điều tra và nghiên cứu trong nhiều năm nhằm mục đích tìm cách phá vỡ DES ( tức là tìm ra cách giải thuật trong khoảng chừng thời hạn ngắn hơn thời hạn cần để thử lần lƣợt toàn bộ những khóa ). Ngoại trừ việc tìm ra 4 khóa yếu và 12 khóa tƣơng đối yếu cho tới nay chƣa có một thông tin nào về việc tì ra cách phá vỡ phƣơng pháp mã hóa này. Để phá vỡ DES bằng phƣơng pháp “ vét cạn ” thử tổng thể những khóa trong khoảng trống khóa cần có một khoản tiền lớn và yên cầu một khoảng chừng thời hạn dài. Nhƣợc điểm của DES : nó là thuật tán mã hóa đối xứng. Khi phƣơng pháp này mới đƣợc tìm ra ý tƣởng thực thi 50000 tỷ phép mã hóa thiết yếu để vƣợt mặt DES bằng cách thử lần lƣợt những khóa hoàn toàn có thể là điếu không hề làm đƣợc nhƣng ngày này với sự tăng trưởng mạnh của phần cứng liệu độ dài 56 bit đã đủ chƣa ? Và những phép thay thế sửa chữa đã đủ phức tạp chƣa ? để đạt đƣợc độ bảo đảm an toàn thông tin nhƣ mong ước, đó là yếu tố ngƣời ta vẫn đang bàn luận. Tuy vậy, DES đã đƣợc nghiên cứu và phân tích kĩ lƣỡng và công nhận là vững chãi. Các hạn chế của nó đã đƣợc hiểu rõ và hoàn toàn có thể xem xét trong quy trình phong cách thiết kế và để tăng độ bảo đảm an toàn hơn, ngày này những mạng lưới hệ thống ma hóa sử dụng DES lan rộng ra ( 3DES ), đƣợc ứng dụng rộng dãi. Với DES lan rộng ra khóa hoàn toàn có thể là 128 bit, … độ lớn khối hoàn toàn có thể là 128 bit. Do vậy độ bảo đảm an toàn lan rộng ra của DES cao hơn rất nhiều .
  38. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 38
    CHƢƠNG 3. CÁC SƠ ĐỒ CHIA SẺ BÍ MẬT
    3.1 Khái niệm về chia sẻ bí mật
    Thông tin cần giữ bí mật đƣợc chia thành nhiều mảnh và giao cho nhiều ngƣời,
    mỗi ngƣời giữ một mảnh. Thông tin này có thể đƣợc xem lại, khi mọi ngƣời giữ
    các mảnh nhất trí. Các mảnh khớp lại để đƣợc tin gốc.
    -Thông tin cần giữ bí mật đƣợc chia thành nhiều mảnh và trao cho mỗi thành viên
    tham gia nắm giữ.
    Thông tin bí mật Các mảnh đƣợc chia

    -Khi các mảnh đƣợc khớp lại sẽ cho ta thông tin gốc.
    Các mảnh đƣợc chia Thông tin bí mật

  39. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 39 3.2 Sơ đồ san sẻ bí hiểm Bài toán : Trong một ngân hàng nhà nước có một két phải mở hằng ngày. Ngân hàng sử dụng 3 thủ quỹ lâu năm nhƣng họ không tin bất kỳ ngƣời nào. Bởi vậy họ cần thiết kế một mạng lưới hệ thống sao cho bất kỳ 2 thủ quỹ nào cũng không hề mở đƣợc két tuy nhiên riêng từng ngƣời một thì không hề mở đƣợc. Vấn đề này hoàn toàn có thể đƣợc xử lý đƣợc bằng lƣợc đồ san sẻ bí hiểm. 3.2.1 Khái niệm “ sơ đồ san sẻ bí hiểm ” : Sơ đồ san sẻ bí hiểm là một phƣơng thức để san sẻ bí hiểm ra nhiều phần sau đó phân phối cho một tập hợp những ngƣời tham gia sao cho những tập con trong số những ngƣời nay đƣợc thông tư, có năng lực Phục hồi lại bí hiểm bằng cách tích hợp tài liệu của họ. Một sơ đồ san sẻ bí hiểm là hoàn hảo nhất, nếu bất kể một tập hợp những ngƣời tham gia mà không đƣợc chỉ định, sẽ không thu đƣợc thông tin về bí hiểm. 3.2.2 Định nghĩa : Cho t, w là những số nguyên dƣơng t ≤ w. Một sơ đồ ngƣỡng A ( t, w ) là một phƣơng pháp phân loại khóa k cho một tập w thành viên ( kí hiệu là P. ) sao cho t thành viên bất kỳ hoàn toàn có thể tính đƣợc k nhƣng không một nhóm ( t-1 ) thành viên nào hoàn toàn có thể làm đƣợc điều đó. Giá trị k đƣợc chọn bởi một thành viên đặc biệt quan trọng đƣợc gọi là ngƣơi phân phối ( D ). D P.. D phân loại khóa k cho mỗi thành viên trong P. bằng cách cho mỗi thành viên một thông tin cục bộ gọi là mảnh. Các mảnh đƣợc phân phát một cách bí hiểm để không thành viên nào biết đƣợc mảnh đƣợc trao cho mỗi thành viên khác. Một tập con những thành viên B P. sẽ tích hợp những mảnh của họ để tính khóa k ( cũng hoàn toàn có thể trao những mảnh của mình cho một ngƣời đáng đáng tin cậy để tính khóa hộ ). Nếu | B | ≥ t thì họ có năng lực tính đƣợc k. Nếu | B | ≤ t thì không hề tính đƣợc k. Gọi P. là tập những giá trị đƣợc phân phối khóa K : P = { pi : 1 ≤ i ≤ w } K là tập khóa : tập tổng thể những khóa hoàn toàn có thể. S tập mảnh : tập tổng thể những mảnh hoàn toàn có thể. Sau đây ta trình diễn một sơ đồ ngƣỡng đƣợc gọi là sơ đồ ngƣỡng Shamir .
  40. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 40 Giai đoạn khởi tạo : 1. D chọn w thành phần khác nhau và khác 0 trong Zp và kí hiệu chúng là : xi, 1 ≤ i ≤ w ( w ≥ p + 1 ). Với 1 ≤ i ≤ w, D cho giá trị xi cho pi. Các giá trị xi là công khai minh bạch. Phân phối mảnh : 2. Giả sử D muốn phân loại khóa k Zp. D sẽ chọn một cách bí hiểm ( nhẫu nhiên và độc lập ) t-1 thành phần Zp, ai … … … ai-1 3. Với 1 ≤ i ≤ w, D tính yi = a ( xi ), trong đó a ( x ) = k + 4. Với 1 ≤ i ≤ w, D sẽ trao mảnh yi cho pi Hình 3.1 : Sơ đồ ngƣỡng Shamir Trong sơ đồ 3.1 D thiết kế xây dựng một đa thức ngẫu nhiên a ( x ) có bậc tối đa là t-1. Trong đa thức này hằng số là khóa k. Mỗi thành viên pi sẽ có một điểm ( xi, , yi ). Ta xét một tập con B gồm t thành viên tạo lại khóa k bằng 2 phƣơng pháp : Phép nội suy đa thức Công thức nội suy Lagrange Tạo lại khóa k bằng phƣơng pháp sử dụng phép nội suy đa thức : Giả sử những thành viên pi, muốn xác lập khóa k. Ta biết rằng : yti = a ( xi ). trong đó a ( xi ) là một đa thức bí hiểm đƣợc D chọn. Vì a ( x ) có bậc lớn nhất là t-1 nên ta hoàn toàn có thể viết nhƣ sau : a ( x ) = a0 + a1x + … … + ai-1xi-1 Ta có hệ những phƣơng trình tuyến tính ( trong Zp ) nhƣ sau : a0 + a1xi1 + a2x … … … + at-1xit1 t-1 = yi1 a0 + a1xi2 + a2xi2 … … … + at-1xit t-1 = yi2 … … … .. a0 + a1xi1 + a2xit … … … + at-1xitt t-1 = yit Trong đó thông số a0, a1, …. at-1 là những thành phần chƣa biết của Zp, còn a0 = K là khóa. Vì yi = a ( xi ) nên B hoàn toàn có thể thu đƣợc t phƣơng trình tuyến tính t ẩn ( a0, a1, …. at-1 ), ở đây toàn bộ những phép tính số học đều đƣợc thực thi trên Zp .
  41. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 41 Nếu những phƣơng trình này độc lập tuyến tính thì sẽ cho ta nghệm duy nhất và thu đƣợc giá trị khóa a0. Sau đây chúng tôi trình diễn một thủ tục ( protocol ) san sẻ bí hiểm dựa trên sáng tạo độc đáo của Languange : Giá sử ta có n thực thể A1, A2, … .. An và có một ngƣời ủy quyền B biết đƣợc hàng loạt khóa bí hiểm SєN. Ngƣời đƣợc ủy quyền B triển khai những bƣớc sau đây : 1. B chọn 1 số nguyên tố P đủ lớn sao cho : n < < √ p. Với SєZp. 2. B, tiếp theo, chọn 2 n - 1 số một cách ngẫu nhiên : a1, a2, …., an-1 v0, v1, …., vn-1 trong đó : vi ≠ 0, vi ≠ vj, i ≠ j 3. B xác lập một đa thức với những thông số a1, a2, …., an-1 trên Zp : f ( x ) = an-1xn-1 + an-2xn-2 + … … .. + a1x + s ( mob P. ) 4. Bây giờ B gửi cho Aj một cách công khai minh bạch cặp ( vj, f ( vj ) ) với j = 0,1,2, …. n-1 coi nhƣ là một mảnh riêng của Aj Khôi phục bí hiểm S : Tất cả n ngƣời A1, A2, … .. An hoàn toàn có thể hợp tác lại để Phục hồi lại bí hiểm S bằng cách tính :. ( 3.1 ) Khi đó thuận tiện xác lập đƣợc S = g ( 0 ) Ta có định lí sau : n thực thể tích hợp với nhau thì hoàn toàn có thể Phục hồi bí hiểm S một cách có hiệu suất cao đó là : S = g ( 0 ) = f ( 0 ) Chứng minh : Thật vậy, dễ thấy rằng g ( x ) là hàm nội suy Lagrange của hàm f ( x ) là một đa thức có cấp bé hơn n và g thỏa mãn nhu cầu điều kiện kèm theo : g ( vj ) = f ( vj ) với 0 ≤ j ≤ n Do đó, f-g là đa thức trên Zp có cấp bé hơn n, nhƣng nó lại có tối thiểu n nghiệm khác nhau : là những số r thỏa mãn nhu cầu f ( r ) - g ( r ) = 0. Chứng tỏ rẳng : f ( a ) = g ( a ) a Zp, đặc biệt quan trọng f ( 0 ) = g ( 0 ) = S đó là điều cần chứng tỏ. Sau đây tôi xin lấy 1 số ít ví dụ đơn cử : Ví dụ 1 : Co 3 ngƣời A1, A2, A3 muốn san sẻ bí hiểm S = 472 Cho p = 1999 công khai minh bạch. A chọn v0 = 626 , v1 = 674 , v0 = 93 a1 = 334, a2 = 223
  42. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 42 tính f ( vj ) = a2 vj 2 + a1 vj + S mob p Áp dụng công thức trên với S = 472 ta có : f ( v0 ) = 1724 f ( v1 ) = 1925 f ( v2 ) = 1241 A1 có cặp ( v0, f ( v0 ) ) = ( 626, 1724 ) A1 có cặp ( v1, f ( v1 ) ) = ( 674, 1925 ) A3 có cặp ( v2, f ( v2 ) ) = ( 93, 1241 ) Ba ngƣời hợp lại sẽ xác lập đƣợc S : S =. Với bj = ( 3.2 ) Áp dụng công thức ( 3.2 ) trên ta tính đƣợc : b0 = 1847 b1 = 1847 b2 = 1847 S =. Ví dụ 2 : Cho số p = 342853815608923 ( Đây là một số nguyên tố đƣợc lấy trong bảng những số nguyên tố từ cuốn “ The Art of Programing ” của Knut vol2 ). n = 3, ta có : a1 = 53958111706386 a2 = 151595058245452 v0 = 111350135012507 v1 = 207244959855905 v2 = 20545949133543 Giá sử bí hiểm là S = 151595058245452 Tính f ( v0 ) = 109351520587519 f ( v1 ) = 174675701531216 f ( v2 ) = 117471713218253 Đặt bj = Ta có : S = b0 = 266921901220910 b1 = 129147516050688 b2 = 289638215946249 Ta tính đƣợc S ‟ = 151595058245452. S ‟ trùng với khóa bí hiểm đã cho .
  43. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 43 3.3 Cấu trúc truy nhập và sơ đồ san sẻ bí hiểm Trong phần trƣớc ta mong ước rằng t thành viên bất kỳ trong w thành viên có năng lực xác lập đƣợc khóa. Tình huống tổng quát hơn là phải chỉ rõ một những đúng chuẩn những thành viên có năng lực xác lập khóa và những tập con không có năng lực này. Ký hiệu : – P. là tập gồm m thành viên đƣợc chia mảnh công khai minh bạch xi. – Г là một tập những tập con của P., những tập con trong Г là những tập con những thành viên có năng lực tính khóa. Г đƣợc gọi là một cấu trúc truy nhập Các tập con trong Г đƣợc gọi là những tập con hợp thức. Ví dụ : Chìa khóa để mở két bạc là chìa khóa số đƣợc chia thành 3 mảnh khóa, có 3 thủ quỹ là P1, P2, P3. Mỗi thủ quỹ giữ một mảnh khóa. Chỉ có thủ quỹ P1 và P2 hoặc P2 và P3 khi khớp 2 mảnh khóa của họ với nhau thì sẽ nhận đƣợc chìa khóa gốc để mở két bạc. Các tập con hợp thúc là những tập con hoàn toàn có thể mở khóa : { P1, P2 }, { P2, P3 }. Vậy Г là : { P1, P2 }, { P2, P3 }. 3.3.1 Định nghĩa sơ đồ san sẻ bí hiểm hoàn thành xong Một sơ đồ san sẻ bí hiểm hoàn thành xong bộc lộ cấu trúc truy nhập Г là phƣơng pháp san sẻ khóa K cho một tập w thành viên ( đƣợc kí hiệu là P. ) thỏa mãn nhu cầu 2 đặc thù sau : 1. Nếu một tập con hợp thức những thành viên B P góp chung những mảnh của họ thì họ hoàn toàn có thể xác lập đƣợc giá trị của K. 2. Nếu một tập con không hợp thức những thành viên B P góp chung những mảnh của họ thì họ không hề xác lập đƣợc khóa k. Ví dụ : Trong sơ đồ Samir A ( t, m ) bộc lộ cấu túc truy nhập sau : Г = { B P. : / B / } Vậy sơ đồ Samir là sơ đồ san sẻ bí hiểm hoàn thành xong. Chú ý : “ Tập trên ” của một “ tập hợp thức ” sẽ là “ tập hợp thức ” Giả sử B Г và B C P., giả sử tập con C muốn K
  44. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 44 Vì B là một tập con hợp thức nên nó hoàn toàn có thể xác lập đƣợc K. Tập con C hoàn toàn có thể xác lập đƣợc khóa K bằng cách bỏ lỡ những mảnh ( tin ) của những thành viên trong B, C. Tức là : Nếu B Г và B C P thì C Г. 3.3.2 Định nghĩa tập hợp thức tối thiểu Nếu Г là một cấu trúc truy nhập thì B Г đƣợc gọi là “ tập hợp thức ” tối thiểu nếu : A B, A ≠ B thì A ≠ Г. Nói cách khác B là tập hợp thức nhỏ nhất trong Г. Tập những tập con hợp thức tối thiểu của Г kí hiệu là Г0 và đƣợc gọi là cơ sở của Г. Vì Г chứa tổng thể những tập con của P. là tập trên của một tập con trong cơ sở Г0 nên Г đƣợc xác lập một cách duy nhất nhƣ một hàm của Г0. Biểu diễn về mặt toán học ta có : Г = { C P. ; B C, B Г0 } 3.4 Mạch đơn điệu Một phƣơng pháp đẹp và đơn thuần về mặt khái niệm do Benaloh và Leichter đƣa ra. Ý tƣởng của nó là thiết kế xây dựng một mạch đơn điệu “ ghi nhận ” cấu trúc truy nhập và sau đó thiết kế xây dựng một sơ đồ san sẻ bí hiểm trên cơ sở thiết kế xây dựng miêu tả về mạch. Ta gọi đó là cấu trúc mạch đơn điệu. 3.4.1 Định nghĩa mạch đơn điệu Một mạch Bolean C với w đầu vào x1, … .. xw ( tƣơng ứng với w thành viên P1, … … Pw ) và một đầu ra y. Mạch này gồm những cổng “ hoặc ” và những cổng “ và ” không có bất kể một cổng “ phủ định ” nào một mạch nhƣ vậy gọi là mạch đơn điệu. Mạch đƣợc ghép có số đàu vào tùy ý nhƣng chỉ có một đầu ra ( tức là một cổng hoàn toàn có thể có nhiều dây vào nhƣng chỉ có một dây ra ). Xây dựng mạch đơn điệu : Nếu Г là một mạch đơn điệu những tập con của P. thì thuận tiện thiết kế xây dựng đƣợc một mạch đơn điệu C sao cho Г ( C ) = Г. Giả sử Г0 là cơ sở của Г khi đó ta thiết kế xây dựng công thức Bolean dạng tuyển hội sau : C = B Г0 ( ^ Pi BPi )
  45. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 45 Ví dụ : Nếu trong tập những thành viên { P1, P2, P3 } có tập cơ sở : Г0 = { { P1, P2 }, { P2, P3 } }. Ta thu đƣợc công thức Bolean sau : C = ( P1 ^ P2 ) ^ ( P2 P3 ) 3.4.2 Chia sẻ khóa bí hiểm dựa vào “ mạch đơn điệu ” Thuật toán thực thi phép gán một giá trị f ( W ) K cho mỗi dây W trong mạch C. Đầu tiên, dây ra Wout của mạch sẽ đƣợc gán giá trị khóa K. Thuật toán sẽ đƣợc lặp lại 1 số ít lần cho đến khi mỗi dây có một giá trị gán vào nó. Cuối cùng, mỗi thành viên Pi sẽ đƣợc một list những giá trị f ( W ) sao cho W là một dây vào của mạch có đầu vào xi. Thuật toán san sẻ khóa K : 1. F ( Wout ) = K 2. While sống sót một dây W sao cho f ( W ) không xác lập DO Begin 3. Tìm cổng G của C sao cho f ( Wg ) đƣợc xác lập, Wg là dây ra của G nhƣng f ( W ) không đƣợc xác lập với bất kể dây nào của G. 4. If G là cổng “ hoặc ” Then f ( W ) = f ( Wg ) với mỗi dây vào W của G Else ( G là cổng “ và ” ) Cho những dây vào của G là W1 … … .. Wt Chọn độc lập, ngẫu nhiên t-1 thành phần của Zm và kí hiệu chúng là : Yg1, … …. Ygt-1 End ; 5. For 1 ≤ i ≤ m Do f ( Wi ) = Yg Ví dụ : Giả sử K là khóa. Giá trị K sẻ đƣợc đƣa tới mỗi một trong 3 nguồn vào của cổng “ hoặc ” sau cuối. Tiếp theo ta xét cổng “ và ” ứng với mệnh đề P1 ^ P2 ^ P4. Ba dây vào sẽ đƣợc gán những giá trị tƣơng ứng là : a1, a2, k – a1 – a2 ở đây tổng thể những phép tính đều đƣợc thực thi trên Zm. Tƣơng tự 3 dây vào tƣơng ứng với P1 ^ P3 ^ P4 sẽ đƣợc gán những giá trị b1, b2, k – b1 – b2. Cuối cùng 2 dây vào tƣơng ứng với P2 ^ P3 sẽ đƣợc gán những giá trị c1, k – c1. Chú ý rằng a1, a2, b1, b2 và c1 đều là những biến
  46. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 46 ngẫu nhiên độc lập trong Zm. Nếu nhìn vào những mảnh mà 4 thành viên nhận đƣợc thì ta có : 1. P1 nhân a1, b1 2. P2 nhân a2, c 1 3. P3 nhân b2, K-c 1 4. P4 nhân K – a1 – a2, K – b1 – b2 5. Nhƣ vậy mỗi thành viên sẽ nhận 2 phân tử trong Zm làm mảnh của mình. x1 x2 x3 x4 K – c1 a1 a2 b2 K-b1 – b c1 K – a1 – a1 K K K K Hình 3.2 Một mạch đơn điệu Ta sẽ chứng tỏ rằng sơ đồ này là triển khai xong. Trƣớc tiên ta kiểm tra thấy rằng mỗi tập con cơ sở hoàn toàn có thể tính đƣợc k. Tập con hợp thức { P1, P2, P4 } hoàn toàn có thể tính : k = a1 + a2 + ( k – a1 – a2 ) mob m Tập con { P1, P3, P4 } hoàn toàn có thể tính : k = b1 + b2 + ( k – b1 – b2 ) mob m Cuối cùng tập con { P2, P3 } hoàn toàn có thể tính : K = c1 + ( k – c1 ) mob m ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
  47. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 47 Nhƣ vậy, mọi tập con hợp thức đều hoàn toàn có thể tính đƣợc k, do đó ta sẽ hƣớng sự chú ý quan tâm tới những tập con không hợp thức. Chẳng hạn, nếu B2 và B2 là 2 tập con không hợp thức ( B1 B2 ) và B2 không hề tính đƣơc k thì B1 cũng không hề tính đƣợc k. Ta định nghĩa tập con B P là một tập con không hợp thức tối đa nếu B1 P so với mọi B1 B, B1 ≠ B. Điều này dẫn đến Tóm lại là chỉ cần kiểm tra thấy không một tập con không hợp thức nào hoàn toàn có thể xác lập đƣợc một chút ít thông tin nào về khóa k là đƣợc. Ở đây những tập con không hợp thức tối đa là : { P1, P2 }, { P1, P3 }, { P1, P4 }, { P2, P4 }, { P3, P4 }. Trong mỗi trƣờng hợp, thuận tiện thấy đƣợc k không hề tính đƣợc, hoặc do thiếu một mảnh thông tin ngâu nhiên thiết yếu nào đó hoặc do tổng thể những mảnh có từ một tập con ngẫu nhiên. Ví dụ tập con { P1, P2 } chỉ có những giá trị ngẫu nhiên a1, b1, a2, c1. Một ví dụ khác, tập con { P3, P4 } có mảnh b2, k – c1, k – a1 – a2, k – b1 – b2. Vì những giá trị c1, a2, a1 và b1 là những giá trị ngẫu nhiên chƣa biết nên k không hề tính đƣợc, trong mỗi trƣờng hợp hoàn toàn có thể mỗi tập con không hợp thức đều không có chút thông tin gì về giá trị của k .
  48. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 48 CHƢƠNG 4. ỨNG DỤNG THUẬT TOÁN DES VÀ LƢỢC ĐỒ CHIA SẺ BÍ MẬT VÀO THI TUYỂN SINH 4.1 Các ứng dụng Ta hoàn toàn có thể vận dụng thuật toán DES và sơ đồ san sẻ bí hiểm vào rất nhiều ứng dụng ví dụ điển hình trong đấu thầu từ xa, trong mã thẻ ATM, trong thi tuyển sinh … Ở đây ta nghiên cứu và điều tra một ứng dụng là trong thi tuyển sinh, vậy có một bài toán đƣợc đƣa ra là : Trong một kì thi, nơi ra đề thi và nơi tổ chức triển khai thi ở cách xa nhau, ta phải thực thi việc chuyển đề thi từ nơi ra đề tới nơi tổ chức triển khai thi trên mạng máy tính sao cho bảo vệ về tính bảo mật thông tin. 4.2 Quy trình thực thi giải bài toán 4.2.1 Sơ đồ Nơi ra đề thi ( n thực thể nhận ) Nơi ra đề thi Khóa k Đề thi ( Bản rõ ) Mã hóa Mã hóa Bản mã Giải mã Bản rõ
  49. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 49 Khóa DES gồm 56 bit, tƣơng đƣơng với 1 số ít nguyên gồm 20 chữ số thập phân. Con số bí hiểm nay không quá lớn so với bài toán san sẻ bí hiểm. Cho nên việc thống kê giám sát là rất hiệu suất cao. 4.2.2 Các bước triển khai Theo sơ đồ trên ta phải thực thi theo những bƣớc sau : – Nơi ra đề thi :  Bản rõ ( đề thi )  Mã hóa bản rõ  Tạo khóa k  Mã hóa khóa k  Gửi bản mã – Nơi tổ chức triển khai thi :  Nhận bản mã và cặp (  Giải bản mã ( sau khi nhận đủ những cặp khác từ ngƣời ra đề thi để xác lập đƣợc khóa K ). Mã hóa bản rõ ( đề thi ) : Bộ giáo dục dùng bảng mã ASCII lan rộng ra để chuyển bản rõ từ dạng kí tự sang Hexa sau đó dùng thuật toán DES để mã hóa. Tạo khóa k : Dùng dãy kí tự dạng chữ hoặc dạng số, nhóm 8 kí tự thành 1 nhóm sau đó dùng 56 bit để mã hóa. Gửi bản tin : Dựa vào lƣợc đồ san sẻ bí hiểm chia khóa k thành 2 mảnh rời nhau k1, k2 : k1 + k2 = k. Sau đó gửi k1 cho n thực thể ( những địa chỉ thi ). Quy định đến đúng giờ G vụ Đào tạo gửi nốt k2 cho n thực thể đó trên cơ sở k1, k2. Tất cả những nơi đều mở đƣợc đề và trao cho học viên hoặc gửi cho học viên trải qua máy tính để làm ( qua mail đồng thời ). Sau đây là chƣơng trình mô phỏng “ san sẻ bí hiểm bằng ngôn từ C ”. 4.2.3 Mô phỏng lược đồ san sẻ bỉ mật bằng ngôn từ C : Chƣơng trình gồm có 5 phần :
  50. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 50
    Hình 4.1 Giao diện chƣơng trình
    4.2.3.1 Chia sẻ khóa bí mật theo giao thức “chia sẻ bí mật” Shamir.
    void giaothuc::chiakhoa()
    {
    int h;
    cout<<”n Nhap khoa bi mat can chia se:”; cin>>k;
    cout<<”n Nhap so nguyen to p:”; cin>>p;
    cout<<”n Nhap so phan tu x:”; cin>>m;
    cout<<”n Nhap so nguoi co the khoi phuc lai khoa:”; cin>>t;
    cout<<”n Nhap gia tri xi de trao cho moi thanh vien P:”; for(i=1; i<=m; i++) { cout<<”n x[“<>x[i];
    }
    cout<<”n Nhap bi mat t-1 phan tu trong Zp”; for(j=1;j

  51. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 51
    {
    cout<<”n a[“<>a[j];
    }
    for(i=1;i

  52. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 52 Hình 4.2 và 4.3 Chia sẻ khóa bí hiểm theo giao thức Shamir 4.2.3. 2 Khôi phục khóa bí hiểm bằng giải pháp giải hệ phương trình tuyến tính void giaothuc :: giaihekhoiphuckhoa ( ) { int n, m, v, b ; float mx = 0, g, e, c, gt, h ;
  53. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 53
    float G[max] [max] [max], H[max] [max], A[max] [max], B[max] [max], M[max]
    [max];
    cout<<”n Nhap so nguyen to p:”: cin>> p;
    cout<<”n Nhap so nguoi co the khoi phuc lai khoa:”; cin>>n;
    cout<<”n Nhap gia tri xi da trao cho moi thanh vien P:”; for(j=0;j>x[j];
    }
    cout<<”n Nhap cac mang khoa da trao cho moi thanh vien P:”; for(l=0;l> B[l][0];
    }
    for(i=0;i

  54. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 54
    cout<<”A[i][j]<<”a”<

  55. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 55
    }
    }
    }
    i=0; t=0;
    while(tmx)
    {
    mx=G[i][j];
    v=j;
    }
    for(j=0; j

  56. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 56
    {
    G[k][j]=G[k][j]*h;
    }
    }
    i++;
    }
    t=t+1;
    }
    gt=1;
    for(i=0; i0)
    {
    cout<<”n a”<

  57. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 57 } } } } Hình 4.4 và 4.5 Khôi phục khóa bí hiểm bằng phƣơng pháp giải hệ phƣơng trình tuyến tính
  58. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 58
    4.2.3.3 Khôi phục khóa bí mật bằng phương pháp dùng công thức nội suy
    Lagrange
    void giaothuc::congthuckhoiphuckhoa()
    {
    float n,m,b;
    cout<<”n Nhap so nguyen to p:”; cin>>p;
    cout<<”n Nhap so nguoi co the khoi phuc lai khoa:”; cin>>t;
    cout<<”n Nhap gia tri xi da trao cho moi thanh vien P:”; for(j=1; j<=t; j++) { cout<<”n x[“<>x[j];
    }
    cout<<”n Nhap cac manh khoa da trao cho oi thanh vien P”; for(j=1; j<=t; j++) { cout<<”n g[“<>g[j];
    }
    k=0;
    for(l=1; l<=t; l++) { m=1; for(j=1; j<=t; j++) { if(j!=1) { b=x[j] – x[l]; n=x[j]/b; m=m*n; } }

  59. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 59
    k=k+g[l]*m;
    }
    cout<<”n Vay khoa bi mat khoi phuc lai la:”<

  60. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 60
    4.2.3.4 Chia sẻ khóa bí mật theo phương pháp bằng mạch đơn điệu
    void giaothuc::machchiakhoa()
    {
    int n,m h[max],e;
    char ten[32];
    cout<<”n Nhap so thanh vien tham gia:”; cin>>m;
    cout<<”n Nhap khoa bi mat can chia se:”; cin>>k;
    cout<<”n Nhap so tap con hop thuc co the tinh khoa k:”; cin>>n;
    for(j=1; j<=n; j++) { cout<<”n Nhap so thanh vien trong hop thuc”<>t;
    cout<<”n trong hop thuc”<>h[i];
    }
    cout<<”n Nhap ten thanh vien thu”<

  61. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 61 Hình 4.8 và 4.9 Chia sẻ bí hiểm bằng mạch đơn điệu 4.2.3. 5 Khôi phục khóa bí hiểm theo giải pháp mạch đơn điệu void giaothuc :: machphuckhoa ( ) { int h ; cout < < ” n Nhap so nguoi co the khoi phuc lai khoa : ” ; cin >> t ; cout < < ” n Nhap cac manh khoa da trao cho moi thanh vien P. : ” ;
  62. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 62
    for(j=0; j>g[j];
    }
    h=0;
    for(j=0; j
    #include
    #include

  63. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 63
    #include
    Const int max=30;
    class giaothuc
    {
    Private:
    int m, t, y, p;
    float k;
    int x[max], a[max], g[max];
    int i, j, l;
    Public:
    void chiakhoa();
    void giaihekhoiphuckhoa();
    void congthuckhoiphuckhoa();
    void machchiakhoa();
    void machphuckhoa();
    };
    //////////////////////////////////////////////////////////
    void giaothuc::chiakhoa()
    {
    int h;
    cout<<”n Nhap khoa bi mat can chia se:”; cin>>k;
    cout<<”n Nhap so nguyen to p:”; cin>>p;
    cout<<”n Nhap so phan tu x:”; cin>>m;
    cout<<”n Nhap so nguoi co the khoi phuc lai khoa:”; cin>>t;
    cout<<”n Nhap gia tri xi de trao cho moi thanh vien p:”; for(i=1; i<=m; i++) {

  64. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 64
    cout<<”n x[“<>x[i];
    }
    cout<<”n Nhap bi mat t-1 pha tu trong Zp”; for(j=1; j>a[j];
    }
    for(i=1; i<=m; i++) { l=0; for(j=1; j>p;
    cout<<”n Nhap so nguoi co the khoi phuc lai khoa:”; cin>>n;

  65. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 65
    cout<<”n Nhap gia tri xi da trao cho moi thanh vien P:”; for(j=0; j>x[j];
    }
    cout<<”n Nhap cac manh khoa da trao cho moi thanh vien P:”; for(l=0; l>B[l][0];
    }
    for(i=0; i

  66. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 66
    {
    cout<

  67. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 67
    i=0; t=0;
    while(tmx)
    {
    mx= G[i][j];
    v=j;
    }
    for(j=0; j

  68. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 68
    }
    }
    i++;
    }
    t=t+1;
    }
    gt=1;
    for(i=0; i0)
    {cout<<”n a”<

  69. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 69
    }
    ////////////////////////////////////////////////
    void giaothuc::congthuckhoiphuckhoa()
    {
    float m, n, b;
    cout<<”n Nhap so nguyen to p:”; cin>>p;
    cout<<”n Nhap so nguoi co the khoi phuc lai khoa:”; cin>>t;
    cout<<”n Nhap gia tri xi da trao cho moi thanh vien P:”; for(j=1; j<=t; j++) { cout<<”n x[“<>x[j];
    {
    cout<<”n Nhap cac manh khoa da trao cho moi thanh vien P:”; for(j=1; j<=t; j++) { cout<<”n g[“<>g[j];
    }
    k=0;
    for(l=1; l<=t; l++) { m=1; for(j=1; j<=t; j++) { if(j!=1) { b=x[j]- x[l]; n= x[j]/b; m=m*n; } }

  70. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 70
    k=k+g[l]*m;
    }
    cout<<”n Vay khoa bi mat khoi phuc lai la:”<>t;
    cout<<”n Nhap cac mach khoa da trao cho moi thanh vien P:”; for(j=0; j>g[j];
    }
    h=0;
    for(j=0; j>m;

  71. Đồ án tốt

    nghiệp Trƣờng DHDL Hải Phòng
    Đỗ Thị Phƣơng- CT1301 Page 71
    cout<<”n Nhap khoa bi mat can chia se:”; cin>>k;
    cout<<”n Nhap so tap con hop thuc co the tinh khoa k:”; cin>>n;
    for(j=1; j<=n; j++) { cout<<”n Nhap so thanh vien trong hop thuc”<>t;
    cout<<”n Trong hop thuc”<>h[i];
    }
    cout<<”n Nhap ten thanh vien thu”<

  72. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 72 cout < < ” nnnn MENU CHUONG TRINH ” ; cout < < ” n = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = n ” ; cout < < ” n 1. Chia se khoa bi mat ” ; cout < < ” n 2. Khoi phuc khoa bang Phuong phap giai he Phuong trinh tuyen tinh. : ; cout < < ” n 3. Khoi phuc khoa bang Phuong phap dung cong thuc noi suy Langrangre. ” ; cout < < ” n 4. Chia se khoa bi mat bang mach don dieu. ” ; cout < < ” n 5. Khoi phuc khoa bang mach don dieu. ” ; cout < < ” n 0. Thoat khoi chuong trinh. ” ; cout < < ” n Moi chon : ” ; cin >> chon ; switch ( chon ) { case 1 : clrscr ( ) ; g.chiakhoa ( ) ; break ; case 2 : clrscr ( ) ; g. giaihekhoiphuckhoa ( ) ; break ; case 3 : clrscr ( ) ; g. congthuckhoiphuckhoa ( ) ; break ; case 4 : clrscr ( ) ; g.machchiakhoa ( ) ; break ; case 5 : clrscr ( ) ; g.machphuckhoa ( ) ; break ; } } while ( chon ! = 0 ) ; getch ( ) ; }
  73. Đồ án tốt nghiệp Trƣờng DHDL TP. Hải Phòng Đỗ Thị Phƣơng – CT1301 Page 73 KẾT LUẬN Các ứng dụng trên mạng máy tính ngày càng trở lên phổ cập, thuận tiện và quan trọng thì nhu yếu về bảo đảm an toàn mạng, về bảo mật an ninh tài liệu càng trở lên cấp bách và thiết yếu. Thuật toán mã hóa đƣợc ứng dụng trong rất nhiều nghành nghề dịch vụ nhƣ : xác nhận ngƣời dùng, chữ kí số, mã hóa và xác thực dữ liệu … Kết quả của luận văn của em gồm 2 phần chính : 1. Tìm hiểu lí thuyết về mật mã Luận văn điều tra và nghiên cứu lí thuyết về mật mã, thuật toán DES và lƣợc đồ san sẻ bí hiểm. 2. Phần ứng dụng Luận văn đề cập đến vấn đè ứng dụng thuật toán DES và lƣợc đồ san sẻ bí hiểm vào thi tuyển sinh. Mô phỏng lƣợc đồ san sẻ bí hiểm bằng ngôn từ lập trình C. Hạn chế luận văn đề cập tới phần lí thuyết nhiếu hơn những ứng dụng. Phần ứng dụng chƣa đƣợc vận dụng trong trong thực tiễn do đó không hề tránh khỏi những thiếu sót, rất mong đƣợc sự góp ý của fan hâm mộ để luận văn của tôi đƣợc triển khai xong hơn .
  74. Đồ án tốt nghiệp Trƣờng DHDL Hải Phòng Đất Cảng Đỗ Thị Phƣơng – CT1301 Page 74 TÀI LIỆU THAM KHẢO Tiếng Việt : 1. Phan Đình Diệu ( 2002 ). Lí thuyết mật mã và bảo đảm an toàn thông tin. NXB Đại học Quốc gia TP.HN. 2. Lê Thị Sinh ( 2010 ) Nghiên cứu một số ít quy mô bảo vệ an ninh cơ sở tài liệu và thử nghiệm ứng dụng, luaận ăn thạc sĩ Công nghệ thông tin, tr 28-25, Trƣờng Đại học công nghệ tiên tiến – Đại học Quốc gia Thành Phố Hà Nội. 3. Dƣơng Anh Đức ( 2008 ) Mã hóa và ứng dụng. Nhà xuất bản Đại học Quốc gia TPHCM. 4. Nguyễn Viết Kính ( 2007 ) Mã hóa. Bài giảng cho học viên cao học Trƣờng Đại học Quốc gia TP. Hà Nội. 5. Bảo mật thông tin, quy mô và ứng dụng, Nguyễn Xuân Dũng, 2007, Nhà xuất bản thông kê. 6. Douglas ( 1994 ) Mật mã lí thuyết và thực hành thực tế. Ngƣời dịch Nguyễn Bình .
Luận văn: Tìm hiểu chuẩn mật mã dữ liệu (DES) và ứng dụng, HOT

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay