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

HỆ MÃ HÓA KHÓA CÔNG KHAI PKC – PUBLIC KEY CRYPTOSYTEMs

20 64 1

Đ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 20
Dung lượng 446,99 KB

Nội dung

CHƯƠNG 4: HỆ MÃ HĨA KHĨA CƠNG KHAI PKC – PUBLIC KEY CRYPTOSYTEMs Chương 4: Hệ mã hóa khóa công khai Giới thiệu ⚫ ⚫ ⚫ Ý tưởng hệ thống mã hóa khóa cơng khai Martin Hellman, Ralph Merkle Whitfield Diffie Đại học Stanford giới thiệu vào năm 1976 Sau đó, phương pháp Diffie-Hellman Martin Hellman Whitfield Diffie công bố Năm 1977, báo "The Scientific American", nhóm tác giả Ronald Rivest, Adi Shamir Leonard Adleman công bố phương pháp RSA, phương pháp mã hóa khóa cơng khai tiếng sử dụng nhiều ứng dụng mã hóa bảo vệ thơng tin Chương 4: Hệ mã hóa khóa cơng khai 4.1 Khái niệm hệ mã hóa PKC Nguyên lý hệ mã khóa cơng khai ❖ Hệ mã khóa cơng khai hệ mã dùng khóa: ❑ Khóa cơng khai để mã hóa ❑ Khóa bí mật để giải mã Chương 4: Hệ mã hóa khóa công khai Nguyên lý hoạt động Trong hệ mã hóa khóa cơng khai, A B muốn trao đổi thơng tin thực theo sơ đồ sau: ❑ ❑ ❑ Trong B chọn khóa k=(k’, k’’) B gửi khóa lập mã k’ cho A (được gọi khóa cơng khai – public key) qua kênh giữ lại khóa giải mã k’’ (được gọi khóa bí mật – private key) A gửi văn M cho B cách lập mã theo hàm ek′ với khóa cơng khai k’ B trao cho mã M’ = 𝑒𝑘 ′ (M) Sau gửi M’ cho B Đến lược B nhận mã M’ sử dụng hàm giải mã 𝑑𝑘 ′′ với khóa bí mật k’’ để lấy lại gốc M= 𝑑𝑘 ′′ (M’) Chương 4: Hệ mã hóa khóa cơng khai Hình vẽ minh họa – Nguyên lý hoạt động Chương 4: Hệ mã hóa khóa cơng khai 4.2 Giới thiệu số giải thuật PKC ❑ ❑ ❑ Trapdoor Knapsack RSA Elgama Chương 4: Hệ mã hóa khóa cơng khai 4.2 Giới thiệu số giải thuật PKC ❑ ❑ ❑ Trapdoor Knapsack RSA Elgama Chương 4: Hệ mã hóa khóa cơng khai 4.2.1 Hệ mã Trapdoor Knapsack (Merkle – Hellman) Trapdoor Knapsack dựa tốn đóng thùng Năm 1978, hai nhà toán học Merkle – Hellman đề xuất thuật tốn mã hóa PKC dựa tốn ĐĨNG THÙNG sau: ➢ Cho tập hợp số dương 𝑎𝑖 , 1≤i≤n số T dương Hãy tìm tập hợp số S ⊂ {1, 2, ,n} cho: σ𝑖∈𝑆 𝑎𝑖 =T Bài toán tốn khó, theo nghĩa chưa tìm thuật toán tốt thuật toán thử-vét cạn ➢ Thời gian xử lý vét cạn tỉ lệ lũy thừa theo kích thước input n Chương 4: Hệ mã hóa khóa cơng khai Trapdoor Knapsack VD: (𝑎1 , 𝑎2 , 𝑎3 , 𝑎4 ) = (2, 3, 5, 7) T=7 Hỏi có trường hợp nhặt tập 𝑎𝑖 để tổng giá trị T? Như ta có đáp số: S=(1, 3) S=(4) Chương 4: Hệ mã hóa khóa cơng khai Trapdoor Knapsack VD: (𝑎1 , 𝑎2 , 𝑎3 , 𝑎4 , 𝑎5 ) = (2, 3, 5, 7, 12) T=12 Hỏi có trường hợp nhặt tập 𝑎𝑖 để tổng giá trị T? Như ta có đáp số: S = (1, 2, 4) S = (3, 4) S = (5) 10 Chương 4: Hệ mã hóa khóa cơng khai Trapdoor Knapsack Từ tốn đóng thùng khảo sát khả vận dụng để tạo thuật toán mã hoá PKC Sơ đồ sau: o Chọn vector a = (𝑎1 , 𝑎2 , … , 𝑎𝑛 ) – gọi vector mang (cargo vector) o Với khối tin X = (X1 , X , … , X 𝑛 ) ta thực phép mã hóa sau: T = ∑ 𝑎𝑖 𝑋𝑖 (*) o Việc giải mã là: Cho mã T, vector mang a, tìm X i thỏa mãn (*) Sơ đồ thể hàm one-way với việc sinh mã dễ dàng việc giải mã khó → sở xây dựng 11 trapdoor Chương 4: Hệ mã hóa khóa cơng khai Trapdoor Knapsack • • • Merkle sử dụng mẹo áp dụng vector mang đặc biệt vector siêu tăng (super-increasing) Thành phần i+1 lớn tổng giá trị thành phần đứng trước (từ 1→ i) Việc giải mã diễn dễ dàng ví dụ số sau: ▪ ▪ ▪ ▪ ▪ ▪ ▪ Vector mang siêu tăng: a=(1, 2, 4, 8) Cho T=11, ta thấy việc tìm X = (𝑋1 , 𝑋2 , … , 𝑋𝑛 ) cho T = ∑𝑎𝑖 𝑋𝑖 dễ dàng Đặt 𝑇0 = T 𝑋4 =1 𝑇1 = 𝑇0 -𝑋4 *𝑎𝑖 =3 → (X1 X2 X3 1) 𝑋3 =0 𝑇2 = 𝑇1 = → (X1 X2 1) 𝑋2 =1 𝑇3 = 𝑇2 - = → (X1 1) 12 𝑋1 =1 → (1 1) Chương 4: Hệ mã hóa khóa cơng khai Trapdoor Knapsack Bài toán giải dần qua bước sau: o o o Ở bước i, tổng đích Ti (tức phải tìm aj để tổng Ti ) Ta đem so sánh Ti với thành phần lớn phần lại vector: ▪ Nếu lớn thành phần chọn, tức 𝑋𝑖 tương ứng ▪ Ngược lại 𝑋𝑖 tương ứng Sau tiếp tục chuyển sang bước sau với Ti+1 = Ti - X i Cần chủ động “ngụy trang” vector siêu tăng để người 13 chủ biết cịn người ngồi khơng thể giải mã Chương 4: Hệ mã hóa khóa công khai Hệ PKC Merkle – Hellman: Cơ chế ngụy trang Tạo khóa o Alice chọn vector siêu tăng a’ = (𝑎1 ’, 𝑎2 ’, … , 𝑎𝑛 ’) a’ giữ bí mật tức thành phần khóa bí mật Sau chọn số ngun m > ∑𝑎𝑖 ’, gọi modulo đồng dư số nguyên ngẫu nhiên ⍵, gọi nhân tử, cho nguyên tố với m (gcd(m, ⍵)=1) Khóa cơng khai Alice vector a tích a’ với nhân tử ⍵ a = (𝑎1 , 𝑎2 , … , 𝑎𝑛 ) = ⍵ x ’ (mod m) với i = 1, 2, n o Cịn khóa bí mật (a’, m, ⍵) 14 Chương 4: Hệ mã hóa khóa cơng khai Mã hóa (sinh mã): Khi Bob muốn gửi thông báo X= {x1 , x2 , … , x𝑛 } cho Alice, tính mã theo cơng thức: T = σai xi Giải mã: Alice nhận T giải mã sau: Để bỏ lớp ngụy trang ta trước hết tính ⍵−1 (là giá trị nghịch đảo ⍵, tức ⍵.⍵−1 = mod m, tính T’ = T x ⍵−1 (mod m) Alice biết T’ = a’ X nên cô ta dễ dàng giải X theo siêu tăng a’ Chú thích: ta có T’ = T x ⍵−1 = σai Xi ⍵−1 = σ ’⍵Xi ⍵−1 15 Chương 4: Hệ mã hóa khóa cơng khai Bài tập: Cho hệ mã Knapsack có A’ = (2, 3, 6, 12, 25), n=5, m=53, ⍵ = 46, ⍵−1 = 15 a) Hãy tìm khóa hệ mã b) Mã hóa giải mã mã tương ứng rõ M = 01001 16 Chương 4: Hệ mã hóa khóa cơng khai Bài giải: a) Hãy tìm khóa hệ mã Khóa cơng khai a = (a1 , a2 , … , a𝑛 ) = (2, 3, 6, 12, 25)’ x ⍵ = ⍵ x ’ (mod m) = (39, 32, 11, 22, 37) Khóa bí mật: (a’, m, ⍵) b) Mã hóa rõ M = 01001 T = ∑𝑎𝑖 𝑋𝑖 = 0*39 + 1*32 + 0*11 + 0*22 + 1*37 = 69 mod 53 = 16 17 Chương 4: Hệ mã hóa khóa cơng khai Bài giải: Giải mã: với a’=(2, 3, 6, 12, 25), ⍵−1 = 15, T’ = 16*15 mod 53 = 28 → X5 = X4 = X3 = X2 = X1 = M = 01001 18 Chương 4: Hệ mã hóa khóa cơng khai Trong trường hợp mã hóa M = 1 0: tự tìm a, a’, m, ⍵, ⍵−1 19 Chương 4: Hệ mã hóa khóa cơng khai Độ an tồn Trapdoor – Knapsack Brute Force Attack ⚫ Với kẻ trapdoor (a’, m, ⍵), giải mã địi hỏi phải tìm kiếm vét cạn qua 2𝑛 khả X Sự đổ vỡ giải pháp dùng Knapsack (1982-1984) ⚫ Shamir – Adleman chỗ yếu giải pháp cách tìm cặp (⍵’, m’) cho biến đổi ngược a a’ (từ Public key Private key) ⚫ Năm 1984, Brickell tuyên bố đổ vỡ hệ thống Knapsack với dung lượng tính tốn khoảng máy Cray -1, với 40 vịng lặp cỡ 100 trọng số 20 ... dụng mã hóa bảo vệ thơng tin Chương 4: Hệ mã hóa khóa cơng khai 4.1 Khái niệm hệ mã hóa PKC Nguyên lý hệ mã khóa cơng khai ❖ Hệ mã khóa cơng khai hệ mã dùng khóa: ❑ Khóa cơng khai để mã hóa ❑ Khóa. .. (được gọi khóa công khai – public key) qua kênh giữ lại khóa giải mã k’’ (được gọi khóa bí mật – private key) A gửi văn M cho B cách lập mã theo hàm ek′ với khóa cơng khai k’ B trao cho mã M’ =... giải mã Chương 4: Hệ mã hóa khóa cơng khai Ngun lý hoạt động Trong hệ mã hóa khóa cơng khai, A B muốn trao đổi thơng tin thực theo sơ đồ sau: ❑ ❑ ❑ Trong B chọn khóa k=(k’, k’’) B gửi khóa lập mã

Ngày đăng: 07/05/2021, 17:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w