1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB

22 13 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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG - - BÁO CÁO BÀI TẬP LỚN LÝ THUYẾT MẬT MÃ Đề tài: TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB Giảng viên hướng dẫn : TS Hán Trọng Thanh Nhóm sinh viên thực : Nhóm số Lê Bá Tuấn Anh MSSV: 20140088 – Điện tử 10 K59 Tăng Bá Phương Duy MSSV: 20140747 – Điện tử 10 K59 Nguyễn Hữu Dương MSSV: 20140873 – Điện tử 08 K59 Phạm Bá Thông MSSV: 20144316 – Điện tử 05 K59 Nguyễn Quang Toàn MSSV: 20144543 – Điện tử 02 K59 Hà Nội – 05/2017 MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU BẢNG PHÂN CÔNG CÔNG VIỆC LỜI NÓI ĐẦU Phần Trình bày tập lớn CHƯƠNG I – LÝ THUYẾT VỀ HỆ MẬT ELGAMAL 1.1 Giới thiệu chung 1.1.1 Mục tiêu 1.1.2 Giới thiệu hệ mật mã 1.2 Hệ mật mã Elgamal .10 1.2.1 Giới thiệu chung hệ mật Elgamal 10 1.2.2 Mã hóa giải mã hệ mật Elgamal .10 1.2.3 Thám mã hệ mật Elgamal 13 1.2.4 Quản lý khóa .16 1.2.5 Độ an toàn 17 1.2.6 Ưu & nhược điểm hệ mật Elgamal .18 CHƯƠNG II – TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB 19 2.1 Mơ hình mơ 19 CHƯƠNG III – KẾT LUẬN 21 3.1 Kết đạt : 21 3.2 Kết chưa đạt được: 21 3.3 Thuận lợi : .21 3.4 Khó khăn .21 Phần Tài liệu tham khảo 22 Phần Phụ lục 23 DANH MỤC HÌNH ẢNH [1] Hình Q trình mã hóa giải mã Trang 09 [2] Hình 2: Sơ đồ mã hóa giải mã hệ mật Elgamal Trang 11 [3]Hình 3: Sơ đồ quản lý khóa Trang 17 [4] Hình 4: Giao diện mơ .Trang 19 [5] Hình 5: Giao diện lập mã Trang 20 [6] Hình 6: Giao diện giải mã Trang 20 DANH MỤC BẢNG BIỂU BẢNG PHÂN CÔNG CÔNG VIỆC STT Họ tên MSSV Lê Bá Tuấn Anh 20140088 Tăng Bá Phương Duy 20140747 Nguyễn Hữu Dương 20140873 Phạm Bá Thơng 20144316 Nguyễn Quang Tồn 20144543 Cơng việc giao Tìm tài liệu đọc hiểu lý thuyết Module hóa lý thuyết thành sơ đồ Thiết kế lưu đồ thuật toán dựa Module Cài đặt thuật toán Matlab Tổng hợp, hiệu chỉnh viết báo cáo Điểm đánh giá nhóm (thang 10) 9 9 LỜI NÓI ĐẦU Trong thời đại xã hội loài người, vấn đề bảo mật thông tin quan tâm lớn Từ xa xưa, người sáng tạo hệ mật mã cổ điển để đáp ứng nhu cầu bảo mật thơng tin Mật mã học là ngành có lịch sử từ hàng nghìn năm Trong phần lớn thời gian phát triển (ngoại trừ vài thập kỷ trở lại đây), lịch sử mật mã học chính lịch sử phương pháp mật mã học cổ điển - phương pháp mật mã hóa với bút và giấy, đơi có hỗ trợ từ dụng cụ cơ khí đơn giản Vào đầu thế kỷ 20, xuất cấu khí và điện cơ, chẳng hạn như máy Enigma, cung cấp chế phức tạp hiệu cho việc mật mã hóa Sự đời phát triển mạnh mẽ ngành điện tử và máy tính trong thập kỷ gần tạo điều kiện để mật mã học phát triển nhảy vọt lên tầm cao Rất nhiều hệ mật mã đại đời dựa sở đại số Modulo thuật toán logarithm rời rạc… Năm 1975, IBM công bố Hệ mật DES, khởi đầu cho hệ mật mã đại Tiếp theo đời hệ mật mã AES, RSA, DSA, Elgamal… Hệ mật Elgamal đề xuất vào năm 1984 sở toàn Logarit rời rạc, hệ mật mã khó thám mã Dựa hướng dẫn Thầy, thành viên nhóm tiến hành tìm hiểu thuật tốn thám mã giải mã hệ mật mã hóa Elgamal, nhóm tiến hành xây dựng mô hệ mật Elgamal phần mềm Matlab Báo cáo phần mô nhóm khơng tránh khỏi thiếu sót, mong góp ý dẫn Thầy! Phần Trình bày tập lớn CHƯƠNG I – LÝ THUYẾT VỀ HỆ MẬT ELGAMAL 1.1 Giới thiệu chung 1.1.1 Mục tiêu 1.1.2 Giới thiệu hệ mật mã -  Ta biết tin truyền mạng dễ bị lấy cắp Để đảm bảo việc truyền tin an tồn người ta thường mã hố thơng tin trước truyền Việc mã hoá thường theo quy tắc định gọi hệ thống mật mã Một hệ thống mật mã hệ bao gồm thành phần (P, C, K, E, D) thỏa mãn tính chất sau: P (Plaintext) tập hợp hữu hạn rõ  C (Ciphertext) tập hợp mã  K (Key) tập hợp khóa  E (Encrytion) tập hợp quy tắc mã hóa  D (Decrytion) tập hợp quy tắc giải mã - Q trình mã hóa tiến hành cách áp dụng hàm tốn học E lên - thơng tin P, vốn biểu diễn dạng số, để trở thành thơng tin mã hóa C - Q trình giải mã tiến hành ngược lại: áp dụng hàm D lên thông tin C để thông tin giải mã (P) Hình 1: Quá trình mã hóa giải mã - Thám mã (phá mã) tìm điểm yếu hệ thống điểm yếu khơng an tồn phương thức mật mã hóa Thám mã thực kẻ công ác ý, nhằm làm hỏng hệ thống; người thiết kế hệ thống (hoặc người khác) với ý định đánh giá độ an toàn hệ thống - Hệ mật mã gồm:  Hệ mật mã đối xứng (hay gọi mật mã khóa bí mật): hệ mật dùng chung khố q trình mã hố liệu giải mã liệu Do khố phải giữ bí mật tuyệt đối Một số thuật tốn tiếng mã hoá đối xứng là: DES, Triple DES(3DES), RC4, AES…  Hệ mật mã bất đối xứng (hay gọi mật mã khóa cơng khai): Các hệ mật dùng khố để mã hố sau dùng khoá khác để giải mã, nghĩa khoá để mã hoá giải mã khác Các khoá tạo nên cặp chuyển đổi ngược khơng có khố suy từ khố Khố dùng để mã hố cơng khai khố dùng để giải mã phải giữ bí mật Do thuật tốn có loại khố: Khố để mã hố gọi khóa cơng khaiPublic Key, khố để giải mã gọi khóa bí mật - Private Key Một số thuật toán mã hoá công khai tiếng: Diffle-Hellman, RSA, Rabin, Elgamal… 1.2 Hệ mật mã Elgamal 1.2.1 Giới thiệu chung hệ mật Elgamal - Hệ Elgamal hệ mật mã cơng khai - Hệ Elgamal dựa tốn logarithm rời rạc Tính an tồn phụ thuộc vào độ phức tạp toán logarithm - Hệ Elgamal biến thể sơ đồ phân phối khóa Diffie-Hellmal, đưa năm 1984 - So với RSA, Hệ Elgamal khơng có nhiều rắc rối vấn đề quyền sử dụng 1.2.2 Mã hóa giải mã hệ mật Elgamal Hình 2: Sơ đồ mã hóa giải mã hệ mật Elgamal - Ban đầu người ta lựa chọn số nguyên tố lớn p số nguyên tố nhỏ p alpha ( phần tử nguyên thủy Z*p) a ( khóa bí mật người nhận) sau tính khóa cơng khai: beta =alpha a mod p Lưu ý: Để tạo khó khăn cho việc phá mã nên chọn p có 150 chữ số - Để mã hóa thông điệp M (một số nguyên tố Zp) thành mã C người gửi chọn số ngẫu nhiên k nhỏ p tính cặp mã: C1 = alphak mod p C2 = (M*betak )mod p 10 Và gửi mã C=( C1,C2) (sau k bị hủy đi) - Để giải mã thông điệp M ta dùng khóa bí mật a tính theo cơng thức: M = (C2* (C1a) -1) mod p Với: (C1a) -1) mod p = (C1 (p-1-a)) mod p  Kết luận Xây dựng hệ mã Elgamal khóa: K=(p, alpha, a, beta) với: - Thành phần khóa cơng khai: K U = (alpha, beta, p) - Thành phần khóa bí mật: KR= (a, p) Ví dụ: Cho Hệ Elgamal có p = 2579; alpha = 2; a = 765; chọn k ngẫu nhiêu 853 Bản rõ M = 1299 Tìm khóa hệ mã trên? Mã hóa: Trước hết ta tính: beta = alphaa mod p = 2765 mod 2579 = 949 Để mã hóa thơng điệp M = 1299 ta tính theo k =853: C1 = alphak mod p = 2853 mod 2579 =435 C2 = (M*betak )mod p = (1299*949853 ) mod 2579 =2396 Vậy mã gửi C = (435, 2396) Giải mã: Với khóa bí mật a= 765: (C1a) -1) mod p = (C1(p-1-a)) mod p = (435(2579-1-765)) mod 2579 = (4351813) mod 2579 = 1980 M = (C2* (C1a) -1) mod p = (2396*1980) mod 2579 = 1299  Kết luận: Xây dựng hệ mã Elgamal khóa: 11 K = (p, alpha, a, beta) = (2579, 2, 765, 949) với: - Thành phần khóa cơng khai: K U = (alpha, beta, p) - Thành phần khóa bí mật: KR = (a, p) = (765, 2579) - Mã hóa M=1299 với C(C1, C2) = (435,2396) 1.2.3 Thám mã hệ mật Elgamal Để thám mã hệ Hệ Elgamal, ta cần phải giải toán logarit rời rạc Chúng ta có thuật tốn để giải toán logarit rời rạc là: - Thuật toán Shank - Thuật tốn Pohlig_Hellman Trong thuật tốn thám mã Shank sử dụng nhiều nên nhóm trình thuật tốn Shank Bài tốn logarith rời rạc: Logarith rời rạc kết nối phép tính logarith trường số thực vào nhóm hữu hạn Ta nhắc lại với hai số thưc x,y số a>0, a#0, a x – y=0 x gọi logarith số a y, ký hiệu x = logay Logarith rời rạc tốn khó ( chưa biết thuật tốn hiệu ) Trong toán ngược lũy thừa rời rặc lại khơng khó ( sử dụng thuật tốn bình phương nhân) Ví dụ: Cho p số nguyên tố , xét nhóm nhân số nguyên modulo p: Zp* = { 1,2….,p } với phép nhân modulo p 12 Nếu ta tính lũy thừa bậc k số nhóm rút gọn theo modulo p ta số nhóm trình gọi lũy thừa rời rạc modulo p Chẳng hạn với p = 17 , lấy a = 3, k = ta có : 34 = 81 = 13 mod 17 Logarith rời rặc phép tính ngược lại : Biết : 3k = 13 (mod 17) tìm k?  Thực tương tự thuật toán Shank => k = Tuy nhiên tốn tương đối khó Trong trường hợp p lớn ( có 150 chữ số) tốn trở thành bất khả thi => an tồn Thuật tốn Shank: Thuật tốn có tên gọi khác thuật toán thời gian_bộ nhớ Tư tưởng thuật tốn ta có đủ nhớ sử dụng nhớ để giảm thời gian thực thuật toán Input : Số nguyên tố p, phần tử nguyên thủy a cua Z*p, số nguyên y Output : Cần tìm a cho beta =alphaa mod p Thuật toán : Gọi m = [(p-1)1/2] (lấy phần nguyên)  Bước 1: Tính alphamj mod p với

Ngày đăng: 11/10/2021, 19:12

Xem thêm:

HÌNH ẢNH LIÊN QUAN

BẢNG PHÂN CÔNG CÔNG VIỆC - Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB
BẢNG PHÂN CÔNG CÔNG VIỆC (Trang 6)
Hình 1: Quá trình mã hóa và giải mã. - Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB
Hình 1 Quá trình mã hóa và giải mã (Trang 9)
Hình 2: Sơ đồ mã hóa và giải mã hệ mật Elgamal - Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB
Hình 2 Sơ đồ mã hóa và giải mã hệ mật Elgamal (Trang 10)
Dựa vào hai bảng danh sách L1 và L2 khi =6 vài =2 thì: alphamj mod p = beta*alpha-i mod p = 33 - Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB
a vào hai bảng danh sách L1 và L2 khi =6 vài =2 thì: alphamj mod p = beta*alpha-i mod p = 33 (Trang 15)
Hình 3: Sơ đồ quản lý khóa - Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB
Hình 3 Sơ đồ quản lý khóa (Trang 16)
2.1. Mô hình mô phỏng - Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB
2.1. Mô hình mô phỏng (Trang 18)
Hình 5: Giao diện lập mã - Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB
Hình 5 Giao diện lập mã (Trang 19)
Hình 6: Giao diện giải mã - Đề tài TRIỂN KHAI HỆ MẬT ELGAMAL TRÊN MATLAB
Hình 6 Giao diện giải mã (Trang 19)

TỪ KHÓA LIÊN QUAN

Mục lục

    1.1.2. Giới thiệu về hệ mật mã

    1.2.1. Giới thiệu chung về hệ mật Elgamal

    1.2.2. Mã hóa và giải mã hệ mật Elgamal

    1.2.3. Thám mã hệ mật Elgamal

    1.2.6. Ưu & nhược điểm của hệ mật Elgamal

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

TÀI LIỆU LIÊN QUAN

w