Trong TLS, máy chủ trình một chuỗi chứng chỉ (certificate chain) để trình duyệt xác minh danh tính; mỗi chứng chỉ được ký bởi chứng chỉ ở cấp cao hơn (issuer), chứng chỉ gốc tự ký.
Đơn giản hoá: chuỗi gồm k chứng chỉ, đánh số từ 1 (chứng chỉ máy chủ / leaf) đến k (chứng chỉ gốc / root). Chứng chỉ thứ i có khóa công khai RSA (ni,ei) và một "digest" Hi (số nguyên, 0≤Hi<ni, đại diện cho băm rút gọn nội dung chứng chỉ) cùng chữ ký Sigi.
Cho toàn bộ chuỗi, hãy kiểm tra xem tất cả các chữ ký có hợp lệ hay không. Nếu tất cả hợp lệ, in VALID. Nếu không, in ra chỉ số nhỏ nhất i mà chữ ký Sigi không hợp lệ.
Ví dụ: chuỗi 1 chứng chỉ gốc tự ký với n=1022117,e=65537,H=555555,Sig=838664 thoả Sigemodn=H → in VALID.
Dòng đầu là số nguyên k (1≤k≤100). k dòng tiếp theo, dòng thứ i (ứng chứng chỉ i, từ leaf đến root) gồm 4 số nguyên ni ei Hi Sigi cách nhau bởi khoảng trắng (2≤ni≤1018).
In ra VALID nếu toàn bộ chuỗi hợp lệ; ngược lại in ra chỉ số nguyên nhỏ nhất i có chữ ký sai.
Ví dụ:
Đầu vào:
1
1022117 65537 555555 838664
Đầu ra:
VALID
Đầu vào:
1
1022117 65537 555555 838663
Đầu ra:
1
Đang tải editor...