Hệ mã hóa khóa công khai

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải pháp bảo mật, xác thực cho ứng dụng văn phòng điện tử dựa trên công nghệ mở (Trang 31 - 34)

Hệ mã hoá khoá công khai là hệ mã hoá có khoá lập mã và khoá giải mã khác nhau, biết được khoá này “khó” tính được khoá kia.

Hệ mã hoá này được gọi là hệ mã hoá khoá công khai vì khoá lập mã được công khai (gọi là khoá công khai – Public key), khoá giải mã giữ bí mật (gọi là khoá riêng – Private key). Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai.

Hình 2.2. Quá trình thực hiện mã hóa khóa công khai

Quá trình truyền và sử dụng mã hoá khoá công khai đƣợc thực hiện nhƣ sau:

Bên gửi yêu cầu cung cấp hoặc tự tìm khoá công khai của bên nhận trên một server chịu trách nhiệm quản lý khoá.

Sau đó hai bên thống nhất thuật toán dùng để mã hoá dữ liệu, bên gửi sử dụng khoá công khai của bên nhận cùng với thuật toán đã thống nhất để mã hoá thông tin được gửi đi.

Khi nhận được thông tin đã mã hoá, bên nhận sử dụng khoá bí mật của mình để giải mã và lấy ra thông tin ban đầu.

Vậy là với sự ra đời của Mã hoá công khai thì khoá được quản lý một cách linh hoạt và hiệu quả hơn. Người sử dụng chỉ cần bảo vệ khoá bí mật.

Một số hệ mã hóa khóa công khai phổ biến như: RSA, Rabin, Elgaml, ... Nhận khóa công khai Nhận khóa riêng

Do đó hệ mã hoá khoá công khai có ƣu điểm và nhƣợc điểm sau

Ưu điểm Khuyết điểm

+ Chỉ có khóa riêng thì cần được giữ bí mật (tuy nhiên việc xác nhận của các khóa công khai cần được đảm bảo). + Việc quản trị các khóa trên mạng đòi hỏi sự tồn tại duy nhất một thành phần tin cậy.

+ Cặp khóa riêng và công khai có thể được sử dụng trong thời gian dài. + Nhiều mô hình khóa công cộng được phát triển hình thành nên các kỹ thuật chữ ký số hiệu quả. Khóa được sử dụng cho hàm kiểu công khai thì nhỏ hơn rất nhiều so với dùng khóa đối xứng.

+ Trong một mạng lớn, số lượng các khóa cần thiết được quan tâm ít hơn so với việc dùng khóa đối xứng.

+ Tốc độ cho các phương thức mã hóa công khai thì chậm hơn rất nhiều so với các mô hình khóa đối xứng. + Kích thước khóa lớn hơn rất nhiều so với cơ chế mã hóa khóa đối xứng. + Không có mô hình khóa công khai nào được chứng minh là an toàn. Phần lớn các mô hình mã hóa hiệu quả ngày nay có sự an toàn dựa trên các giả thuyết của một tập nhỏ của các vấn đề lý thuyết số học.

+ Hệ thống mã hóa công khai không có bề dày lâu đời như hệ thống mã hóa khóa đối xứng, nó chỉ được tìm ra vào giữa khoảng những năm 1970.

Hệ mã hóa khóa công khai RSA

Hệ mã hóa khóa công khai được đề xuất bởi Ron Rivest, Adi Shamir và Len Adleman (MIT) vào năm 1977.

Hệ mã hóa sử dụng phương pháp mã hóa khối với mỗi khối là một số nguyên < n: Thông thường kích cỡ n là 1024 bit ≈ 309 chữ số thập phân. Sơ đồ

Giả sử khối bản gốc của người gửi là M và khối bản mã của người nhận là C, quá trình mã hóa và giải mã RSA là: C = Me mod n M = Cd mod n

Cả người gửi và người nhận phải biết giá trị n. Người gửi biết giá trị e và chỉ người nhận biết giá trị d. Đây là một thuật toán mã hóa khóa công khai với khóa công khai KU = {e,n} và khóa riêng KR = {d,n}. Ta có sơ đồ biểu diễn thuật toán như sau:

Hình 2.3. Sơ đồ biểu diễn thuật toán mã hóa

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải pháp bảo mật, xác thực cho ứng dụng văn phòng điện tử dựa trên công nghệ mở (Trang 31 - 34)