Quỏ trỡnh tạo khoỏ, mó hoỏ và giải mó

Một phần của tài liệu Ứng dụng hệ mật mã khóa công khai trong quản lý đề thi (Trang 33 - 35)

Cỏc quỏ trỡnh tạo khoỏ, mó hoỏ và giải mó được thực hiện như mụ tả dưới đõy.

Tạo khúa:

1.Tạo hai ngẫu nhiờn số nguyờn tố phõn biệt pq lớn, sao cho bài toỏn phõn tớch thật sự là khú giải (kớch cỡ mỗi số khoảng 512 bits  1024 bits).

2.Tớnh Np q. và ( )N (p1)(q1).

3.Chọn một số nguyờn ngẫu nhiờn e sao cho 1 e ( )N và dc( , ( ))g eN 1. 4.Sử dụng thuật toỏn Euclid mở rộng để tớnh số nguyờn d duy nhất, sao cho

0 < d < φ(N) và ed 1 mod( )N (d là nghịch đảo của e modulo ( )N ). 5.Hai số (e, N) làm khúa cụng khai, cũn (d, N) được giữ bớ mật làm khúa riờng.

Cỏc số nguyờn tố p, q sẽ bị xúa khi kết thỳc quỏ trỡnh tạo khúa.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Giả sử để gửi thụng điệp M cho B. A thực hiện như sau:  Lấy khúa cụng khai của B: (e, N).

 Biến đổi thụng điệp M thành những số nguyờn Mi tương ứng sao cho Mi < N, (i = 1,…, k). Theo phộp biến đổi sau:

- Biến đổi cỏc ký tự trong thụng điệp M thành cỏc số nguyờn tương ứng, thớ dụ theo qui tắc: Dấu cỏch  00, A 01, B 02, ..., Z 26.

- Chia thụng điệp vừa biến đổi thành k nhúm cú chiều dài bằng nhau, mỗi nhúm biểu diễn một số nguyờn Mi {0,…, N – 1} (với 1 ≤ ik).

 Thực hiện mó húa lần lượt cho từng số Mi Ci bằng cỏch: Ci = Eke(Mi) = Mie (mod N).

Tập cỏc số nguyờn {C1, C2,...,Ck} là bản mó để gửi đến B.

Giải mó

B thực hiện cỏc bước sau:

 Thực hiện giải mó lần lượt từng số nguyờn CiMi bằng cỏch:

Mi = D(Ci) = Cid (mod N) với 0 ≤ Mi< N, (d là khoỏ bớ mật của B).  Thực hiện phộp biến đổi ngược lại từ cỏc số Mi thành cỏc chuỗi ký tự

tương ứng để khụi phục lại nội dung thụng điệp M ban đầu.

Tạo khoỏ: Tạo 2 số nguyờn tố lớn pq * Tớnh N = p*q và Tớnh φ(N) = (p-1)*(q-1). * Chọn 1 < e <φ(N): gcd(φ(N), e) = 1.

* Tớnh d = e-1 mod φ(N) (dựng thuật toỏn Euclid mở rộng).

Khúa cụng khai: (e, N) Khúa riờng: (d, N)

Mó húa: Khối bản rừ M < N * Tớnh: C = Me mod N

* Gửi khối bản mó (số nguyờn) C đến người nhận

Giải mó: Khối bản mó C < N

* Tớnh: M = Cd mod N

* Khụi phục lại khối bản rừ (số nguyờn) M ban đầu

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Một phần của tài liệu Ứng dụng hệ mật mã khóa công khai trong quản lý đề thi (Trang 33 - 35)