intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương III - Các Hệ Mật Mã Công Khai

Chia sẻ: Nguyễn Văn Chiến | Ngày: | Loại File: PDF | Số trang:48

211
lượt xem
52
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mật mã công khai dựa trên cơ sở của các hàm toán học chứ không phải dựa trên phép thay thế và đổi chỗ như gp ự p p y trong phương pháp mã hoá đối xứng. • Mã mật công khai là bất đối xứng. Trong cơ chế mã mật ậ g g g ậ khoá công khai sử dụng hai khoá: khoá mật và khoá công khai. Việc sử dụng hai khoá không đối xứng đưa đến h đế những h quả sâu sắc trong l h vực an toàn thông hệ ắ lĩnh h tin: tính...

Chủ đề:
Lưu

Nội dung Text: Chương III - Các Hệ Mật Mã Công Khai

  1. Chương III Các Hệ Mật Mã Công Khai
  2. III.1 Nguyên lý hệ mật mã công khai Đặc điểm: • Mật mã công khai dựa trên cơ sở của các hàm toán học chứ không phải dựa trên phép thay thế và đổi chỗ như trong phương pháp mã hoá đối xứng. • Mã mật công khai là bất đối xứng. Trong cơ chế mã mật khoá công khai sử dụng hai khoá: khoá mật và khoá công khai. Việc sử dụng hai khoá không đối xứng đưa đến những hệ quả sâu sắc trong lĩnh vực an toàn thông tin: tính toàn vẹn, tính xác thực, phân phối khoá.
  3. III.1 Nguyên lý hệ mật mã công khai Xuất xứ: • Hệ mã mật khoá công khai được phát triển nhằm giải quyết hai vấn đề phức tạp nảy sinh từ phương pháp mã hoá đối xứng: Vấn đề thứ nhất: bài toán phân phối khoá; Vấn đề thứ hai: chữ ký điện tử.
  4. III.1 Nguyên lý hệ mật mã công khai Vấn đề phân phối khóa: • Trong sơ đồ mã hoá truyền thống, quá trình phân phối khoá đưa ra yêu cầu hai phía tham gia vào trao đổi thông tin: Phải chia sẻ trước khoá, khoá này phải được phân phối bằng một cách nào đó ho họ. Phải sử dụng trung tâm phân phối khoá KDC. Vấn đề chữ ký điện tử: • Chữ ký điện tử phải được sử dụng trong các thông điệp điện tử và phải có hiệu lực tương đương với chữ ký trên giấy.
  5. III.1 Nguyên lý hệ mật mã công khai Hệ mật khóa công khai: • Mỗi hệ thống đầu cuối tạo một cặp khoá để mã hoá và giải mã các thông điệp. • Mỗi hệ thống đầu cuối công bố một khoá trong cặp khoá ,khoá còn lại được giữ mật. • Nếu A muốn gửi thông điệp cho B, A sẽ mã hoá văn bản bằng khoá công khai của B. • Khi B nhận được thông điệp, B sẽ giải mã bằng khoá mật. Không một bên thứ ba có thể giải mã được thông điệp vì chỉ có B biết khoá mật của B.
  6. III.1 Nguyên lý hệ mật mã công khai Sơ đồ mã hóa công khai: • Sơ đồ mã mật khoá công khai sử dụng một khoá để mã hoá và một khoá khác có liên quan để giải mã. Các thuật toán mã hoá và giải mã có một số đặc điểm quan trọng sau: Không thể xác định được khoá giải mã nếu chỉ biết thuật toán mã hoá và khoá mã hoá. Một số hệ mã mật khoá công khai (như RSA) còn cung cấp khả năng sử dụng bất kỳ một khoá trong cặp khoá làm khoá mã hoá, khoá còn lại sẽ được dùng làm khoá giải mã.
  7. III.1 Nguyên lý hệ mật mã công khai Sơ đồ mã hóa:
  8. III.1 Nguyên lý hệ mật mã công khai Sơ đồ chứng thực:
  9. III.1 Nguyên lý hệ mật mã công khai Các bước tiến hành: 1. Mỗi người sử dụng tạo một cặp khoá được sử dụng để mã hóa và giải mã thông điệp. 2. Mỗi người dùng sẽ giao một trong hai khóa cho người đăng ký khóa công cộng hoặc một file có khả năng truy cập. Khóa đó là khóa công khai. Cái còn lại là sẽ được giữ bí mật. Như trong hình trên đã giả thiết, mỗi người dùng sẽ duy trì một tập các khóa công khai thu được từ các người dùng khác 3. Nếu Bob muốn gửi một thông điệp bí mật cho Alice, Bob mã hóa thông điệp bằng cách sử dụng khóa công khai của Alice. 4. Khi Alice nhận được thông điệp, cô giải mã nó bằng khóa riêng của mình. Không có người nhận khác có thể giải mã thông điệp vì chỉ Alice biết khóa riêng của Alice.
  10. III.1 Nguyên lý hệ mật mã công khai Mô hình đảm bảo bí mật: Kẻ phá mã, quan sát Y và có quyền truy cập vào KUb nhưng không có quyền truy cập vào KRb hoặc X, để xem được thông tin phá thông tin kẻ phá mã phải phục hồi X và / hoặc KRb.
  11. III.1 Nguyên lý hệ mật mã công khai Mô hình chứng thực: Trong trường hợp này, A soạn một tin nhắn đến B và mã hóa bằng khóa riêng của A trước khi truyền nó. B có thể giải mã thông điệp bằng cách sử dụng khóa công khai của A. Bởi vì thông điệp đã được mã hóa bằng khóa riêng của A, chỉ A có thể soạn thông báo này. Vì vậy, thông điệp được mã hóa toàn bộ phục vụ như một chữ ký số. Ngoài ra, không thể thay đổi thông điệp mà không cần truy cập vào các khóa riêng của A, do đó, thông điệp này là xác thực cả về nguồn và về tính toàn vẹn dữ liệu.
  12. III.1 Nguyên lý hệ mật mã công khai Mô hình kết hợp: Trong trường hợp này, chúng ta bắt đầu như trước bằng cách mã hóa các tin nhắn, sử dụng khóa riêng của người gửi. Công việc này để cung cấp các chữ ký số. Tiếp theo, chúng ta mã hóa một lần nữa, bằng cách sử dụng khóa công khai của người nhận. Các bản mã cuối cùng chỉ có thể được giải mã chỉ bởi người nhận đã được xác định, người có chìa khóa. Vì vậy, tính bảo mật được cung cấp.
  13. III.1 Nguyên lý hệ mật mã công khai Các điều kiện cần thiết: Bên B dễ dàng tạo ra được cặp (KUb, KRb) • Bên A dễ dàng tạo ra được C = EKUb(M) • Bên B dễ dàng giải mã M = DKRb(C) dà • Đối thủ không thể xác định được KRb khi biết KUb • Đối thủ không thể xác định được M khi biết KUb và C th không th xác đị đượ khi bi KU • Một trong hai khóa có thể dùng mã hóa trong khi khóa • kia có thể dùng giải mã M = DKRb(EKUb(M)) = DKUb(EKRb(M))
  14. III.1 Nguyên lý hệ mật mã công khai Mã hóa đối xứng và mã hóa công khai:
  15. III.2 Thuật Toán RSA Hệ mã hóa RSA: • Đề xuất bởi Ron Rivest, Adi Shamir và Len Adleman (MIT) vào năm 1977 • Hệ mã hóa khóa công khai phổ dụng nhất • Mã hóa khối với mỗi khối là một số nguyên < n Thường kích cỡ n là 1024 bit ≈ 309 chữ số thập phân • Đăng ký bản quyền năm 1983, hết hạn năm 2000 • An toàn vì chi phí phân tích thừa số của một số nguyên lớn là rất lớn
  16. III.2 Thuật Toán RSA Tạo khóa RSA: • Mỗi bên tự tạo ra một cặp khóa công khai - khóa riêng theo các bước sau : Chọn ngẫu nhiên 2 số nguyên tố đủ lớn p ≠ q Tính n = pq Tính Φ(n) = (p-1)(q-1) (p Chọn ngẫu nhiên khóa mã hóa e sao cho 1 < e < Φ(n) và gcd(e, Φ(n)) = 1 Tìm khóa giải mã d ≤ n thỏa mãn e.d ≡ 1 mod Φ(n) khóa gi mã th mãn mod • Công bố khóa mã hóa công khai KU = {e, n} • Giữ bí mật khóa giải mã riêng KR = {d, n} Các giá trị bí mật p và q bị hủy bỏ
  17. III.2 Thuật Toán RSA Thực hiện RSA: • Để mã hóa 1 thông báo M, bên gửi thực hiện Lấy khóa công khai của bên nhận KU = {e, n} Tính C = Me mod n • Để giải mã bản mã hóa C, bên nhận thực hiện Sử dụng khóa riêng KR = {d, n} Tính M = Cd mod n • Lưu ý là thông báo M phải nhỏ hơn n Phân thành nhiều khối nếu cần thành nhi kh
  18. III.2 Thuật Toán RSA Tính khả thi của RSA: • Theo định lý Euler ∀ a, n : gcd(a, n) = 1 ⇒ aΦ(n) mod n = 1 Φ(n) là số các số nguyên dương nhỏ hơn n và nguyên tố cùng là nhau với n • Đối với RSA có n = pq với p và q là các số nguyên tố Φ(n) = (p - 1)(q - 1) ed ≡ 1 mod Φ(n) ⇒ ∃ số nguyên k : ed = kΦ(n) + 1 mod nguyên ed M
  19. III.2 Thuật Toán RSA Ví dụ tạo khóa RSA: Chọn 2 số nguyên tố p = 17 và q = 11 • Tính n = pq = 17 × 11 = 187 • Tính Φ(n) = (p - 1)(q - 1) = 16 × 10 = 160 • Chọn e : gcd(e, 160) = 1 và 1 < e < 160; lấy e = 7 • Xác định d : de ≡ 1 mod 160 và d ≤ 187 đị de mod 160 và 187 • Giá trị d = 23 vì 23 × 7 = 161 = 1 × 160 + 1 • Công bố khóa công khai KU = {7, 187} khóa công khai KU {7, 187} • Giữ bí mật khóa riêng KR = {23, 187} • Hủy bỏ các giá trị bí mật p = 17 và q = 11
  20. III.2 Thuật Toán RSA Ví dụ tạo khóa RSA:
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2