Các nguyên hàm mật mã

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và phát triển ứng dụng chữ ký số trên các thiết bị cầm tay (Trang 27 - 31)

Chương 2. NGHIÊN CỨU CƠ SỞ LÝ THUYẾT VÀ MỘT SỐTIÊU CHUẨN VỀ CHỮ KÝ SỐ

2.3.4 Các nguyên hàm mật mã

Các nguyên hàm mật mã là các toán tử toán học cơ bản ở đó các lƣợc đồ mật mã có thể đƣợc xây dựng. Chúng đƣợc sử dụng triển khai trong phần cứng cũng nhƣ các module phần mềm.

Bốn loại nguyên hàm đƣợc chỉ ra trong tài liệu này, đƣợc tổ chức theo cặp: Mã hóa và giải mã; ký và kiểm tra chữ ký.

Đặc tả về các nguyên hàm thừa nhận rằng các điều kiện cụ thể nào có thể đạt bằng các đầu vào, trong trường hợp này là các khóa riêng và khóa công khai hợp lệ.

2.3.4.1 Các nguyên hàm mã hóa và giải mã.

Một nguyên hàm mã hóa tạo ra một đại diện mã hóa từ một đại diện thông điệp qua một khóa công khai, và một nguyên hàm giải mã phục hồi lại thông điệp đại diện từ đại diện mã hóa qua khóa riêng phù hợp.

Một cặp nguyên hàm mã hóa và giải mã đƣợc sử dụng trong các lƣợc đồ mã hóa đƣợc định nghĩa trong tài liệu này: RSAEP/RSADP. RSAEP và RSADP có toán tử giống hệt nhau, với các khóa khác nhau đầu vào.

2.3.4.1.1 RSAEP RSAEP((n, e), m)

Đầu vào: (n. e) – Khóa công khai RSA

m – Đại diện thông điệm, một số nguyên giữa 0 và n-1.

Đầu ra: c – Đại diện mã hóa, một số nguyên giữa 0 và n-1.

Lỗi: “Đại diện thông điệp ngoài phạm vi”

Giả định: Khóa công khai RSA (n, e) hợp lệ.

Các bước:

1. Nếu đại diện thông điệp m không nằm giữa 0 và n-1, kết quả

“đại diện thông điệp ngoài phạm vị” và dừng lại.

2. Để c≡me mod n.

3. Kết quả c.

2.3.4.1.2 RSADP RSADP (K,c)

Đầu vào: K – Khóa riêng RSA, ở đó K có một trong các dạng sau đây.

 Một cặp (n, d)

 Một bộ năm (p, q, dP, dQ, qInv) và một chuỗi ba rỗng (ri, di,ti), i=3, …, u)

c – Đại diện bản mã, một số nguyên giữa 0 và n-1.

Đầu ra: m – Đại diện bản thông điệp, một số giữa 0 và n-1.

Lỗi: “Đại diện thông điệp ngoài phạm vi”.

Giả định: Khóa riêng RSA K hợp lệ.

Các bước:

1. Nếu đại diện bản mã c không nằm giữa 0 và n-1, kết quả “Đại diện bản mã ngoài phạm vi” và dừng thuật toán.

2. Đại diện thông điệp đƣợc tính toán nhƣ sau:

a. Nếu bộ đầu tiên (n, d) của K đƣợc sử dụng, m≡cd modn b. Nếu bộ thứ 2 (d, p, dP, dQ, qInv) và (ri, di, ti) của K đƣợc

sử dụng, xử lý nhƣ sau:

i. Để m1≡ cdP mod p và m2≡ cdQ mod q.

ii. Nếu u>2, cho mi≡ cdi mod ri, i=3, …, u.

iii. Cho h = m1-m2*qInv mod p.

iv. Cho m=m2+q*h.

v. Nếu u>2, cho R=ri và For i=3 to u do 1. Cho R=R*ri-1

2. Cho h=(mi-m)*ti(mod ri) 3. Cho m = m+R*h

3. Kết quả m.

2.3.4.2 Các nguyên hàm ký số và kiểm tra chữ ký.

Một nguyên hàm ký tạo ra một đại diện ký từ một thông điệp qua khóa riêng, và một nguyên hàm kiểm tra ký số phục hồi thông điệp từ một đại diện ký số qua khóa công khai tương ứng. Một cặp nguyên hàm ký và kiểm tra chữ ký được sử dụng trong lược đồ ký số đƣợc định nghĩa trong tài liệu này và đƣợc đặc tả ở đây: RSASP1/RSAVP1.

Các toán tử toán học chính trong mỗi nguyên hàm là hàm mũ hóa nhƣ trong các nguyên hàm mã hóa và giải mã ở các phần trên. RSASP1 và RSAVP1 giống nhƣ RSADP và RSAEP ngoại trừ tên của các đối số đầu vào đầu ra, chúng đƣợc phân biệt do chúng đƣợc sử dụng trong các mục tiêu khác nhau.

2.3.4.2.1 RSASP1 RSASP1 (K,m)

Đầu vào: K – Khóa riêng RSA, ở đó K có một trong các dạng sau đây.

 Một cặp (n, d)

 Một bộ năm (p, q, dP, dQ, qInv) và một chỗi ba rỗng (ri, di,ti), i=3, …, u)

m – Đại diện thông điệp, một số nguyên giữa 0 và n-1.

Đầu ra: s – Đại diện chữ ký, một số giữa 0 và n-1.

Lỗi: “Đại diện thông điệp ngoài phạm vi”.

Giả định: Khóa riêng RSA K hợp lệ.

Các bước:

1. Nếu đại diện bản thông điệp m không nằm giữa 0 và n-1, kết quả “Đại diện thông điệp ngoài phạm vi” và dừng thuật toán.

2. Đại diện chữ ký s đƣợc tính toán nhƣ sau:

c. Nếu bộ đầu tiên (n, d) của K đƣợc sử dụng, để s≡md mod n d. Nếu bộ thứ 2 (d, p, dP, dQ, qInv) và (ri, di, ti) của K đƣợc

sử dụng, xử lý nhƣ sau:

i. Để s1≡ mdP mod p và s2≡ mdQ mod q.

ii. Nếu u>2, cho si≡ mdi mod ri, i=3, …, u.

iii. Cho h = (s1-s2)*qInv mod p.

iv. Cho s=s2+q*h.

v. Nếu u>2, cho R=ri và For i=3 to u do 1. Cho R=R*ri-1

2. Cho h=(si-s)*ti(mod ri) 3. Cho s = s+R*h

3. Kết quả s.

2.3.4.2.2 RSAVP1 RSAVP1((n, e), s)

Đầu vào: (n. e) – Khóa công khai RSA

s – Đại diện chữ ký, một số nguyên giữa 0 và n-1.

Đầu ra: m – Đại diện thông điệp, một số nguyên giữa 0 và n-1.

Lỗi: “Đại diện chữ ký ngoài phạm vi”

Giả định: Khóa công khai RSA (n, e) hợp lệ.

Các bước:

1. Nếu đại diện chữ ký s không nằm giữa 0 và n-1, kết quả “đại diện thông điệp ngoài phạm vị” và dừng lại.

2. Để m≡se mod n.

3. Kết quả m.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và phát triển ứng dụng chữ ký số trên các thiết bị cầm tay (Trang 27 - 31)

Tải bản đầy đủ (PDF)

(84 trang)