HỆ MÃ HÓA RABIN
1
PGS.TSTrịnh Nhật Tiến
Bùi Mạnh Tiệp
NỘI DUNG CHÍNH
Hệ mã hóa RABIN
!
"#$%&'()*+,
-.'
2
SƠ ĐỒ HỆ MÃ RABIN
3
/0123"3435367
P = C = Zn, 089:3;8.:<.=>?@8AB C3:AB C9
K = (K’, K”)4D1EFE7013*7
GH*HIJ
4K1EL/70183:7
Các thuật toán E và D được xác định bởi:
514D3M70?0M1MN*7
614K3?70
GIAI ĐOẠN MÃ HÓA
4
OP>QLJEFE.JEL/&R9*)
8<.#>
J9 -=S><;.E#><.8.:9
=9 -089:
B9 4FE')<.3EL/')<.183:7
GIẢI THUÂT MÃ HÓA
5
>E).FEEFE9TU*>V
F8)W*X YEFE')Z3.>
)XF8L[EL/&R'W9
4*P<.\>
GIẢI THUÂT MÃ HÓA
6
J9 ,/EFE&]M#^')<.
=9 VF8<.>?%E_G3J399993IJ`
B9 -0
=
C9 VL)
GIẢI THUÂT MÃ HÓA
7
Chú ý:
a@b8.:WZ8.:<.>?L@
Ec9,&UZ8A:AB CZ&]
9
GIẢI THUÂT GIẢI MÃ
8
>E)/&]F8&]'*9)EL
/<.089:3Z/&]L%deW)8<.#>
GIẢI THUÂT GIẢI MÃ
9
Giải mã theo cách chọn p ≡ q ≡ 3 4:
J96Y>/#Euclidef%W=>? .L
8NL:0J
=9-%0
18NJ7gC
8
B9-0
1:NJ7gC
:
C9-M018NL:%7 9
h9-?018IL:%7 9
i9CjL/=' <.M3IM .
?3k? 9
VÍ DỤ
10
1. Tạo khóa:
A chọn số nguyên tố p = 331, q = 311 có p ≡ q ≡ 3 mod 4
Và tính n = p.q = 102941
Khóa công khai của A là n = 102941
Khóa bí mật của A là (p = 331, q = 311)
2. Mã hóa:
Giả sử 6 bit cuối cùng của thông điệp ban đầu cần phải được lăp lại trước khi mã hóa.
Để mã hóa thông điệp 10 bit m = 633
(10)
= 1001111001
(2)
,
B lặp lại 6 bit cuối cùng của m để nhận được thông điệp 16
bit m=1001111001111001.
Theo hệ 10 thì m=40569.
VÍ DỤ
11
Sau đó B tính:
c=m
2
mod n = 40569
2
mod 102941=23053 và gửi c cho A
3. . Giải mã:
i. Dùng thuật toán Euclide mở rộng tìm 2 số nguyên a, b thỏa mãn:
ap + bq = 1
Tìm được a=140, b=-149
ii. Tính r=c
(p+1)/4
mod p = 23053
(331+1)/4
mod 331 = 144
iii. Tính s=c
(q+1)/4
mod q =23053
(311+1)/4
mod 311 = 139
iv. Tính x=(aps+bqr) mod n = (6052060-6672816) mod 102941= -25674
v. Tính y=(aps-bqr) mod n = (6052060+6672816) mod 102941= 40569
VÍ DỤ
12
Bốn căn bậc 2 của c mod n là: x, -x mod n, y, -y mod n
m1= 25674
(10)
= 644A
(H)
= 0110010001001010
(2)
m2=77267
(10)
= 2DD3
(H)
= 0010110111010011
(2)
m3=40569
(10)
= 9E79
(H)
= 1001111001111001
(2)
m4=62372
(10)
= F3A4
(H)
= 1111001110100100
(2)
Vì chỉ có m3 có dư thừa dữ liệu yêu cầu, A giải mã c thành m3 (bỏ 6 bit cuối cùng) và phục hồi bản rõ ban đầu là:
m = 1001111001
(2)
= 633
(10)
ĐẶC ĐIỂM CỦA HỆ MÃ RABIN
Ưu điểm
O.&]R&&;E'L.#8l
%e>?9
13
ĐẶC ĐIỂM CỦA HỆ MÃ RABIN
Nhược điểm
-eL</&];LL%d3 SmEEj%
M#nl><.L%d^^.l><.L%d8#9Ob>
.?EF\<./F
o
^
o
'>/#3.
pl?EEj3/8[%
Designed by group 9
14
CHƯƠNG TRÌNH
Designed by group 9
15
THANK YOU!
Designed by group 9
16