Thuật toán EMSA-PSS-VERIFY.

Một phần của tài liệu Nghiên cứu một số công nghệ xác thực (Trang 69)

2. Đặ tm = se mod n.

3.1.1.7. Thuật toán EMSA-PSS-VERIFY.

Xác nhận tính nhất quán của bản rõ M và bản mã EM. Ví dụ xác định bản mã EM có phải được tạo ra từ bản rõ M hay không.

EMSA-PSS-VERIFY(M, EM, emBits)

Tuỳ chọn:

Hash Hàm băm(hLen là độ dài theo octet của đầu ra hàm băm). MGF Hàm mặt nạ.

sLen Độ dài theo octet của salt.

Đầu vào:

M Thông điệp cần kiểm tra, là xâu octet.

EM Thông điệp đã được mã hoá, là xâu octet có độ dài emLen =emBits/8

emBits Độ dài tối đa theo bít của số nguyên OS2IP(EM), tối thiểu là 8hLen + 8sLen + 9.

Đầu ra:

“consistent” hoặc “inconsistent”. Các bước:

1. Nếu độ dài của M lớn hơn giới hạn đầu vào của hàm băm (261 – 1 octet đối với SHA-1), thì đưa ra thông báo “inconsistent” và dừng.

2. Đặt mHash = Hash(M), là xâu octet có độ dài hLen.

3. Nếu emBits < 8hLen+8sLen+9, đưa ra thông báo “inconsistent” và dừng. 4. Nếu octet bên phải nhất của EM không chứa giá trị bc, đưa ra thông báo

“inconsistent” và dừng.

5. Đặt maskedDB là emLen-hLen-1 octet bên trái nhất của EM, và H là hLen octet tiếp theo.

6. Nếu 8emLen-emBits bít bên trái nhất của octet bên trái nhất trong maskedDB không phải tất cả bằng 0, đưa ra thông báo “inconsistent” và dừng.

7. Đặt dbMask = MGF(H, emLen-hLen-1). 8. Đặt DB = maskedDBdbMask.

10.Nếu emLen-hLen-sLen-2 octet bên trái nhất của DB không phải bằng 0 hoặc nếu octet tại vị trí thứ emLen-hLen-sLen-1 không bằng 0x01, đưa ra thông báo “inconsistent” và dừng.

11.Đặt salt bằng sLen octet cuối cùng của DB.

12.Đặt M = 00 00 00 00 00 00 00 00 mHashsalt.

M là xâu octet có độ dài 8+hLen+sLen với 8 octet zero khởi đầu. 13.Đặt H = Hash(M), là xâu octet có độ dài hLen.

14.Nếu H = H, đưa ra thông báo “consistent”. Ngược lại, đưa ra thông báo “inconsistent”.

Một phần của tài liệu Nghiên cứu một số công nghệ xác thực (Trang 69)

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

(124 trang)