1. Trang chủ
  2. » Công Nghệ Thông Tin

tìm hiểu về thuật toán vingenere

15 25 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 15
Dung lượng 2 MB
File đính kèm tìm hiểu về thuật toán vingenere.rar (2 MB)

Nội dung

TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT KHOA CÔNG NGHỆ THÔNG TIN ******* BÀI TIỂU LUẬN CƠ SỞ AN NINH MẠNG Tên đề tài: Tìm hiểu hệ mã hóa khóa bí mật: Vigenere Họ tên: Lê Tuấn Anh Nhóm môn học: 08 Giảng viên: Nguyễn Tuấn Anh Năm học: 2021-2022 MỤC LỤC HÀ NỘI - 2021 LỜI MỞ ĐẦU Sự phát triển nhanh chóng internet tác động đến công việc kinh doanh tiêu dùng với hứa hẹn việc thay đổi cách mà người sống làm việc Nhưng mối lo ngại lớn đề cập đến việc bảo mật Internet, đặc biệt thơng tin mang tính nhạy cảm gửi mạng xã hội Quá trính mã hóa máy tính dựa vào khoa học mật mã (Cyptography) người sử dụng từ lâu đời Trước thời đại số hóa, người sử dụng mật mã nhiều phủ, chủ yếu mục đích quân Hầu hết phương pháp mã hóa dựa vào máy tính, đơn giản mã người sinh dễ bị phá hủy công cụ máy tính Ngày việc mã hóa trở nên phổ cập Các công ty phần mềm lớn giới có nghiên cứu xây dựng cơng cụ, thuật tốn mã hóa để áp dụng cho thực tế Mỗi quốc gia hay tổ chức có chế mã hóa riêng để bảo vệ hệ thống thơng tin Ứng dụng khoa học mật mã khơng đơn mã hóa giả mã thông tin mà bao gồm nhiều vấn đề khác cần nghiên cứu giải chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký số), chứng nhận xác thực người sở hữu mã hóa (chứng nhận khóa cơng cộng), quy trình trao đổi thơng tin thực giao dịch điện tử an toàn mạng Trong phần nghiên cứu này, nghiên cứu mật mã cổ điện đặc biệt mật mã vingenere, phương pháp mã hóa điển hình Hệ mã hóa vingenere phương pháp mã hóa văn chữ cách sử dụng loạt thuật tốn hệ mã hóa ceasar khác dựa ký tự từ khóa Nó hình thức đơn giản phương pháp mã hóa thay Khi chọn đề tài này, nhóm em mong muốn tìm hiểu kiến thức nâng cao, tổng quan mã hóa đồng thời ưu nhược điểm định mà mang lại nhóm em mong muốn thực hành điều nhất, trình bày, phân tích số thuật tốn mã hóa ứng dụng mã hóa vào thực tiễn đời sống để giúp phần chút kiến thức chúng em bảo vệ thơng tin an tồn mạng Bài nhóm em làm với tất kiến thức nỗ lực chúng em chắn điều thiếu sót mong thầy bạn góp ý để chúng em có làm thật hồn chỉnh Em xin chân thành cảm ơn! PHẦN 1: MỞ ĐẦU Lý chọn đề tài Trong tình hình xã hội việc lưu trữ bảo vệ thông tin vấn đề vô quan trọng Trong vấn đề bảo vệ thơng tin quyền nhiều người coi trọng Trong xã hội có nhiều người ăn cắp quyền, nên việc thực mã hóa tin nhắn, nội dung hay liệu quan trọng vơ cần thiết Có nhiều phương pháp hệ mã hóa khác nhau, nhiên nhóm em lựa chọn hệ mã hóa vingenere để trình bày viết Mục đích nhiệm vụ tìm hiểu đề tài • • Mục đích tìm hiểu - Hiểu thêm hệ mã hóa vigenere - Hiểu thêm cách mã hóa giải mã thuật toán - Hiểu rõ mục tiêu hướng phát triển hệ mã hóa - Biết tầm quan trọng thuật toán sống ngày Nhiệm vụ tìm hiểu - Tìm hiểu cách thức hoạt động hệ mã hóa - Viết code, lập trình chạy chương trình thành cơng - Đưa số ví dụ cho đề tài thêm sinh động Một số phương pháp - Lặp khóa - Sinh khóa tự động Trong viết nhóm em lựa chọn phương pháp lặp khóa để thực hành mã hóa giải mã rõ PHẦN 2: NỘI DUNG CHƯƠNG 1: TỔNG QUAN CHUNG VỀ HỆ MÃ HÓA VÀ HỆ MÃ HĨA VINGENERE Mã hóa đối tượng mã hóa Mã hóa thơng tin q trình chuyển đổi thơng tin dạng rõ đọc (dữ liệu gốc) sang dạng đọc trực tiếp (dữ liệu mã hóa) ngược lại giải mã Trong mã hóa liệu gồm loại đối tượng liệu chính: - Bản rõ liệu(plaintext) - Bản mã hay mã hóa(ciphertext) - Khóa phần thông tin đặc biệt để kết hợp với thuật tốn để thục mã hóa giải mã, khóa khóa đối xứng khơng cơng khai bí mật Các thành phần hệ mã hóa Một hệ thống mã hóa phận gồm thành phần (P, C, D, K, E) thỏa mãn điều kiện: - P tập hợp hữu hạn kí tự rõ - C tập hơp hữu hạn kí tự mã - K tập hơp hữu hạn khóa - E phép lập mã hay giải thuật mã hóa, với kK e E, ta có ánh xạ ek: PC - D phép lập mã hay giải thuật mã hóa, với k K d D, ta có ánh xạ ek: PC Với hàm lập mã giải mã phải thỏa mãn hệ thức dk (ek (x)) = x, với x xem phần tử không gian P Tiêu chuẩn đánh giá hệ mã hóa tốt Để biết hệ mã hóa có tốt khơng ta xét yếu tố: - Về độ an toàn: Gần thuật tốn mã hóa bị phá vỡ, độ an tồn thuật tốn dựa vào yếu tố sau: • Nếu chi phí để giải thuật tốn lớn giá trị thơng tin tạm thời coi an tồn • Nếu thời gian giải mã q lâu • Nếu lượng liệu cần thiết cho giải thuật lớn lượng liệu giải mã - Về tốc độ thực - Về vấn đề phối khóa Phân loại phương pháp mã hóa Ta phân loại mã hóa theo nhóm: - Nhóm theo phương pháp mã hóa • Mã hóa cổ điển • Mã hóa đối xứng • Mã hóa bất đối xứng • Hàm băm - Nhóm theo khóa • Khóa bí mật: Mã Ceasar, Mã Vigenere, … • Khóa cơng khai: Hệ mã hóa RSA, hệ mã hóa đường cong elliptic, … Sơ đồ mã hóa giải mã Giới thiệu hệ mã hóa vingenere Phương pháp mã hóa Vigenère phát biểu lần đầu Giovan Battista Bellaso La cifra del Sig Giovan Battista Bellaso từ kỷ 16 Sau Blaise de Vigenère vào kỷ 19 công bố phương pháp tương tự, mạnh hơn, người ta lấy tên Vigenere đặt cho tên mã hóa Nhiều người cho điều khơng cơng cho người phát minh trước Mật mã Vigenère phương pháp mã hóa chữ văn tiếng Anh, lần mô tả Giovan Battista Bellaso vào năm 1553 Phương pháp mã hóa mật mã Vigenère dễ hiểu dễ thực hiện, đến năm 1863 với nhiều nỗ lực suốt ba kỷ, Friedrich Kasiski xuất phương pháp chung để giải mã mật mã Vigenère Mật mã Vigenère tập hợp quy tắc thay chữ đơn bảng chữ tiếng Anh qua việc sử dụng 26 mật mã Caesar với bước dịch chuyển từ đến 25 tương ứng từ chữ ‘a’ đến chữ ‘z’ Cụ thể, mã Vigenère lập theo công thức sau: ci = (pi + ki) mod 26, i=1, …, l đó, C = {c1…cl} mã, P= {p1…pl} gốc, K = {k1…kl} dãy khóa l độ dài rõ Tương tự, gốc P tính biết khóa mã theo công thức: pj = (cj – kj) mod 26, j = 1, …, l Mật mã Vigenère phá vỡ trường hợp sử dụng khóa đủ dài Nhưng với khóa ngắn nhà thám mã có đủ nhiều mã so với độ dài khóa dễ để phá vỡ Việc thám mật mã Vigenère thường tiến hành theo hai bước là: xác định độ dài chu kỳ khóa trước, sau tìm khóa cụ thể CHƯƠNG 2: TÍNH CHẤT VÀ CÁC PHƯƠNG PHÁP CỦA HỆ MÃ HĨA VINGENERE Tính chất chung - Tính bí mật (confidentiality/privacy): tính chất đảm bảo thơng tin hiểu biết chìa khóa bí mật Tính tồn vẹn (integrity): tính chất đảm bảo thông tin bị thay đổi mà khơng bị phát Tính chất khơng đảm bảo thơng tin khơng bị thay đổi, bị nghe thay đổi người nhận thơng tin biết thơng tin bị nghe thay đổi Các hàm - - - chiều (one-way function) MD5, SHA-1, MAC dùng để đảm bảo tính tồn vẹn cho thơng tin Tính xác thực (authentication): người gửi (hoặc người nhận) chứng minh họ Người ta dụng password, challenge dựa thuật toán mã hóa bí mật chia sẻ hai người để xác thực Sự xác thực thực chiều (one-way) hai chiều (Multual authentication) Tính khơng chối bỏ (non-repudiation): người gửi nhận sau chối bỏ việc gửi nhận thông tin Thông thường điều thực thông qua chữ ký điện tử (electronic signature) Tính nhận dạng (identification): người dùng hệ thống, tài nguyên sở hữu chứng minh thư (identity) chìa khóa ban đầu (primary key) identity xác định chức người dùng, giới hạn cho phép người dùng thuộc tính liên quan (thường gọi chung credential) Identity login, dấu vân tay, ADN, giản đồ võng mạc mắt… Phương pháp 1.1.1 Mã hóa Mã hóa Vigenère kết hợp xem kẽ nhiều phép mã hóa Caesar với bước dịch khác Nhắc lại chút mã hóa Caesar, phương pháp mã hóa mà ta chọn giá trị khóa key K, dịch chữ theo vòng tròn K bước Ví dụ thơng thường K=13 thì: Trong mã hóa Vigenère sử dụng bảng để làm phép dịch, chuỗi khóa gọi key, thay số mã hóa Caesar 1.1.2 Giải mã Để giải mã, ta lần ngược lại bảng mã Bắt đầu từ trái qua phải, với ký tự key làm dịng, ta tìm cột mà dóng xuống ta có gía trị ký tự chuỗi mã hóa Ký tự cột ký tự chuỗi ban đầu Phương pháp lặp khóa 1.4.1 Mã hóa Ví dụ ta có chuỗi cần mã hóa sau: TOIYEUHUMG Và key dùng để mã hóa “TEST” Trước hết ta nhân chuỗi TEST lên để có độ dài với chuỗi cần mã hóa: TESTTESTTE Khi ta sử dụng bảng mã hóa sau: trái qua phải, lấy ký tự key làm dịng, ký tự chuỗi cần mã hóa cột dóng vào bảng mã ta ký tự, ký tự ký tự mã hóa Áp dụng với key TESTTESTTE rõ TOIYEUHUMG bên trên: ta mã sau: MSARXYZNFK 1.4.2 Giải mã Để giải mã, ta lần ngược lại bảng mã Bắt đầu từ trái qua phải, với ký tự key làm dịng, ta tìm cột mà dóng xuống ta có giá trị ký tự chuỗi mã hóa Ký tự cột ký tự chuỗi ban đầu TESTTESTTE MSARXYZNFK Ta rõ ban đầu: TOIYEUHUMG CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN VÀ CÀI ĐẶT CODE Các mối đe dọa cách phòng chống 1.1 Các mối đe dọa  Có hình thức chủ yếu đe dọa hệ thống: - Phá hoại: kẻ thù phá hỏng thiết bị phần cứng phần mềm hoạt động hệ thống - Sửa đổi: Tài sản hệ thống bị sửa đổi trái phép Điều thường làm cho hệ thống không làm chức Chẳng hạn thay đổi mật khẩu, quyền ngƣời dùng hệ thống làm họ truy cập vào hệ thống để làm việc - Can thiệp: Tài sản bị truy cập người khơng có thẩm quyền Các truyền thơng thực hệ thống bị ngăn chặn, sửa đổi  Các đe dọa hệ thống thông tin đến từ ba loại đối tượng sau: - Các đối tượng từ bên hệ thống (insider), người có quyền truy cập hợp pháp hệ thống - Những đối tượng bên hệ thống (hacker, cracker), thường đối tượng công qua đường kết nối với hệ thống Internet chẳng hạn - Các phần mềm (chẳng hạn spyware, adware …) chạy hệ thống 1.2 Các phương pháp phịng chống - Điều khiển thơng tin qua phần mềm: dựa vào chế an toàn hệ thống (hệ điều hành), thuật toán mật mã học - Điều khiển thông qua phần cứng: chế bảo mật, thuật toán mật mã học cứng hóa để sử dụng - Điều khiển thơng qua sách tổ chức: ban hành qui định tổ chức nhằm đảm bảo tính an toàn bảo mật hệ thống Xây dựng thuật tốn Giả sử ta cần mã hóa câu: divert troops to east ridge (chuyển qn sang bờ phía đơng) Đầu tiên chọn cụm từ làm khóa Ví dụ WHITE Ta viết cụm WHITE lặp lại đến độ dài rõ Rồi lập sơ đồ sau: 10 Theo sơ đồ, kí tự rõ, chữ d mã hóa theo mã Caesar với key a -> W, hay nói cách khác k = 22, d mã hóa thành Z Tiếp tục, kí tự thứ 2, chữ i mã hóa theo mã Caesar với key a -> H, hay k = 7, i -> P Tương tự đến hết Bản rõ divert troops to east ridge mã hóa thành ZPDXVP AZHSLZ BH IWZB KMZNM Hoặc thực mã Vigenere hình vng Vigenere: Các dịng tô đậm tương ứng với chữ khóa, W: dịng 22, H: dịng 7, I: dịng 8, T: dịng 19, E dịng Vậy ta mã hóa chữ rõ theo thứ tự dòng 22 (a -> W) -> (a -> H) -> -> 19 -> lặp lại -> 22 -> -> … Và định nghĩa sơ đồ mã hóa Vigenere cách tốn học sau: 11 S = (P, C, K, E, D) Trong P = C = K = Zm26 , hàm lập mã giải mã cho bởi: E(p1, , pm) = (p1 + k1, , pm + km) mod 26 D(c1, , cm) = (c1 + k1, , cm + km) mod 26 với p =(p1, , pm) ∈ P, c =(c1, , cm) ∈ C , K = (k1, , km) ∈ K, m chiều dài khóa le chiffre indéchiffrable ( tiếng pháp nghĩa “Mật mã phá”) Với key = WHITE gồm chữ trên, khơng gian khóa 265 = 11.881.376 Vậy biết trước key có kí tự, với máy tính tầm trung, thuật tốn Brute-force phá mã vòng vài Nhưng chiều dài khóa tăng lên, khơng gian khóa tăng theo hàm số mũ Bảng sau cho ta thấy khơng gian khóa ứng với chiều dài khóa: Nếu key gồm 14 kí tự khơng gian khóa > 6.1019 Con số q lớn cho thuật tốn Brute-force làm việc Và điều quan trọng ta key gồm kí tự Thực tế người mã hóa thường chọn key cụm từ có nghĩa để thuận tiện cho trao đổi khóa, điều làm hạn chế khơng gian khóa nhiều, nhiên đủ để làm bạn bó tay giải mã Brute-force Nhưng, điều đáng nói mã Vigenere khơng phải khơng gian khóa lớn nó, nên nhớ mã thay đơn giản có khơng gian khóa 26! > x 1026 Điểm đáng bàn chỗ: kí tự rõ mã hóa thành nhiều kí tự khác nên mã tính chất mẫu từ tính chất phân bố tần suất văn gốc 12 Cài đặt code chạy thử 1.1 Cài đặt code 1.2 Kết 13 PHẦN 3: KẾT LUẬN Nhận xét Sau trình tìm hiểu hệ mã hóa Vingenere, thực hành mã hóa giải mã chuỗi Nhóm em phát kiến thức thực thú vị Qua tiểu luận nhỏ nhóm em hiểu thêm có thêm nhiều kiến thức hệ mã hóa, đặc biệt hệ mã hóa Vingenere Đánh giá 2.1 Ưu điểm - Đây phương pháp đơn giản, thời gian giải mã mã hóa tương đối nhanh, ứng dụng việc kết hợp tăng tính bảo mật hệ mã hóa - khác bước mã hóa Mật mã Vigenère kéo dài hàng trăm năm mà phá vỡ với khóa đủ dài 2.2 Nhược điểm - Nếu khóa mật mã vigenere khơng đủ dài nhà thám mã thám mã - cách dễ dàng Bị hạn chế số lượng ký tự mã hóa Khóa phương pháp khóa đối xứng việc lộ khóa xảy mà khơng có mã hóa khóa khác bị giải mã dễ dàng, việc chuyển giao khóa khó khăn     Tài liệu tham khảo Đỗ Văn Đức - ĐHGTVT https://www.youtube.com/watch?v=f0AmB_3cIAQ&t=204s https://kiendt.me/2017/11/01/vigenere-cipher/ http://antoanthongtin.vn/gp-mat-ma/tham-mat-ma-vigenere-106294 https://drx.home.blog/2018/07/22/series-mat-ma-06-ma-vigenere/ PHẦN 4: PHỤ LỤC • Sơ đồ tư 14 15 ... chọn hệ mã hóa vingenere để trình bày viết Mục đích nhiệm vụ tìm hiểu đề tài • • Mục đích tìm hiểu - Hiểu thêm hệ mã hóa vigenere - Hiểu thêm cách mã hóa giải mã thuật toán - Hiểu rõ mục tiêu... toán - Hiểu rõ mục tiêu hướng phát triển hệ mã hóa - Biết tầm quan trọng thuật tốn sống ngày Nhiệm vụ tìm hiểu - Tìm hiểu cách thức hoạt động hệ mã hóa - Viết code, lập trình chạy chương trình... trình tìm hiểu hệ mã hóa Vingenere, thực hành mã hóa giải mã chuỗi Nhóm em phát kiến thức thực thú vị Qua tiểu luận nhỏ nhóm em hiểu thêm có thêm nhiều kiến thức hệ mã hóa, đặc biệt hệ mã hóa Vingenere

Ngày đăng: 06/01/2022, 08:27

HÌNH ẢNH LIÊN QUAN

Mật mã Vigenère là tập hợp các quy tắc thay thế chữ cái đơn trong bảng chữ cái tiếng Anh qua việc sử dụng 26 mật mã Caesar với các bước dịch chuyển từ 0 đến 25 tương  ứng từ chữ ‘a’ đến chữ ‘z’ - tìm hiểu về thuật toán vingenere
t mã Vigenère là tập hợp các quy tắc thay thế chữ cái đơn trong bảng chữ cái tiếng Anh qua việc sử dụng 26 mật mã Caesar với các bước dịch chuyển từ 0 đến 25 tương ứng từ chữ ‘a’ đến chữ ‘z’ (Trang 5)
Để giải mã, ta sẽ lần ngược lại bảng mã. Bắt đầu từ trái qua phải, với mỗi ký tự của key làm dòng, ta tìm cột  mà khi dóng xuống ta có gía trị là ký tự trong chuỗi đã mã hóa - tìm hiểu về thuật toán vingenere
gi ải mã, ta sẽ lần ngược lại bảng mã. Bắt đầu từ trái qua phải, với mỗi ký tự của key làm dòng, ta tìm cột mà khi dóng xuống ta có gía trị là ký tự trong chuỗi đã mã hóa (Trang 7)
Để giải mã, ta sẽ lần ngược lại bảng mã. Bắt đầu từ trái qua phải, với mỗi ký tự của key làm dòng, ta tìm cột mà khi dóng xuống ta có giá trị là ký tự trong chuỗi đã mã hóa - tìm hiểu về thuật toán vingenere
gi ải mã, ta sẽ lần ngược lại bảng mã. Bắt đầu từ trái qua phải, với mỗi ký tự của key làm dòng, ta tìm cột mà khi dóng xuống ta có giá trị là ký tự trong chuỗi đã mã hóa (Trang 9)
Hoặc có thể thực hiện mã Vigenere bằng hình vuông Vigenere: - tìm hiểu về thuật toán vingenere
o ặc có thể thực hiện mã Vigenere bằng hình vuông Vigenere: (Trang 11)

TỪ KHÓA LIÊN QUAN

w