Định nghĩa 1-lƣợc đồ ký
Một lƣợc đồ ký (Gen, Sign, Verify) đƣợc định nghĩa nhƣ sau:
1. Thuật toán sinh khoá Gen là một thuật toán xác suất có đầu vào là 1k
cho kết quả là một cặp khoá công khai và bí mật tƣơng ứng (pk, sk).
2. Thuật toán ký Sign có đầu vào là thông điệp M, khoá công khai pk và khoá bí mật sk, trả về một chữ ký x = Signpk, sk(M). Thuật toán cũng có thể là thuật toán xác suất.
3. Thuật toán kiểm tra Verify có đầu vào là thông điệp M, một chữ ký đại diện x và khoá bí mật pk. Nó trả về một bit Verifypk(M, x) bằng 1 nếu chữ ký đƣợc chấp nhận, ngƣợc lại bằng 0. Điều đó có nghĩa là nếu x Signsk, pk(M) thì Verify(M, x) = 1.
Với kiểu tấn công lựa chọn thông điệp thích hợp, ngƣời giả mạo có thể thu đƣợc một chữ ký bất kỳ của thông điệp từ việc lựa chọn thông điệp của anh ta và cố gắng đƣa ra một sự giả mạo hợp lý. Sự giả mạo hợp lý đó là cặp thông điệp/chữ ký (M, x) thoả mãn Verify(M, x)=1, trong đó chữ ký của M ngƣời giả mạo chƣa bao giờ biết đến. Một số định nghĩa trong mô hình tiên tri ngẫu nhiên:
Định nghĩa 2
Một ngƣời giả mạo F đƣợc phát biểu (t, qhash, qsign, )-break lƣợc đồ ký (Gen, Sign, Verify) nếu sau nhiều nhất qhash(k) yêu cầu tới oracle băm và qsign(k) lần yêu cầu ký và sau thời gian thực hiện t(k) có đƣợc phép giả mạo hợp lệ với xác suất ít nhất là (k) với k N.
Định nghĩa 3
Một lƣợc đồ ký (Gen, Sign, Verify) là (t, qsign, qhash, )-secure nếu không có ngƣời giả mạo nào (t, qhash, qsign, )-break đƣợc lƣợc đồ đó.
Định nghĩa 4 (Hệ mật RSA)
Hệ mật RSA là một thành viên của phép hoán vị hàm cửa sập, đƣợc định nghĩa nhƣ sau: - Bộ sinh RSA, đầu vào 1k , chọn ngẫu nhiên hai số nguyên tố p, q phân biệt có độ dài
k/2 bit và tính toán modulo N = p.q. Chọn ngẫu nhiên số mũ mã hoá e (N)và tính toán số mũ giải mã d tƣơng ứng thỏa mãn e.d 1 mod (N). Bộ sinh trả về bộ giá trị (N, d, e). - Hàm mã hoá f : * N * N đƣợc định nghĩa f(x) xe mod N - Hàm giải mã f -1: * N * N đƣợc định nghĩa f -1(y) yd mod N Định nghĩa 5
Thuật toán tìm giá trị nghịch đảo I gọi là (t', ε')−break RSA nếu nhƣ sau thời gian t'(k)
nó giải quyết đƣợc bài toán RSA với xác suất là ε'(k).
Định nghĩa 6
RSA đƣợc gọi là (t', ε')−secure nếu nhƣ không có thuật toán I nào là (t', ε')−break