CHƯƠNG 3 hematkhoabimat

54 348 0
CHƯƠNG 3 hematkhoabimat

Đ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

CHƯƠNG CÁC HỆ MẬT Mà KHÓA BÍ MẬT (SECRET KEYS) 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 3.1 Các hệ mật cổ điển 3.1.1 Hệ mã hoá thay (substitution cipher) Có kỹ thuật thay sau đây: Thay đơn (A simple substitution cipher): ký tự rõ thay ký tự tương ứng mã Một ánh xạ 1-1 từ rõ tới mã Thay đồng âm (A homophonic subs tu on cipher): giống thay đơn, song ký tự rõ ánh xạ tới số nhiều ký tự mã: sơ đồ ánh xạ 1-n (one-to-many) Thay đa mẫu tự (A polyalphbetic substitution cipher): dùng nhiều thuật toán mã hoá thay đơn Ánh xạ 1-1 thay đổi nhiều lần phạm vi thông điệp 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà Thay đa ký tự (A polygram subs tu on cipher): thuật toán khối ký tự đựợc mã hoá theo nhóm Đây thuật toán tổng quát nhất, cho phép thay nhóm ký tự văn gốc Ví dụ, “ABA” tương ứng với “RTQ”, “ABB” tương ứng với “SLL”, v.v 3.1.1.1 Hệ mã Ceasar : Là hệ mã đơn Làm việc trương modulo 26 bảng chữ Latin (A-Z) Ta có : P є {a-z} - Không gian rõ ( plain text) C є {a-z} - Không gian mã (cipher text) K є [Z N ] - Không gian khóa • Mã hóa: EK(i) = (i + k) mod N • Giải mã: DK(i) = (i – k) mod N 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà • Các phép nh toán số học thực vành Z26, số khóa 26 thực tế có 25 khóa có ích • Ví dụ: với k=3 (được hoàng đế Caesar sử dụng) A B C D E F G H I D E F G H I J J K L M N O P Q R S T U V W X Y Z K L M N O P Q S T U V W X Y Z A B C D “I LOVE YOU” mã thành “L OSZH CSY” Trên thực tế hệ mã Caesar có số khóa nên hoàn toàn thám mã cách thử tất khóa (kiểu công Brute force) 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 3.1.1.2.Hệ mã Affine • Không gian rõ (P,C) є {A} - A bảng chữ Giả sử |A| є N Khi không gian khóa hệ mã xác định sau: K = { (a, b): a, b є ZN, (a, N) = 1} • Đánh số chữ từ  (N-1) • Tiến hành mã ký tự “x” theo công thức sau : EK(x) = (a*x + b) mod N • Để giải mã ta cần m a-1 (do (a, N) = 1) ; nên m được) ến hành tìm “y” (giải mã) theo công thức sau: DK(y) = a*(y - b) mod N 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 3.1.1.3 Hệ mã Vigenere (1523-1596) • Không gian rõ (P,C) є {A} - A bảng chữ Các chữ đánh số từ  (N-1) • Không gian khóa K xác định sau: M ≥0 , khóa có độ dài M xâu ký tự : k = k1, k2 , …kM • Để mã hóa ,chia P thành khối có độ dài M chuyển thành số thứ tự tương ứng {A}, Ví dụ: x = x1 x …xM • Mã hóa : EK(x) = (x1 + k1, x2 + k2, …, xM + kM) mod N • Giải mã : DK(y) = (y1 – k1, y2 – k2, …, yM – kM) mod N với : (y1 , y2, …, yM) rõ • Số khóa sử dụng : 26 M 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà • Ví dụ: xét A bảng chữ ếng Anh, N = 26 Giả sử khóa có độ dài K = “CIPHER” P = “THIS CRYPTOSYSTEM IS NOT SECURE” Ta có : K = 15 17, P = 19 18 17 | 24 15 19 14 18 23 | 18 19 12 18 | 13 14 19 18 | 20 17 Quá trình mã hóa : • P = 19 18 17 | 24 15 19 14 18 23 | 18 19 12 18 | 13 14 19 18 | 20 17 • K = 15 17 | 15 17 | 15 17 | 15 17 | 15 • C = 21 15 23 25 | 23 21 22 14 | 20 19 19 12 | 15 22 25 19 | 22 25 19 • Vậy mã C = “VPXZGI AXIVWO UBTTMJ PWIZIT WZT” 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 3.1.2 Hệ mã chuyển vị (transposition cipher) • Hệ mã hoá chuyển vị hệ mã hoá ký tự rõ giữ nguyên, vị trí chúng đổi chỗ cho Ví dụ : • Bản rõ: COMPUTER GRAPHICS MAY BE SLOW BUT AT LEAST IT‟S EXPENSIVE COMPUTERGR APHICSMAYB ESLOWBUTAT LEASTITSEX PENSIVE • Bản mã: CAELPOPSEEMHLANPIOSSUCWTITSBIUEMUTERATSGYA ERBTX 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà Các kỹ thuật chuyển vị Đảo ngược toàn rõ Đây phương pháp mã hoá đơn giản không đảm bảo an toàn Ví dụ : “TRANSPOSITION CIPHER” mã hoá thành “REHPICNOITISOPSNART” Mã hoá theo mẫu hình học : rõ xếp lại theo mẫu hình học đó, thường mảng ma trận hai chiều Có hai cách: • Viết theo hàng ngang  Đổi chỗ cột  Lấy theo cột • Viết theo cột  Đổi chỗ cột  Lấy theo hàng ngang 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà Chuyển vị ký tự theo chu kỳ cố định n • Nếu hàm f(i) chuyển vị khối gồm n ký tự (i) khoá mã hoá biểu diễn K(n,f) • Do vậy, rõ: M = m1 m2 md mn+1 m2n Với mi ký tự , rõ mã hoá : • Ek(M) = mf(1) mf(2) mf(n) mf(n)+1 mf(n)+n • Trong : mf(1) mf(2) mf(n)… hoán vị m1 m2 mn 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 10 Khoá yếu • Khoá yếu khoá sinh 16 khoá nhau: K1 = K2 = = K15 = K16 • Điều khiến cho việc mã hóa giải mã khoá yếu giống hệt • Có tất khoá yếu sau: 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 40 Không gian khóa K • DES có 256 = 1017 khoá Nếu biết cặp “ n/mã” thử tất 1017 khả để m khoá cho kết khớp Giả sử phép thử 10-6s, chúng 1011s, tức 7300 năm • Với máy nh chế tạo theo xử lý song song Với 107 chipset mã DES chạy song song chipset phải nh toán với 1010 phép thử • Chipset mã DES ngày xử lý tốc độ 4.5×107 bit/s tức làm 105 phép mã DES giây 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 41 • Vào năm 1976 1977, Diffie Hellman ước lượng chế tạo máy nh chuyên dụng để vét cạn không gian khoá DES ½ ngày với giá 20 triệu đô la • Năm 1984, chipset mã hoá DES với tốc độ mã hoá 256000 lần/giây • Năm 1987, tăng lên 512000 lần/giây • Năm 1993, Michael Wiener thiết kế máy nh chuyên dụng với giá triệu đô la sử dụng phương pháp vét cạn để giải mã DES trung bình vòng 3,5 (và chậm giờ) 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 42 3.2.2.Triple DES • Hệ mã DES với không gian khóa vẻn vẹn có 254 khóa nên thực tế bị thám mã khoảng thời gian vài đồng hồ • Triple DES (TDES) hay 3DES thực mã hóa DES ba lần (Triple Data Encryption Algorithm) • Bản mã : C = DESK3(DESK2(DESK1(M)), Mô hình EEE ,cả ba bước sử dụng ba khóa sử dụng DES , • Một biến thể khác mô hình gọi EDE với bước sử dụng thuật toán giải mã DES: C = DESK3( DES -1K2(DES k1 (M)) 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 43 Sơ đồ Triple DES 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 44 • Khóa Triple DES 168 bit, số biến thể Triple DES sử dụng khóa có độ dài 112 bit (K1=K3) ( Two key Triple DES ) • Các chứng minh mặt lý thuyết công Triple DES cho thấy hệ mã sử dụng tương lai dài trên thực tế chậm so với AES lần 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 45 3.2.3 Thuật toán cao cấp AES • AES hệ mã khóa bí mật có tên Rijndael (Joan Daemen Vincent Rijmen) trở thành chuẩn từ năm 2002) • AES xử lý khối liệu input có kích thứớc 128 bit • Khóa có độ dài 128, 192 256 bit • Còn biêt với tên AES-128, AES-192, AES-256 tương ứng với độ dài khóa sử dụng) • Chi tiết tham khảo tài liệu 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 46 3.2.4 Các MODE làm việc hệ mật đối xứng Dựa vào việc xử lý input data hệ mã ,cơ chế sử dụng hệ mã khối sau có loại: Các chế độ khối (Block Mode): xử lý thông điệp theo khối (ECB, CBC) Các chế độ luồng, dòng (Stream Modes): xử lý thông điệp chuỗi bit/byte (CFB, OFB) • Các chế độ khối sử dụng để mã hóa liệu mà biết trước vị trí, độ lớn mã hóa (các file, email ) • Chế độ chuỗi sử dụng cho việc mã hóa liệu trước độ lớn vi ̣ trí n hiệu gửi từ vê ̣ nh n hiệu cảm biến đọc từ bên vào 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 47 3.2.4.1 ECB (Electronic CodeBook Book) mode • Thông điệp cần mã hóa chia thành khối độc lập để mã hóa, khối mã kết việc mã hóa riêng biệt khối rõ tương ứng với độc lập với khối khác ( giống thay khối mã khối rõ tương ứng nên có tên gọi bảng tra mã điện tử Plain text : P = P1P2…PN • Mã hóa: Ci = DESK(Pi), Cipher text: C = C1C2 CN • Giải mã ến hành ngược lại: Pi = DES-1K(Ci) 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 48 ECB MODE • ECB - đơn giản dễ cài đặt , sử dụng khối đơn để mã thông tin cần gửi (ví dụ khóa session key mã hóa cách dùng khóa chính) 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 49 3.2.4.2 CBC (Cipher Block Chaining) MODE • Giống EBC mode , CBC mode rõ chia thành khối chúng liên kết với trình mã hóa để tạo thành rõ Chính khối mã móc nối với rõ nên có tên CBC mode • CBC sử dụng vector khởi tạo IV (Ini al Vector) để bắt đầu: C0 = IV, P = P1P2 PN • Mã hóa: Ci = DESK (Pi Ci-1), C = C1C2 CN • Giải mã: Pi = DES-1K(Ci) Ci-1, ; P = P1P2 PN 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 50 CBC MODE Phù hợp với liệu có khối lượng lớn file , Email , WEB… 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 51 3.2.4.3 CFB (Cipher Feedback) OFB (Output Feedback) mode • Các mode CFB OFB sử dụng để mã hóa liệu cung cấp rời rạc ( n hiệu nhận từ vệ nh cảm biến truyền về) • Trong chế độ OFB CFB dòng khoá tạo cộng modulo với rõ • OFB hệ mã đồng bô : Lập vector khởi tạo 64 bit (vector IV) z0 = IV ; zi = ek(zi-1) với i ≥ Mã hóa rõ x1x2 xn : yi = xi zi với i ≥ • Mode CFB, tạo y0 = IV (vector khởi tạo 64 bit) tạo phần tử zi dòng khoá : zi = ek(yi-1) với i≥1 yi = xi zi với i≥1 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 52 CFB-OFB MODE 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 53 Kết thúc chương 10/4/2012 CHƯƠNG _ CÁC HỆ MẬT Mà 54 [...]... m49 …m7 3 (16 vòng) for i = 1 to 16 • Tính các Li và Ri theo các công thức (1) và (2) 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 21 b Sơ đồ các vòng lặp của DES 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 22 Sơ đồ các vòng lặp của DES (tiếp) 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 23 c Hoán vị IP và hoán vị ngược IP-1 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 24 d.Tạo khóa con (dùng cho mỗi vòng lặp) 10/4/2012 CHƯƠNG 3 _ CÁC HỆ... bytes) Kết quả thu được là một chuỗi 32 bit ếp tục vào hộp P-Box • Có thể tự thiết kế S-box 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 33 Một số S-box chuẩn 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 34 g.Hàm hoán vị mở rộng E-box 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 35 • Hàm E-Box, mỗi 4 bit của khối vào, bit thứ nhất và bit thứ tư tương ứng với 2 bit của đầu ra, trong khi bit thứ 2 và 3 tương ứng với 1 bit ở đầu ra Bảng... Ri-1.(Hình vẽ 3. 6) • Tính E(Ri-1 ) XOR Ki và viết kết quả là 8 chuỗi 6 bit B1 B2 B3 B4 B5 B6 B7 B8 • Đưa 8 khối Bi vào 8 bảng S1, S2, , S8 ( S-Box) Mỗi hộp S-Box là một bảng 4*16 cố định có các cột từ 0 đến 15 và các hàng từ 0 đến 3 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 29 Sơ đồ hàm f(Ri-1 ,Ki) 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 30 Tính C = C1 C2 C3…… C8 Hai bít B1 và B6 tạo ra một dãy số từ 0 đến 3 Bốn bít...Ví dụ: d=6 ,dãy i= 1 234 56 được hoán vị thành f(i) =35 6214 VỊ TRÍ ĐẦU CHUYỂN VỊ KÝ TỰ BẢN Mà 1 2 3 4 5 6 3 5 6 2 1 4 F R I E N D N E F D R I CHUYỂN VỊ 5 4 1 6 2 3 -1 BẢN RÕ F R I E N D Kết quả mã : NEFDRI 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 11 3. 2.Các hệ mã khối (Block cipher) 1 Khái niệm : • Còn được gọi là mật mã đối xứng • Dữ liệu... C0 và D0 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 26 • Bảng hoán vị nén PC-2 Sau mỗi một vòng lặp , bảng hoán vị nén PC-2 được sử dụng • Output là một khối khóa Ki = 48 bit 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 27 • Sau đó, hai khối 28 bit này được dịch trái 1 hoặc 2 bit phụ thuộc vào bảng sau : VÒNG LẶP 1 2 3 SỐ BIT DỊCH 10/4/2012 1 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 2 2 2 2 2 1 2 CHƯƠNG 3 _ CÁC HỆ MẬT MÃ... khối “rõ” • Khóa cần được phân phối trước (preshare keys) 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 12 Khái niệm mật mã đối xứng • Bên nhận (giải mã ) và bên gửi (mã hóa ) sử dụng một khoá mật mã duy nhất ( Tính đối xứng) • Số lượng khoá¸tăng lên tỷ lệ với số người dùng 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 13 Vấn đề sử dụng khóa 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 14 2 Các hệ mã khối hiện đại • DES Data Encryption... này tốt nhất là phi tuyến Sự khuếch tán (diffusion): Tăng độ dư thừa của bản mã 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 18 3. 2.1.Chuẩn mã hoá dữ liệu DES (Data Encryption Standard) 3. 2.1.1 Sơ đồ tổng quát của DES • Input block : 64 bit • Key length : 56 (RD)+ 8 (parity)=64 bit 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 19 3. 2.1.2 Thuật giải DES • DES thực hiện 16 vòng lặp (i=1 đến i=16) • Hàm mã hóa : Li = Ri-1... cột là 9 , số dòng là 2,ta nhận được mã của khối 4 bit là 12 hay “1 1 0 0 ” Tại từng nút lặp ta sử dụng các bảng Sj khác nhau.Có tất cả 8 bảng Si 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 31 Sơ đồ tổng quát 1 vòng của DES 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 32 f Hộp S-box • Ba thuộc nh của hộp S (đảm bảo nh confusion và diffusion ) của thuật toán (NSA) Các bit vào luôn phụ thuộc phi tuyến với các bit ra  Sửa... thay thế DES sử dụng thuật giải Rijndael AES hỗ trợ khoá có kích thước 128, 192, và 256 bit • 3DES Triple-DES (3DES) bản nâng cấp của DES.3DES an toàn hơn DES • CAST do Carlisle Adams và Stafford Tavares phát triển.CAST sử dụng khoá có chiều dài từ 40-bit đến 128-bit , chạy nhanh và hiệu quả 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 15 • RC do phòng thí nghiệm RSA phát triển.Có các loải CR4, RC5 và RC6 RC5... Trong đó:  phép tuyển loại trừ của hai xâu bit theo modulo 2 Hàm f là một hàm phi tuyến  E là hoán vi ̣ mở rộng ánh xạ Ri-1 tƣ̀ 32 bit thành 48 bit  P là hoán vi ̣ cố định khác của 32 bit  IP - hoán vi ̣ bit khởi đầu Ở đầu ra dùng hoán vị nghich đảo IP-1 10/4/2012 CHƯƠNG 3 _ CÁC HỆ MẬT Mà 20 a Thuật toán chi tiết: • Input: Bản rõ M = m1 m2 …m64 Khóa 64 bit K = k1 k2 …k64 (bao gồm cả 8 bit parity)

Ngày đăng: 04/06/2016, 20:05

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan