Tải bản đầy đủ (.pptx) (14 trang)

BÁO CÁO MẬT MÃ VÀ AN TOÀN DỮ LIỆU Thuật toán SolowayStrassen

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.05 MB, 14 trang )

MẬT MÃ VÀ AN TOÀN DỮ LIỆU
Thuật toán Soloway-Strassen
Giảng viên: PGS.TS Trịnh Nhật Tiến
Trình bày: Nguyễn Thị Dung
1
Các nội dung chính

Thuật toán Soloway - Strassen

Ví dụ minh hoạ

Xác suất sai của thuật toán

Demo chương trình kiểm tra số nguyên tố lớn
2
Thuật toán Soloway-Strassen

Định nghĩa thặng dư bậc hai

Kí hiệu Legendre

Kí hiệu Jacobi

Tính chất của kí hiệu Jacobi

Thuật toán Soloway-Strassen
3
Thặng dư bậc hai

Thặng dư bậc hai mod n là a* thỏa mãn =a
mod n có nghiệm x *



Ngược lại thì không thặng dư

Ví dụ:

4 là thặng dư bậc hai mod 5 vì 4=

3 không là thặng dư bậc hai mod 5 vì không có số
nguyên nào trong tập hợp {0, 1, 2, 3, 4} bình phương
bằng 3 mod 5.


4
Ký hiệu Legendre

Ký hiệu Legendre với a p là số nguyên tố

=

KíhiệuLagrăngđượcsửdụngtrongtiêuchuẩnEuler
doEulerchứngminh:
 = a (p-1)/2 (mod p)


5
Ký hiệu Jacobi

Định nghĩa: với n 1 lẻ và mọi số nguyên a 0.
Giả sử n = p1e1 p2e2 p3e3 … pkek,
Với p1, p2, , pk là các số nguyên tố

Ký hiệu Jacobi được định nghĩa như sau:
=

Khi n = p là số nguyên tố thì giá trị của ký hiệu Legendre và
Jacobi là như nhau.


6
Tính chất của kí hiệuJacobi

(i)=0, 1, hoặc -1. Hơn nữa, =0 nếu và chỉ nếu gcd(a, n) != 1

(ii) =

(iii) = 

(iv) Nếu a=b mod n thì =

(v) =1

(vi) = =

(vii) = =

(viii)=


7
Thuật toán Soloway-Strassen


INPUT: n: là số tự nhiên lẻ

OUTPUT: FALSE nếu n là hợp số
TRUE nếu n không là hợp số

Các bước thực hiện:

Chọn a ngẫu nhiên trong khoảng[1,n-1]

Tính ký hiệu Jacobi J=(a/n)

Tính x =a (n-1)/2 mod n

Nếu J ≠ x thì trả về FALSE

Nếu khác trả về TRUE.
8
Thuật toán Soloway-Strassen
9
Thời gian thực hiện thuật toán

Thực hiện với hai phép tính chính: a(n-1)/2 mod n và
(a/n)

Phép tính a(n-1)/2 mod n thực hiện trong thời gian
O(logn).

Phép tính (a/n) thực hiện trong thời gian O(log2 n).

Solovay-Strassen thực hiện thuật toán k lần -> thời gian

thực hiện thuật toán là O(k. log2 n).
10
Ví dụ minh họa

Kiểm tra số 221 là số nguyên tố hay không

Chọn ngẫu nhiên một số a = 47. Tính toán:

a(n-1)/2 mod n = 47110 mod 221 = -1 mod 221

(a/n) mod n = (47/221) mod 221 = -1 mod 221
hoặc 221 là số nguyên tố, hoặc 47 là một số nguyên tố giả Euler đối với
221.

Chọn ngẫu nhiên một số a = 2. Tính toán:

a(n-1)/2modn=2110mod221=30mod221

(a/n)modn=(2/221)mod221=-1mod221
221 là hợp số
11
Xác suất sai

Gọi A là biến cố: "Số nguyên lẻ n là hợp số"; B là biến cố:
"Thuật toán Soloway-Strassen trả lời TRUE".

Xác suất điều kiện P(B|A)

Sau k lần lặp thì xác suất sai :



12
Giao diện phần mềm

Input loop: tùy
chọn số lần lặp

Number To
Check: nhập số tự
nhiên cần kiểm tra
13
Thanks for your listening!
14

×