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

Phương pháp đồng dư và ứng dụng trong mật mã khóa công khai

41 37 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 41
Dung lượng 0,91 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH NGUYỄN SỸ THẮNG PHƯƠNG PHÁP ĐỒNG DƯ VÀ ỨNG DỤNG TRONG MẬT MÃ KHĨA CƠNG KHAI LUẬN VĂN THẠC SĨ TOÁN HỌC NGHỆ AN – 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH NGUYỄN SỸ THẮNG PHƯƠNG PHÁP ĐỒNG DƯ VÀ ỨNG DỤNG TRONG MẬT MÃ KHÓA CÔNG KHAI CHUYÊN NGÀNH: ĐẠI SỐ VÀ LÝ THUYẾT SỐ Mã số: 60 46 01 04 LUẬN VĂN THẠC SĨ TOÁN HỌC Người hướng dẫn khoa học PGS.TS NGUYỄN THÀNH QUANG NGHỆ AN – 2017 MỤC LỤC MỞ ĐẦU CHƯƠNG VỀ LÝ THUYẾT ĐỒNG DƯ 1.1 Vành lớp đồng dư 1.2 Hàm số Euler 1.3 Một số định lý số học có ứng dụng mã hóa thơng tin 11 1.4 Một vài ứng dụng phương pháp đồng dư Số học 17 1.5 Độ phức tạp thuật toán 25 CHƯƠNG ỨNG DỤNG CỦA PHƯƠNG PHÁP ĐỒNG DƯ TRONG MẬT MÃ KHĨA CƠNG KHAI 27 2.1 Về lý thuyết mật mã 27 2.2 Về mật mã khóa cơng khai 30 2.3 Các sở số học mã hóa thơng tin 32 2.4 Hệ mật mã khóa cơng khai Trapdoor Knapsack 33 KẾT LUẬN 37 TÀI LIỆU THAM KHẢO 38 MỞ ĐẦU I Lý chọn đề tài luận văn Quan hệ đồng dư theo môđun m quan hệ tương đương tập hợp số nguyên, định nhà toán học Gauss Lý thuyết quan hệ đồng dư tạo phương pháp đồng dư toán học cho nhiều ứng dụng kỹ thuật máy tính Bởi lẽ, máy tính có giới hạn độ lớn số đưa vào tính tốn Giới hạn gọi cỡ từ máy, ký hiệu  Cỡ từ thường lũy thừa 2, chẳng hạn 235 Vì vậy, làm việc với số ngun lớn, nhiều lúc người ta khơng thể tính tốn kể có hỗ trợ máy tính Trong trường hợp vậy, phương pháp đồng dư cho ta cách tính tốn hiệu Trên sở tham khảo tài liệu số học mật mã khóa cơng khai, chúng tơi lựa chọn đề tài luận văn ‘‘Phương pháp đồng dư ứng dụng mật mã khóa cơng khai’’ nhằm hệ thống hóa kiến thức lý thuyết đồng dư tìm hiểu sâu ứng dụng phương pháp đồng dư toán học, tin học lý thuyết mật mã II Phương pháp nghiên cứu luận văn - Sử dụng phương pháp kỹ thuật đồng dư - Sử dụng kết số học có liên quan với phương pháp đồng dư - Sử dụng khái niệm kết lý thuyết mật mã khóa cơng khai - Dùng cơng cụ tốn học làm sở cho việc giải mã thơng tin hệ mật mã khóa cơng khai III Cấu trúc nội dung luận văn Ngồi phần mở đầu, kết luận danh mục 10 tài liệu tham khảo, luận văn gồm có hai chương Chương trình bày nội dung về: Quan hệ đồng dư; vành lớp thặng dư môđun m ; Phương trình đồng dư tuyến tính; Định lý Wilson; Định lý Euler; Định lý Fermat bé; Định lý phần dư Trung Quốc Chương trình bày khái niệm kết chung lý thuyết mật mã nêu số toán sở đảm bảo tốn học cho an tồn mã hóa thơng tin: Hàm 1- chiều, vectơ siêu tăng, cửa bẫy, tốn đóng thùng, tốn phân tích ngun tố Ngồi ra, chương chúng tơi c n giới thiệu hệ mã khóa cơng khai Trapdoor Knapsack với phân tích sở tốn học cho đảm bào an tồn việc giải mã thơng tin hệ mã Luận văn hoàn thành hướng dẫn PGS.TS Nguyễn Thành Quang Nhân dịp tơi xin bày tỏ l ng kính trọng biết ơn sâu sắc tới thầy giáo hướng dẫn khoa học, người dành nhiều thời gian công sức cho việc giúp đỡ tơi hồn thành luận văn Tôi xin gửi lời cảm ơn đến thầy cô giáo thuộc chuyên ngành Đại số Lý thuyết số, ngành Toán, Viện Sư phạm Tự nhiên, Ph ng Đào tạo Sau Đại học Trường Đại học Vinh, người tận tình giảng dạy tạo điều kiện thuận lợi cho tơi hồn thành khóa học Tơi xin gửi lời cảm ơn đến đồng nghiệp, tạo điều kiện thuận lợi để giúp tơi hồn thành nhiệm vụ học tập Tôi xin chân thành cảm ơn bạn bè, gia đình động viên giúp đỡ suốt khóa học Mặc dù có nhiều cố gắng, song luận văn khơng tránh khỏi thiếu sót Tơi mong muốn nhận góp ý thầy cô giáo đồng nghiệp TÁC GIẢ CHƯƠNG VỀ LÝ THUYẾT ĐỒNG DƯ 1.1 Vành lớp đồng dư Để phát triển khoa học máy tính, nhà tin học toán học phải sử dụng nhiều cơng cụ tốn học (số học, tốn rời rạc, đại số tuyến tính, hình học đại số,…) đặc biệt số học số nguyên, có lý thuyết đồng dư Lý thuyết đồng dư công cụ mạnh để giải tốn tốn học nói chung số học nói riêng Ngày nay, lý thuyết đồng dư có vai trị quan trọng mật mã khóa cơng khai, vấn đề có ý nghĩa thực tiễn cao 1.1.1 Định nghĩa Cho m  số tự nhiên a, b số nguyên Ta nói a đồng dư với b theo môđun m phép chia a b cho m ta số dư Khi đó, ta kí hiệu: a  b  mod m  ,  gọi   đồng dư thức theo mơđun m 1.1.2 Định lí Các mệnh đề sau tương đương (i) a  b  mod m  (ii) m ước a  b (iii) Tồn số nguyên t cho a  b  mt Chứng minh (i)  (ii) Vì a  b  mod m  nên chia a b cho m ta số dư, nghĩa tồn số tự nhiên r,  r  m số nguyên qa , qb cho a  mqa  r , b  mqb  r Từ suy a  b  m(qa  qb ) Do đó, m ước a  b (ii)  (iii) Vì m ước a  b nên tồn t  tồn t  cho a  b  mt cho a  b  mt , hay (iii)  (i) Giả sử chia a cho m ta thương qa số dư r tức a  mqa  r ,  r  m Vì a  b  mt nên có b  mt  mqa  r hay b  m(qa  t )  r với  r  m Điều chứng tỏ chia b cho m ta số dư r Vậy, a  b  mod m  1.1.3 Các tính chất quan hệ đồng dư 1) Quan hệ đồng dư quan hệ tương đương (phản xạ, đối xứng, bắc cầu) tập hợp số nguyên 2) Ta cộng hay trừ vế nhiều đồng dư thức theo môđun m với Cụ thể  bi (mod m), i = 1, , k ta có k k i 1 i 1   i    ibi  mod m  , với  i  ±1 3) Ta nhân vế nhiều đồng dư thức theo môđun m với nhau, nghĩa  bi (mod m), i = 1, , k k k i 1 i 1    bi (mod m) 4) Ta chia hai vế đồng dư thức cho ước chung nguyên tố với môđun m, cụ thể  | a,  | b ( , m)  từ đồng dư thức a  b (mod m) , ta suy a   b   mod m  5) Ta nhân hai vế đồng dư thức môđun với số nguyên dương, cụ thể a  b  mod m  với số nguyên dương c, ta có ac  bc  mod mc  6) Ta chia hai vế đồng dư thức môđun cho số nguyên dương ước chung chúng Cụ thể là, a  b  mod m  với ước chung dương  a, b, m ta có: a   b  m  mod     7) Nếu hai số ngun đồng dư với theo k mơđun chúng đồng dư với theo môđun bội chung nhỏ k môđun cho Cụ thể, a  b  mod mi  , i  1, , k , a  b  mod m  , m   m1, m2 , , mk  8) Nếu hai số nguyên đồng dư với theo mơđun m chúng đồng dư với theo môđun ước m Cụ thể là, a  b  mod m  a  b (mod  ) với  ước nguyên dương m 9) Nếu hai số nguyên a b đồng dư với theo mơđun m tập hợp ước chung a m trùng với tập hợp ước chung b m nói riêng ta có  a, m    b, m  Chứng minh tính chất xem [7, 10] Theo tính chất 9) đồng dư thức, ta gọi ước chung lớn d lớp đồng dư A m với mơđun m , kí hiệu  A, m  , ước chung lớn số nguyên a thuộc lớp đồng dư d   A, m    a, m  , a  A  m A với m Như vậy, ta có Đặc biệt, d   A, m   A gọi lớp đồng dư nguyên tố với môđun m Cho m số tự nhiên, m  Ta biết quan hệ đồng dư theo môđun m quan hệ tương đương vành số ngun , xác định chia lớp cho ta tập hợp thương tập hợp số nguyên quan hệ tương đương 1.1.4 Định nghĩa Cho m số tự nhiên, m  Tập hợp thương tập hợp số nguyên quan hệ đồng dư theo môđun m gọi tập hợp lớp đồng dư mơđun m kí hiệu đồng dư môđun m m Mỗi phần tử m gọi lớp Nếu A m a  A ta c n kí hiệu A  a (mod m) đơn giản A  a Vậy a  b a  b(mod m) 1.1.5 Mệnh đề Tập hợp m gồm m phần tử Chứng minh Xét phần tử 0, 1, , m  phần tử đôi phân biệt m m, ta thu tập hợp tất Thật i  j ,  i, j  m  ta  i  j  m  Do đó, i  j khơng thể bội m , nghĩa i  j Mặt khác, x  m ln có số nguyên i ,  i  m  để x  i  mod m  , nghĩa x  i Vậy, m    0, 1, , m-1 có số phần tử m 1.1.6 Mệnh đề Với số tự nhiên k khác không, lớp thặng dư theo môđun m hợp k lớp thặng dư đôi phân biệt theo môđun km Chứng minh Giả sử A  a  m lớp thặng dư theo môđun m , ta xét lớp thặng dư môđun km sau đây: A0  a, A1  a  m, , Ak 1  a  (k  1)m Đây lớp đôi phân biệt theo môđun km Thật với i  j ,  i, j  k  ,  (a  im)  (a  jm)  (i  j )m  km , nên Ai  A j Ta chứng minh rằng, A  k 1 i 0 có t  Ai Thật vậy, giả sử x  A , x  a (mod m), nghĩa cho x  a  mt Giả sử t  kq  i,  i  k  1, từ x  a  mt  a  m(kq  i)  a  mi  (km)q  a  mi(mod km), nghĩa x  Ai Ngược lại, giả sử x  Ai , với  i  k  1, ta có x  a  mi(mod mk ) , x  a  mi(mod m) hay x  a (mod m) , nghĩa x  A 1.1.7 Vành lớp đồng dư hợp m m Ta định nghĩa phép cộng phép nhân tập sau: Giả sử a, b m, ta đặt a  b  a  b ab  ab Kiểm tra phép tốn hồn tồn xác định Hơn nữa, tập hợp m với hai phép tốn vành giao hốn có đơn vị Thật vậy, kiểm tra được: Phép cộng phép nhân m m thỏa mãn tiên đề vành giao hốn; Phần tử khơng ; Phần tử đối lớp a lớp m  a ; Phần tử đơn vị m 1.1.8 Định lý Lớp đồng dư A môđun m phần tử khả nghịch vành m A lớp đồng dư nguyên tố với môđun m Chứng minh Thật vậy, A lớp khả nghịch vành B m tồn lớp m cho AB  1 mod m  Giả sử A  a, B  b , AB  ab  ab      hay ab  1 mod m  Vậy, d  ab, m  1, m  ( A, m)  (a, m)  hay A lớp đồng dư nguyên tố với môđun m Ngược lại giả sử ( A, m)  A  a  b, n m, (a, m)  có ab  mn  1, hay ab  1 mod m  , nghĩa ab  a b  Đặt B  b ta có AB  ab  1, nghĩa A lớp khả nghịch vành Tập hợp tất phần tử khả nghịch minh * m m m kí hiệu * m Ta chứng với phép nhân nhóm aben Đặc biệt, p số nguyên tố tất phần tử khác khơng p khả nghịch, p trường 1.1.9 Định lý Giả sử A, B  m, A khả nghịch, thì: 1) Nếu X chạy qua tất lớp đồng dư vành chạy qua tất lớp đồng dư vành m Nói khác đi: m AX + B 24 hay C pq  p  p  1 Từ đồng dư thức ta suy  p  1  p  q  1  p  i  ,1  i  q  p  q  1  q!  mod p   p  1  p  q  1 bội q ! bội q Vì q số nguyên tố nên tồn thừa số bội q Vì q ước p nên q ước i Ta gặp phải mâu thuẫn với  i  q 1.4.4.2 Định lý Wilson Giả sử p  số tự nhiên Khi đó, p số nguyên tố  p  1!   mod p  Chứng minh Giả sử  p  1!   mod p  , ta chứng minh p số nguyên tố Thật vậy, p hợp số p có ước tự nhiên d ,1  d  p Do  p  1! bội p nên d ước  p  1!  1   p  1! Mặt khác, d ước   p  1 nên d ước hay d  Ta gặp vô lý Ngược lại, p   p  1!   mod p  Bây giả sử p  Ta xét phương trình đồng dư sau có bậc bé p  sau  x  1 x    x   p  1   x p 1     mod p  Sử dụng Định lý Fermat bé ta có số nguyên 1, 2, , p  nghiệm phương trình đồng dư Do đó, phương trình có khơng p  nghiệm phân biệt Bởi phương trình đồng dư bậc n theo môđun nguyên tố p , với n  p có khơng q n nghiệm, nên hệ số đa thức vế trái phương trình bội p đặc biệt hệ số tự đa thức bội p, hay  1 2     p  1    p  1!   mod p  25 1.5 Độ phức tạp thuật tốn 1.5.1 Phép tính bit Hệ nhị phân có nhiều ứng dụng, dùng hai kí hiệu 0, việc tính tốn với số hệ đơn giản Máy tính sử dụng cách viết nhị phân, lí máy tính người ta dựa ngun tắc vật lý đơn giản gọi nguyên tắc “Sáng, Tắt”: Bóng đèn sáng số 1, bóng đèn tắt số Ta dùng “bít” để chữ số nhị phân Một ký hiệu gọi bít (viết tắt chữ “binary digit”) Một số nguyên biểu diễn k chữ số gọi số k -bit Số tự nhiên n số k -bit với k   log2 n   Phép tính bit phép tính lơgic hay số học thực số Chẳng hạn số 1994 hệ thập phân, có (1994)10 = (11111001010)2 1.5.2 Thuật toán Thuật toán quy tắc để với liệu ban đầu cho, tìm lời giải sau khoảng thời gian hữu hạn Nếu thuật tốn viết ngơn ngữ máy tính ta có chương trình Trong thuật tốn có số liệu ban đầu cho trước thuật toán bắt đầu làm việc: Các đầu vào (input) Một thuật tốn có nhiều đầu (output) Một thuật toán cần phải thỏa mãn yêu cầu: Tính hữu hạn tính ổn định Kích thước đầu vào số lượng bít cần thiết để biểu diễn liệu đầu vào Thời gian thực thuật toán liệu đầu vào số lượng phép toán bước thực 1.5.3 Độ phức tạp thuật toán Độ phức tạp thuật tốn đo số phép tính bit Để ước lượng độ phức tạp thuật toán, ta dùng khái niệm bậc O lớn theo nghĩa sau Giả sử f (n) g (n) hàm xác định tập hợp số nguyên dương Ta nói f (n) có bậc O -lớn g (n) viết f (n)  O( g (n)) tồn số C  cho với n đủ lớn, hàm f (n) g (n) dương f (n)  Cg (n) 26 Giả sử có đa thức f (n)  a d n d  a d 1n d 1    a1d  a , a d  Khi đó, ta có f (n)  O(nd ) Một thuật tốn gọi có độ phức tạp đa thức, có thời gian đa thức số phép tính cần thiết thực thuật tốn khơng vượt O(logd n), n độ lớn đầu vào d số nguyên dương Nói khác đi, đầu vào số k - bit thời gian thực thuật tốn O(k d ), tức tương đương với đa thức bậc d k Các thuật toán với thời gian O(n ),  gọi thuật toán với độ phức tạp mũ thời gian mũ Cũng có thuật tốn có độ phức tạp trung gian đa thức mũ, người ta thường gọi thuật toán mũ 27 CHƯƠNG ỨNG DỤNG CỦA PHƯƠNG PHÁP ĐỒNG DƯ TRONG MẬT MÃ KHĨA CƠNG KHAI Mạng máy tính ngày đóng vai tr thiết yếu lĩnh vực hoạt động tồn xã hội trở thành phương tiện điều hành hệ thống nhu cầu bảo mật an tồn thơng tin đặt lên hàng đầu Nhu cầu khơng có máy an ninh, quốc ph ng, quản lý nhà nước, mà trở thành thiết nhiều hoạt động kinh tế xã hội: Tài chính, ngân hàng, thương mại, chí số hoạt động thường ngày người dân (thư điện tử, toán, tín dụng, ) Do ý nghĩa quan trọng, lĩnh vực bảo mật an tồn thơng tin thu hút quan tâm đông đảo chuyên gia khắp giới nhiều lĩnh vực khoa học, công nghệ Trong bật cơng trình xây dựng hệ mã hóa khóa cơng khai gắn liền cơng trình xử lý số ngun lớn, số nguyên tố tác giả: Diffie Hellman, Rivest, Sharmir Adleman, Rabin, Elgamal, Pollard, Lenstra 2.1 Về lý thuyết mật mã 2.1.1 Các thuật ngữ Trong lý thuyết mật mã có số thuật ngữ Bản rõ (Plaintext) hay văn trơn nội dung thông điệp cần gửi với yêu cầu đảm bào an toàn Bản mã (Ciphertext) thơng điệp gửi mã hóa Mã hóa (Encryption) q trình chuyển đổi thơng tin từ rõ sang mã Trong trình trao đổi, thông tin rõ ẩn khơng thể hiểu thơng tin khơng có giải mã (Plain Text → Encryption) Giải mã (Decryption) q trình ngược với q trình mã hóa, nhằm tìm lại thơng tin ban đầu (lập lại nội dung thông điệp rõ) Ký hiệu hai người (tổ chức, đơn vị,…) thực trao đổi thông tin A, B Ký hiệu Mm kẻ theo dõi đánh cắp (khai thác) thông tin A, B 28 2.1.2 Hệ mật mã Một hệ mật mã phận gồm thành phần  P, K , C , D, E  : P tập hợp hữu hạn rõ (Plaintext); C tập hợp hữu hạn mã (Ciphertext); K tập hợp hữu hạn khóa (Key); E tập hợp quy tắc mã hóa (Encrytion); D tập hợp quy tắc giải mã (Decrytion) Sơ đồ hệ mật mã cho hình đây: Hình 1: Sơ đồ thành phần hệ thống mật mã Hình 2: Sơ đồ khái quát hệ thống mật mã 29 Một thông báo thường tổ chức dạng rõ (văn trơn) Người gửi thông báo làm nhiệm vụ mã hóa rõ, kết thu sau mã hóa gọi văn mã hóa Bản mã gửi đường truyền tới người nhận Sau nhận mã, người nhận giải mã để tìm hiểu nội dung 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 Sử dụng ký hiệu hệ mật mã, cơng việc tốn học hóa công thức sau: EK ( P)  C; DK (C )  P 2.1.3 Những yêu cầu hệ mật mã Một hệ mật mã cần phải đáp ứng yêu cầu sau đây: - Tính bảo mật (Confidentianlity) nhằm đảm bảo liệu truyền cách an tồn khơng bị lộ cố tình chiếm đoạt thơng điệp gốc ban đầu - Tính xác thực (Authentication) nhằm giúp cho người nhận thông điệp xác định chắn thông điệp mà họ nhận thông điệp gốc Kẻ giả mạo mạo danh để gửi thông điệp Người nhận có khả kiểm tra nguồn gốc thơng điệp mà họ nhận - Tính tồn vẹn (Integrity) nhằm bảo đảm với tất bên rằng, thông điệp c n lại không thay đổi từ tạo người nhận mở - Tính khơng thể từ chối (Irrefutable) nhằm xác nhận thơng điệp gửi đến từ đó, họ cố tình chối bỏ 2.1.4 Phân loại hệ mật mã Có hai loại mật mã hóa phổ biến mã hóa đối xứng (symetric – key cryptography) mã hóa bất đối xứng (asymetric - key cryptography) Mã hóa đối xứng phương thức mã hóa người gửi người nhận sử dụng chung khóa để mã hóa giải mã thơng điệp phổ biến người gửi người nhận sử dụng khóa khác mối liên hệ khóa dễ dàng tính tốn Mã hóa bất đối xứng c n gọi mã khóa cơng khai, trình bày phần luận văn 30 2.2 Về mật mã khóa cơng khai 2.2.1 Khái niệm Mã hóa bất đối xứng (asymmetric cryptography) hay mật mã khóa cơng khai (public key cryptography) mật mã hai khóa (two- key cryptography) để tất thuật tốn mật mã dùng hai khóa khác cho q trình mã hóa trình giải mã Các bên tham gia cần có khóa mật để mã hóa giải mã Đặc trưng kỹ thuật mật mã bất đối xứng dùng hai khóa riêng biệt cho hai q trình mã hóa giải mã Một hai khóa phổ biến cơng khai gọi khóa cơng khai (public key hay PU), khóa c n lại giữ bí mật gọi khóa riêng (private key hay PR) Nếu q trình mã hóa dùng khóa PU q trình giải mã dùng khóa PR ngược lại Điều đồng nghĩa với việc trao đổi khóa mật qua kênh thơng tin Sơ đồ hệ mật mã khóa cơng khai (PKC) cho hình đây: Hình 3: Sơ đồ mã hóa cơng khai 2.2.2 Ngun tắc hoạt động hệ mật mã khóa cơng khai Người nhận B sinh cặp khóa gồm: Khóa cơng khai K p khóa bí mật K r Sau người B gửi khóa K p cho người A khóa cơng khai biết Người A 31 dùng khóa K p để mã hóa thơng điệp gửi thơng điệp mã hóa cho người B Tiếp đến, người B dùng khóa K r để giải mã thơng điệp mà người A gửi tới Sơ đồ nguyên tắc hoạt động hệ mã cơng khai cho hình đây: Bản tin gốc Q trình mã hóa Bản tin mã ``` ``` ``` - Khóa cơng khai, dùng để mã hóa (có thể cho người biết) Quá trình truyền liệu ``` ``` ``` Bản tin mã Khóa mật, dùng để giải mã (cần giữ bí mật) Q trình giải mã - Bản tin gốc Hình 4: Sơ đồ nguyên tắc hoạt động hệ mật mã khóa cơng khai 2.2.3 Ứng dụng hệ mật mã khóa cơng khai Hệ thống mật mã hóa khóa cơng khai sử dụng với mục đích tiện ích sau: - Mã hóa nhằm giữ bí mật thơng tin có người có khóa bí mật giải mã - Tạo chữ ký số nhằm cho phép kiểm tra văn có phải tạo với khóa bí mật hay khơng - Thỏa thuận khóa nhằm cho phép thiết lập khóa dùng để trao đổi thơng tin mật hai bên 32 Tuy nhiên, kỹ thuật mật mã hóa khóa cơng khai đ i hỏi khối lượng tính tốn nhiều kỹ thuật mã hóa khóa đối xứng Song lợi điểm mà chúng mang lại khiến cho chúng áp dụng nhiều ứng dụng 2.3 Các sở số học mã hóa thơng tin 2.3.1 Hàm - chiều Một hệ mật mã khóa cơng khai tạo dựng sở sử dụng hàm 1- chiều (one-way) Một hàm f gọi hàm 1- chiều nếu: 1) Với X tính Y  f  X  cách dễ dàng 2) Khi biết Y khó tìm ngược X Ví dụ 10 Cho n số nguyên tố p1 , p2 , , pn , ta dễ dàng tính tích N  p1 p2 pn Tuy nhiên, biết tích N , việc tìm thừa số nguyên tố khó khăn nhiều, đặc biệt, N tương đối lớn Người ta cần hàm 1- chiều đặc biệt có trang bị cửa bẫy (trap door) cho biết sử dụng việc tìm nghịch đảo f dễ dàng, c n khơng biết bí mật cửa bẫy gặp khó khăn Với hàm - chiều ta dùng để tạo hệ mã PKC sau: Lấy hàm sinh mã E z hàm – chiều có cửa bẫy Cịn khóa bí mật cửa bẫy z Nếu biết z dễ dàng tính nghịch đảo E z tức biết E z c n khơng biết khó (chỉ c n cách thử vét cạn thực tế bất khả thi khối lượng tính tốn q lớn) 2.3.2 Bài tốn Đóng thùng Cho I tập hợp số dương ,  i  n số dương T Hãy tìm tập hợp số S  1, 2, , n cho   T iS Ví dụ 11 Cho I  2, 3, 5,7 tập hợp số dương số nguyên dương T  Hãy tìm tập hợp số S  1, 2, 3, 4 cho   iS pháp thử vét cạn, ta có hai đáp số: S  1, 3 S  4 Dùng phương 33 Bài tốn Đóng thùng tốn khó (NP-khó) theo nghĩa chưa tìm thuật tốn tốt thuật toán thử - vét cạn thời gian xử lý hàm mũ (trong toán quan niệm dễ theo nghĩa tin học có thuật tốn đa thức) 2.3.3 Vectơ siêu tăng Một vectơ a   a1 , , an   n gọi vectơ siêu tăng thành phần thứ i  1,1  i  n  , lớn tổng giá trị thành phần đứng trước Khi sử dụng cơng cụ vectơ siêu tăng tốn đóng thùng giải dễ dàng 2.3.4 Bài tốn phân tích thừa số ngun tố số ngun Độ an tồn hệ mật mã khóa cơng khai dựa tốn phân tích thừa số nguyên tố số nguyên tương đối lớn (The integer Factorization Probem, viết tắt IFP):  Cho trước số tự nhiên n  tùy ý Hãy tìm số nguyên tố Pi cho P1  P2   Pr thỏa mãn N  P1 P2 Pr r , er  e e e  Bảng sau khoảng thời gian cần thiết để phân tích số nguyên thừa số nguyên tố thuật tốn tốt với máy tính sử dụng tốc độ khoảng triệu phép tính giây mô tả sau: Số chữ số thập phân 50 75 100 200 300 500 Số phép tính bit 1,4.1010 9,0 1010 2,3 1015 1,2 1023 1,5 1029 1.5 1039 Thời gian chạy máy 3,9 104 ngày 24 năm 3,9 108 năm 4,9 1015 năm 4,2 1025 năm 2.4 Hệ mật mã khóa cơng khai Trapdoor Knapsack 2.4.1 Cơ sở tốn học hệ mã khóa cơng khai Trapdoor Knapsack Vào năm 1978, hai nhà toán - tin hoc Merkle Hellman đề xuất thuật toán mã hóa theo mơ hình PKC dựa tốn đóng thùng (bài tốn túi hay ba lơ) phát biểu mục 2.3.2 Từ tốn Đóng thùng người ta tạo thuật toán mã 34 khối PKC với sơ đồ sau: Chọn vectơ a   a1 , , an   n gọi vectơ mang (cargo vector) Với khối tin X   X , X , , X n  thực phép mã hóa n T   X i i 1   Việc giải mã là: Cho mã T , vectơ mang a , tìm X i thỏa mãn   Hệ mã thể hàm – chiều mà dùng làm hàm sinh mã tính tốn dễ dàng, việc giải mã tức tính hàm ngược khó Tiếp tục tìm cách đưa vào cửa bẫy (trapdoor) để việc giải mã làm dễ dàng biết cửa bẩy bí mật Nhà tốn - tin học Merkle áp dụng kỹ thuật dựa vectơ siêu tăng chọn làm vectơ mang Xét ví dụ cụ thể sau Ví dụ 12 Chọn vectơ a  1, 2, 4,   vectơ siêu tăng Cho số nguyên dương T  14 Hãy tìm X   X , X , X , X  cho  X i  T S={1,2,3,4} iS Đặt T  T0 X  1; T1  T0  a4    X , X , X ,1 X  1;T2  T1  a3    X , X ,1,1 X  1; T3  T2  a2    X , 1, 1, 1 X1    0, 1, 1, 1 Ở bước thứ i tổng đích Ti (tức phải tìm X i để tổng Ti ) Ta đem so sánh Ti với thành phần lớn phần c n lại vectơ siêu tăng Nếu bé thành phần chọn X i  ngược lại chọn X i  Sau đó, chuyển sang bước sau với Ti 1  Ti  Ta thấy dùng vectơ siêu tăng làm vectơ mang cho phép giải mã rõ ràng Tuy nhiên, người ta c n phải làm người chủ (Alice) biết sử dụng c n kẻ đánh cắp thơng tin khơng biết Vì vậy, cần tạo bí mật cửa 35 bẫy cách ngụy trang vectơ siêu tăng Sơ đồ sau đây, trình bày chế ngụy trang Vectơ a vectơ tăng bí mật ngụy trang tức biến đổi qua hàm g chọn sẵn để tạo thành vectơ tính siêu tăng (thậm chí giảm) Vectơ dùng làm vectơ mang Trong trình giải mã, Alice thực biến đổi vào liệu sở áp dụng hàm ngược g 1 , chuyển việc giải mã thành tốn đóng thùng với vectơ siêu tăng vectơ mang Phép biến đổi g chọn phép nhân đồng dư với giá trị khóa bí mật 2.4.2 Sơ đồ tạo khóa hệ mã khóa cơng khai Trapdoor Knapsack: Alice chọn vectơ siêu tăng:   a,  a1, , a2, , , an,   Vectơ a,  a1, , a2, , , an, giữ bí mật tức thành phần khóa bí mật n Chọn số ngun m   ai, gọi môđun đồng dư số nguyên ngẫu i 1 nhiên  gọi nhân tử, cho  nguyên tố với m Khóa cơng khai   Alice vectơ a tích a,  a1, , a2, , , an, với  : a   a1 , , an  ,    a i  mod m  , i  1, 2, , n ,   Khóa bí mật ba a, , m, 2.4.3 Sơ đồ sinh mã hệ mật mã khóa cơng khai Trapdoor Knapsack Khi Bob muốn gửi thông điệp X cho Alice, tính mã theo cơng thức n T   X i i 1 2.4.4 Sơ đồ giải mã hệ mã khóa cơng khai Trapdoor Knapsack n Sau Alice nhận T   X i , cô ta giải mã sau: i 1 36 Để bỏ lớp ngụy trang cô ta tính  1 (là giá trị nghịch đảo  tức  1  1 mod m  , giá trị  1 tồn tính tốn nhờ sử dụng Định lý Euler) Sau đó, tính T , cho T ,  T   1  mod m  Alice biết T ,  a, X nên ta dễ dàng giải X theo vectơ siêu tăng a , 2.4.5 Một số công thức dùng giải mã hệ mã khóa cơng khai Trapdoor Knapsack n n n i 1 i 1 i 1   n T ,  T   1   X i 1   ai, X i 1   ai, 1 X i 1   X i  a, X i 1 2.4.6 Tấn công vũ lực phá hoại hệ thống mật mã khóa cơng khai Trapdoor   Knapsack Với người bẫy a, , m, muốn phá giải mã khóa cơng khai Trapdoor Knapsack, đ i hỏi họ phải tìm kiếm vét cạn n khả X Vì vậy, với n chọn đủ lớn việc công vũ lực bất khả thi khối lượng tính tốn Tuy nhiên, cơng vũ lực theo cách cách 2.4.7 Thuật tốn tìm giá trị nghịch đảo theo mơđun đồng dư Việc xây dựng Knapsack với cửa bẫy đ i hỏi phải tính giá trị nghịch đảo  theo mơđun m Thuật tốn tìm x   1  mod m  cho x  1 mod m  gọi Thuật toán GCD mở rộng hay Thuật toán Euclid mở rộng Sở dĩ tìm ước chung lớn hai số nguyên n1 n2 người ta tính giá trị nguyên a b cho gcd  n1 , n2   a  n1  b  n2 Từ đó,  n1 , n2   thuật tốn cho ta a b thỏa mãn a  n1  b  n2  1, hay a  n1  1 mod n2  , tức n1 nghịch đảo a theo môđun n2 (tức m ) 37 KẾT LUẬN Luận văn bao gồm nội dung chủ yếu sau đây: Trình bày phương pháp đồng dư số học nêu số ứng dụng phương pháp toán học tin học Chỉ số công cụ sở số học sử dụng nhiều xử lý mã hóa giải mã thơng tin: Vành lớp đồng dư; Hàm số Euler; Định lý Euler; Định lý Fermat bé; Thuật tốn phân tích ngun tố; Bài tốn tìm nghịch đảo số ngun theo mơđun; Bài tốn đóng thùng; Bài toán dựng vectơ siêu tăng Giới thiệu mã hóa giải mã q trình tiến hành cách áp dụng hàm toán học lên tập thông tin vốn biểu diễn dạng số Tìm hiểu độ phức tạp số thuật tốn mã hóa thơng tin Tìm hiểu sở tốn học hệ mã khóa cơng khai Trapdoor Knapsack dựa tốn đóng thùng tốn tìm nghịch đảo số ngun theo môđun Những kiến thức đề cập luận văn vấn đề ứng dụng mẻ toán tin học mang tính chất liên ngành Vì vậy, nội dung luận văn kiến thức tìm hiểu ban đầu tác giả Hy vọng rằng, thời gian tới tiếp cận sâu sắc nữa, nhằm góp phần tìm tịi ứng dụng đại số số học lý thuyết mật mã 38 TÀI LIỆU THAM KHẢO TIẾNG VIỆT [1] [2] Bùi Dỗn Khanh, Nguyễn Đình Thúc, Trần Đan Thư (2007), Cơ sở Lý thuyết số bảo mật an tồn - thơng tin, Nhà xuất Giáo dục, Hà Nội Phạm Huy Điển, Hà Huy Khoái (2004), Mã hóa thơng tin - Cơ sở tốn học ứng dụng, Nhà xuất Đại học Quốc gia Hà Nội [3] Bùi Dỗn Khanh, Nguyễn Đình Thúc (2004), Mã hóa thông tin, Lý thuyết ứng dụng, Nhà xuất Lao Động, TP Hồ Chí Minh [4] Nguyễn Thành Quang, Nguyễn Thị Hồng Loan, Phan Đức Tuấn (2017), Số học đại, Nhà xuất Đại học Vinh [5] TIẾNG ANH Brassard (1988), Modern Cryptology Lecture Notes in Computer Science, Springer [6] D V Burton (2002), Elementary Number Theory, McGraw-Hill [7] M B Nathason (2000), Elementary Methods in Number Theory, Springer [8] B Scheier (1996), Applied Cryptography, Wiley [9] William Stallings (2005), Cryptography and Network Security Principles and Practices, Prentice Hall [10] S G Telang (2001), Number Theory, McGraw-Hill ... CHƯƠNG ỨNG DỤNG CỦA PHƯƠNG PHÁP ĐỒNG DƯ TRONG MẬT MÃ KHĨA CƠNG KHAI 27 2.1 Về lý thuyết mật mã 27 2.2 Về mật mã khóa công khai 30 2.3 Các sở số học mã hóa thơng tin 32 2.4 Hệ mật mã khóa công khai. .. hệ mật mã khóa cơng khai 2.2.3 Ứng dụng hệ mật mã khóa cơng khai Hệ thống mật mã hóa khóa cơng khai sử dụng với mục đích tiện ích sau: - Mã hóa nhằm giữ bí mật thơng tin có người có khóa bí mật. .. thức lý thuyết đồng dư tìm hiểu sâu ứng dụng phương pháp đồng dư toán học, tin học lý thuyết mật mã II Phương pháp nghiên cứu luận văn - Sử dụng phương pháp kỹ thuật đồng dư - Sử dụng kết số học

Ngày đăng: 25/08/2021, 16:01

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w