Chào các bác, em đang tìm hiểu về mã hóa RSA. Cặp key(trong hình) của em chỉ hoạt động đúng với số cần mã hóa lẻ, còn số chẵn thì không.
Ai rành về cái này có thể chỉ cho em với được không ạ, em cảm ơn.
Tại sao cặp key RSA chỉ hoạt động với mã hóa lẻ, còn số chẵn thì không
ngoài 2 là số chẳn ra thì không số chẳn nào là nguyên tố cả.
dạ vâng, cái này em biết…nhưng có liên quan gì đến câu hỏi không ạ -___-
a
p = 5
q = 11
n = p * q = 55
x = (p-1)(q-1) = 40
e = 3
d = (xk+1)/e = (40*k+1)/3 = 27
kua = (n,e)
kra = (n,d)
b
p = 3
q = 11
n = p * q =33
x = (p-1)(q-1) = 20
e = 3
d = (xk+1)/e = (20*k+1)/3 = 7
Key
kub = (n,e)
krb = (n,d)
m = 2
c = m + kra c = m^d(a) mod n(a) c = 2^27(a) mod 55(a) = 18
c1 = c + kub c1 = c^e(b) mod n(b) c1 = 18^3(b) mod 33(b) = 24
m1 = c1 + krb m1 = c1^d(b) mod n(b) m1 = 24^7(b) mod 33(b) = 18
m = m1 + kua m = m1^e(a) mod n(a) m = 18^3(a) mod 55(a) = 2
m = 2
Chủ yếu là bạn phải nắm bên Số học (number theory), gồm
- Bội và ước số.
- Tính toán modulo (bao gồm lũy thừa và phép chia).
- Ý nghĩa của hàm totient
và một chút Đại số (nhóm nhân) cái chỗ từ pq mod = 1 tới m lũy thừa bằng m là xoắn não lắm đó @_@
em làm các bước như hình có gì sai không ạ
Bạn kiểm tra xem là bạn có dùng đúng phép mod mod 143
không
à à -___- ngàn lần cảm ơn anh…ghép với n mới đúng chứ -___- em lại đi ghép với phi(n)
Ngáo quá
cặp key trong RSA phải là số nguyên tố
Ý là sao m
(m^e mod n) lẻ thì tính được, mà chẵn thì nó bị “đơ” ấy.