Trên thế giới, có thể chia các công trình lý thuyết liên quan đến RSA làm hai loại: phát triển các biến thể của RSA và thám mã RSA.. Trong hướng thứ nhất, các tác giả tập trung vào
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
TRẦN ĐÌNH LONG
CÁC TÍNH CHẤT ĐẠI SỐ CỦA HỆ MÃ CÔNG KHAI RSA
VÀ KHẢ NĂNG MỞ RỘNG
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 62 48 01 01
TÓM TẮT LUẬN ÁN TIẾN SĨ
CÔNG NGHỆ THÔNG TIN
N gướng dẫn khoa học
1 P
Tp Hồ Chí Minh, 2015
Công trình được hoàn thành tại:
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HỐ CHÍ MINH
Người hướng dẫn khoa học
1 PGS TS TRẦN ĐAN THƯ
2 PGS TS NGUYỄN ĐÌNH THÚC
Phản biện 1:
Phản biện 2:
Phản biện 3:
Phản biện độc lập 1:
Phản biện độc lập 2:
Luận án sẽ được bảo vệ trước Hội đồng chấm luận án họp tại
vào lúc giờ ngày tháng năm
Trang 2Có thể tìm hiểu luận án tại thư viện:
- Thư viện Khoa học Tổng hợp Tp.HCM
- Thư viện Trường Đại học Khoa học Tự Nhiên
MỞ ĐẦU
RSA là một hệ mã hóa nổi tiếng do 3 tác giả Rivest, Shamir và
Adleman giới thiệu vào năm 1978 [5] Việc không có một hệ mã nào dùng
rộng rãi như RSA cho đến bây giờ cho thấy đây là một hệ mã an toàn, khó bị
tấn công Chính vì vậy có rất nhiều công trình liên quan đến RSA
Trên thế giới, có thể chia các công trình lý thuyết liên quan đến RSA
làm hai loại: phát triển các biến thể của RSA và thám mã RSA
Sự phát triển các biến thể của RSA có thể chia làm hai hướng
Trong hướng thứ nhất, các tác giả tập trung vào hệ mã RSA gốc nhưng cải
tiến các thuật toán mã hóa và giải mã nhằm giảm độ phức tạp tính toán hoặc
xây dựng RSA trên vành Zn với n có dạng phức tạp hơn thay vì là tích của
hai số nguyên tố phân biệt Trong hướng thứ hai, các biến thể của RSA được
xây dựng trên các cấu trúc đại số phức tạp hơn Các công trình của
Varadharajan V và Odoni (1985), N Demytko (1993), El-Kassar A.N., R
Hatary và Y Awad (2004) là các ví dụ cho hướng nghiên cứu này
Song song với việc phát triển các biến thể của RSA, bài toán thám
mã RSA cũng thu hút được nhiều tác giả Cách tấn công cổ điển dựa vào bài
toán phân tích một số nguyên dương n thành các thừa số nguyên tố, hiện nay
thuật toán phân tích hiệu quả nhất là thuật toán Sieve (General Number Field
Sieve) với độ phức tạp là e( (c+O( 1 ) )m
1
log
2
m) với c <2, trong đó m là số bit của n
Hiện nay có rất nhiều cách tấn công vào RSA với các công cụ khác nhau Năm 1990, M Wiener đưa ra cách tấn công RSA trong trường hợp khóa
riêng d <n
1
4 bằng công cụ liên phân số D Boneh và G Durfee (1999) đạt được kết quả tốt hơn với d <n0.292, bằng cách giải bài toán tìm phần tử gần đúng có nghịch đảo nhỏ Sau lần giới thiệu đầu tiên của D Coppersmith tại Eurocrypt 1996, các thuật toán tìm cơ sở thu gọn của dàn là một công cụ rất hiệu quả để tấn công RSA
Trong nước, các công trình hay luận án liên quan đến RSA còn rất khiêm tốn Các luận án thường chỉ dừng lại ở mức hiện thực RSA có cải tiến các thuật toán số học trong mã hóa và giải mã; khảo sát áp dụng chữ ký điện
tử của RSA; liệt kê lại các phương pháp tấn công RSA hay áp dụng RSA
Xuất phát từ những khảo sát trên đây về hệ mã RSA ở trong nước và quốc tế, luận án này nhằm giải quyết các vấn đề sau:
(1) Nghiên cứu hệ mã RSA nguyên gốc và tất cả các biến thể của nó Giải thích vì sao các biến thể của RSA chỉ xây dựng trên các cấu trúc
(2) Căn cứ vào nghiên cứu trên, đề xuất sơ đồ tổng quát cho RSA (3) Căn cứ vào sơ đồ,, xây dựng một biến thể mới cho RSA
(4) Tìm hiểu các kỹ thuật tấn công đã biết vào RSA, qua đó cải tiến một số kỹ thuật và giải quyết một số bài toán còn mở trong thám mã RSA.
Nội dung của luận án gồm các phần sau
Phần mở đầu giới thiệu tổng quan về các nghiên cứu RSA trong và ngoài nước, đồng thời nêu ra các vấn đề cần giải quyết cho luận án
Trang 3Chương 1 mô tả chi tiết hơn về hệ mã RSA gốc, các biến thể của
RSA trên các cấu trúc khác với Zn và một số kết quả về thám mã RSA
Chương 2 đề cập đến các kết quả của tác giả về việc xây dựng sơ đồ
cho RSA và một biến thể của RSA được xây dựng dựa trên sơ dồ này
Chương 3 đề cập đến các kết quả của tác giả trong lĩnh vực thám mã
RSA bao gồm việc đưa ra diều kiện nhằm đảm bảo phương pháp tấn công
RSA bằng dàn hai chiều luôn thành công và việc đưa bài toán DLP trên
nhóm nhân GL(2, p) về bài toán DLP trên trường cơ sở
Do các thuật toán tìm cơ sở thu gọn trên dàn được dùng nhiều trong
việc trình bày, các kiến thức cơ sở về dàn sẽ được nhắc lại trong phụ lục
Phần kết luận tóm tắt lại những kết quả mà luận án đã đạt được,
đồng thời nêu ra một số hướng nghiên cứu mở có thể phát triển được
CHƯƠNG 1: TỔNG QUAN VỀ RSA
1.1 Hệ mã hóa RSA gốc
1.1.1 Mô tả hệ mã
-Chọn số nguyên e mà (e , φ (n))=1 với φ (n )=( p−1)(q−1)
-Tính d=e−1(mod φ (n))
-Công bố n , e như khóa công khai và giữ d làm khóa riêng
1.1.2 Nhận xét về hệ mã
Nếu n=p1r1p2r2… pk r k là một số nguyên dương, trong đó
p1, p2, … , pk là các số nguyên tố phân biệt và ri∈ Z , ri>0 (i=1,2 ,… ,k ),
ta sẽ kí hiệu rad (n)= p1p2… pk T Collins et al vào 1997 đã xây dựng hệ
mã RSA trên Zn khi n=rad(n) Chúng tôi sẽ chỉ ra rằng n=rad (n) là dạng duy nhất của n nếu chúng ta có thể xây dựng RSA trên Zn
Mệnh đề 1.1 Giả sử tồn tại số tự nhiên k ≠ 1 sao cho ánh xạ F : Zn→ Zn mà
F ( x )=xk là đơn ánh Khi đó n=rad (n).
1.2 RSA trên vành Zn
Các công trình khảo sát RSA trên vành cơ sở Zn tập trung vào hai hướng Trong hướng thứ nhất, các tác giả tập trung vào hệ mã RSA gốc nhưng cải tiến các thuật toán mã hóa, giải mã nhằm giảm độ phức tạp tính toán hoặc thêm vào các kỹ thuật khi mã hóa nhằm nâng cao độ an toàn của
hệ mã Có thể kể ra các kỹ thuật cải tiến cho RSA gốc như tạo ra văn bản mã hóa ngẫu nhiên, tạo đồng thời nhiều chữ ký điện tửhay thêm vào các thuật toán nhằm thực hiện nhanh quá trình mã hóa và giải mã Trong hướng thứ hai, các tác giả khảo sát các hệ mã RSA trên vành Zn với n không còn là tích của hai số nguyên tố phân biệt Hai kết quả đáng kể trong hướng này thuộc về T Collins khảo sát trường hợp n là tích của nhiều số nguyên tố phân biệt (MultiPrime RSA), và T Takagi khảo sát khi ncó dạng n=pkq trong đó
p , q là hai số nguyên tố phân biệt, còn k là số nguyên dương (MultiPower RSA) Các biến thể này của RSA sau đó được các tác giả khác kết hợp với các kỹ thuật cải tiến trong hướng thứ nhất
1.3 Các biến thể của RSA trên các cấu trúc khác Zn
1.3.1 RSA trên vành các ma trận (Varadharajan V và Odoni [6], 1985)
Trang 4Giả sử p , qlà hai số nguyên tố, n=pq và l ∈ N¿ Kí hiệu
Ml( p ), Ml(q) và Ml(n) là các nhóm nhân các ma trận vuông cấp l ×l
không suy biến hệ số tương ứng trên Zp, Zq và Zn Bậc của các nhóm này là
Np= ( pl−1 ) ( pl− p ) … ( pl−pl−1) ,
Nq= ( ql−1 ) ( ql−q ) … ( ql−ql−1) ,
thỏa mãn 1<e , d<Nn, ( e , Nn) =1 và ed ≡1(mod Nn) Định lý Lagrange
trong lý thuyết nhóm suy ra rằng mN n
= In∀ m ∈ Ml(n) trong đó In là ma trận đơn vị trong Ml(n) Từ đó med=mvới mọi m ∈ Ml(n) Điều này cho
phép chúng ta mã hóa m thành c ≡me và giải mã bằng cách tính cd≡ m cho
các văn bản m ∈ Ml(n)
1.3.2 RSA trên nhóm đường cong elliptic (N Demytko [4], 1993)
Giả sử rằng p>3 là một số nguyên tố và a , b là các số nguyên được
chọn sao cho 4 a3+27 b2≠ 0(mod p) Nhóm đường cong elliptic theo
modulo p, được kí hiệu là Ep( a , b) Nhóm đường cong elliptic bù với
nhóm Ep( a , b) được kí hiệu là Ep( ´ a , b), đó là tập hợp các cặp
( x , y )∈ Zp× Zp thỏa mãn phương trình y2= x3+ax +b trên Zp, cùng với
một phần tử cũng kí hiệu là ∞; nhưng tọa độ y có dạng y=u √ v với
u , v ∈ Zp và v không phải là một bình phương trong Zp Phép toán + trên
´
Ep( a , b) được định nghĩa hoàn toàn tương tự như phép + trên Ep( a , b)
Bậc của các nhóm Ep( a , b) và Ep(a , b) ´ được kí hiệu tương ứng là
¿ Ep(a , b)∨ ¿ và ¿ Ep(a , b)∨ ´ ¿ ¿, các số này có thể tính được bằng các thuật toán thời gian đa thức
Chọn hai số nguyên tố phân biệt p , q và đặt n=pq Chọn a , b ∈ Z
N1= | Ep(a , b) | , N2= | Ep(a , b ) ´ | , M1= | Eq(a , b) | , M2= | Eq(a , b ) ´ |và
L=N1N2M1M2.
Chọn hai số nguyên e , d sao cho ed ≡1(mod L), hệ thức (ed )(x , y )=(x , y ) sẽ đúng với mọi x ∈ Zn và y= √ x3+ax +b Điều này cho phép chúng ta tiến hành mã hóa và giải mã như trong RSA gốc
Demytko đã đưa ra công thức tính cho xk trong hệ thức
( xk, yk) =k (x , y ) như sau, bằng cách đưa về tọa độ thuần nhất
x= X
Z , y =
Y
Z :
X2 i= ¿
Z2 i=4 Zi( Xi3+ a XiZi2+b Zi3) ( mod n) ,
X2 i +1=4 bZ Zi2Zi +12 + 2 Z ( a ZiZi+1+ XiXi+ 1) ( XiZi+1+ Xi+ 1Zi) ¿
− X ¿ ¿
Z2 i +1=Z ¿
xk= Xk
Zk .
Trang 51.3.3 RSA trên vành thương các đa thức
( El-Kassar A.N., R Hatary, Y Awad [2], 2004)
Xét vành đa thức Zp[ x ] với p là một số nguyên tố Chọn hai đa
thức bất khả quy g ( x ), h ( x )∈ Zp[ x ] có bậc tương ứng là r , s và đặt
f ( x )=g ( x ) h(x) Số các phần tử khả nghịch trong các vành thương
Zp[ x ]/ ¿<g(x)>, Zp[ x ]/ ¿<h(x)> và Zp[ x ]/ ¿<f(x)> tương ứng là pr−1,
ps−1 và L= ( pr−1 ) ( ps−1 ) Hệ thức m(x)ed= m(x ) đúng với mọi
m(x)∈ Zp[ x]/¿ f ( x )> ¿, trong đó e , d là các số nguyên được chọn sao cho
ed ≡1(mod L) Hệ thức này cho phép mã hóa văn bản
m (x ) ∈ Zp[ x ] / ¿ f ( x )> ¿ thành c ( x )=me
( x) và sau đó giải mã c (x ) thành
cd( x )=m(x )
1.3.4 RSA trên vành thương các số nguyên Gauss
( El-Kassar A.N., R Hatary, Y Awad [2], 2004)
Vành số nguyên Gauss là vành X = { a+bi :a , b ∈ Z } , vành con của
trường số phức C Chuẩn trên X được tính bởi δ (a+bi)=a2+ b2 Các ước
của đơn vị trong X là 1 ,−1 , i,−i Một phần tử q ∈ X là nguyên tố khi và
chỉ khi q là tích của ước đơn vị với một trong các phần tử có dạng sau:
i α=1+i, khi đó q được gọi là phần tử nguyên tố dạng α
ii π=a+bi với π ´π=a2+b2 là số nguyên tố thông thường có
dạng 4 k +1, khi đó q được gọi là phần tử nguyên tố dạng π
iii p là số nguyên tố thông thường có dạng 4 k +3, khi đó q được
gọi là phần tử nguyên tố dạng p
Hàm Euler tại phần tử nguyên tố q có giá trị là φ (q )=δ (q)−1 Trong biến thể này, chọn hai phần tử nguyên tố β , γ ∈ X và tính η=βγ Khi đó φ (η )=φ ( β ) φ (γ )= ( δ ( β )−1 ) (δ (γ )−1) Các khóa e,dđược chọn thỏa
ed ≡1(mod φ (η)) Văn bản m∈ X mà δ (m)<δ(η) sẽ mã hóa thành
me≡ c (mod η) c sẽ được giải mã bằng cách tính cd≡ m(mod η)
1.4 Thiết lập sơ đồ cho RSA
Bài toán lập sơ đồ cho RSA hoặc mở rộng RSA cũng là một bài toán được nhiều tác giả khảo sát Có thể kể ra đây các công trình của Tsuyoshi Takagi trong đó đưa ra sơ đồ cho RSA với trường cơ sở là trường các số đại
số trên Q Hàm mã hóa f ( m)=me được mở rộng thành hàm bậc hai theo hai biến bởi các tác giả Kobayashi K., Koyama K hoặc mở rộng thành một đa thức bậc e trên trường cyclotomic bởi tác giả Uematsu.Y et al Tác giả Koyama K sau đó đưa ra sơ đồ cho RSA với hàm mã hóa là một phân thức theo hai biến trên nhóm elliptic
1.5 Thám mã RSA
Thật khó mà liệt kê ra hết các công trình thám mã RSA Các kết quả đáng ghi nhận nhất thuộc về M Wiener đưa ra năm 1990 [3] Điều kiện do
Wiener đưa ra bằng phương pháp thám mã dùng liên phân số là d <n
1
4 Một kết quả đáng ghi nhận khác, thực hiện bằng cách tìm nghiệm gần đúng có nghịch đảo nhỏ, do D Boneh và G Durfee đưa ra [1], thực hiện được khi
d <n0.292
4.1.3 Thám mã RSA bằng dàn hai chiều
Trang 6Dàn là một công cụ thám mã được nhiều tác giả nghiên cứu trong thời gian
gần đây Cách thám mã RSA bằng dàn hai chiều đã được đề cập đến trong
phần 3.2.3
CHƯƠNG 2: XÂY DỰNG SƠ ĐỒ CHO RSA
2.1 RSA trên vành thương của vành Euclid
Định nghĩa 2.1 Một miền nguyên có đơn vị X được gọi là một vành Euclid
a=bq+r trong đó hoặc r =0 hoặc δ (r )<δ (b).
Ánh xạ δ trong định nghĩa trên thường được gọi là ánh xạ Euclid
hoặc là chuẩn trên X Phép chia Euclid trong X sẽ sinh ra một loạt các khái
niệm tương tự như trong vành số nguyên Z
Trong phần này, chúng ta giả sử rằng X là một vành Euclid và với
mỗi α ∈ X, vành thương X / ¿ α> ¿ là hữu hạn Số các phần tử khả nghịch
trong vành thương X / ¿ α> ¿ sẽ được kí hiệu là φ (α) Để đi đến hệ thức
φ ( p q)=φ ( p) φ(q), trước hết chúng tôi phát biểu mệnh đề tổng quát sau
Mệnh đề 2.1 Giả sử Y là vành giao hoán có đơn vị, A và B là các ideal
Từ mệnh đề trên, chúng ta có ngay tính chất nhân tính của hàm φ (.)
Hệ quả 2.1 Với α , β ∈ Xmà gcd ( α , β )=1 thì φ (α β )=φ (α ) φ( β).
Chúng ta sẽ đi đến hệ thức cơ bản trong RSA Kí hiệu [ a] được
dùng để chỉ phần tử chứa a trong vành thương X / ¿ γ> ¿ với a , γ ∈ X
Mệnh đề 2.2 Giả sử p , q là các phần tử nguyên tố trong vành Euclid X.
e , d là các số nguyên thỏa gcd ( e , φ ( pq) ) = 1 và ed ≡1(mod φ ( pq )) Khi
2.1.1 Sơ đồ hệ mã hóa RSA trên vành thương của vành Euclid
.Chọn số nguyên e thỏa mãn gcd ( e , φ ( pq) ) =1 .Tính d ≡e−1(mod φ ( pq ))
.Công bố n=pq và e như khóa công khai, giữ d làm khóa riêng
.Văn bản m được mã hóa thành c=me∈ ¿
2.1.2 So sánh với các hệ mã RSA đã biết
Hệ mã RSA gốc, các hệ mã RSA trên vành thương các đa thức và vành thương các số nguyên Gauss trong phần 1.2 đều thuộc về sơ đồ trên
2.2 Sơ đồ cho RSA trên nửa nhóm 2.2.1 Sơ đồ
Giả sử Y là một tập khác rỗng, trên đó đã xác định một phép toán hai ngôi ¿ sao cho với phép toán này, Y là một nửa nhóm, tức là phép toán ¿
có tính kết hợp Chúng tôi sẽ kí hiệu ¿ theo lối nhân Giả sử X ⊂Y là tập con khác rỗng là tập các văn bản cần mã hóa theo kiểu RSA Chúng tôi đưa
ra một số điều kiện sao cho hệ thức med=m xảy ra trên X như sau
Mệnh đề 2.3 Giả sử rằng
Trang 7b Tồn tại hai nhóm U1⊂U ,U2⊂U và hai nhóm V1⊂V , V2⊂V
ánh.
Với các giả thiết như trong mệnh đề trên, chúng ta có thể xây dựng
trên X hệ mã RSA như sau
Hệ mã RSA trên nửa nhóm nhân
-Công bố e như là khóa công khai và giữ d làm khóa riêng.
-Một văn bản m ∈ X được mã hóa thành c=me
2.2.2 So sánh với các hệ mã RSA đã biết
Hệ mã RSA gốc và các biến thể của nó trong phần 1.2 đều thuộc về
sơ đồ trên
2.3 Xây dựng biến thể của RSA
2.3.1 Vành Bergman
Năm 1974 Bergman đã thiết lập được kết quả tập các tự đồng cấu
End (Zp× Zp2) từ Zp× Zp2 vào chính nó là một vành có p5 phần tử, trong
đó p là một số nguyên tố Đến 2011, J.J Climent et al mới thiết lập được
đẳng cấu giữa vành Bergman với vành các ma trận vuông kích thước 2 ×2 Phần này sẽ tóm tắt các kết quả cần thiết về vành Bergman
Định lý 2.1 (J.J.Climent et al.) Với p là số nguyên tố, tập hợp
Ep= { [ pc d a b ] : a , b , c , d ∈ Z , 0 ≤ a , b , c< p , 0 ≤ d <p2
}
là một vành không giao hoán với phép cọng, phép nhân được định nghĩa bởi
[ a1 b1
p c1 d1] + [ a2 b2
p c2 d2] = [ ( a1+a2) mod p ( b1+ b2) mod p
p ( c1+ c2) mod p2 ( d1+ d2) mod p2] ,
[ a1 b1
p c1 d1] . [ a2 b2
p c2 d2] = [ ( a1a2) mod p (a1b2+b1d2) mod p
p ( c1a2+ d1c2) mod p2
( p c1b2+d1d2) mod p2] .
x= [ pc d a b ] ∈ Ep(a , b , c , d ∈ Z , 0≤ a , b , c < p , 0 ≤d < p2
) có thể viết dưới
dạng x= [ pc pu+v a b ] với a , b , c ,u , v ∈ Zp
Xét các phép chiếu π1: Zp× Zp2→ Zp, π2: Zp× Zp2→ Zp2 và hai tự đồng cấu của σ , τ của Zp× Zp2 xác định bởi σ ( x , y )=( y mod p , 0) và
τ ( x , y )=(0 , px) Vành End (Zp× Zp2) được mô tả qua hai định lý sau
Định lý 2.2 (J.J.Climent et.al.) Nếu p là một số nguyên tố thì
End ( Zp× Zp2) = { a π1+b σ +c τ +d π2:a , b , c , d ∈ Z ,0 ≤ a , b , c < p , 0≤ d < p2
} .
Định lý 2.3 (J.J.Climent) Ánh xạ Φ : End ( Zp× Zp2) → Ep định nghĩa bởi
Trang 8Φ ( a π1+ b σ +c τ +d π2) = [ pc d a b ]là một đẳng cấu vành.
Như vậy, mỗi phần tử của vành End ( Zp× Zp2) có thể đồng nhất với
một ma trận kích thước 2 ×2 dạng [ pc pu+v a b ] hoặc
[ pc d a b ] (a , b , c , d ∈ Z , 0≤ a , b , c < p , 0 ≤d < p2
)
Định lý 2.4 (J.J.Climent et.al.) M= [ pc pu+v a b ] ∈ Ep với
a , b , c ,u , v ∈ Z , 0≤ a , b , c ,u , v< p là khả nghịch nếu và chỉ nếu a ≠ 0 và
v ≠ 0.
Có thể suy ra ngay số phần tử khả nghịch trong Ep là p3( p−1)2
2.3.2 Xây dựng biến thể cho RSA dựa trên vành Bergman
2.3.2.1 Xây dựng nửa nhóm cơ sở
Giả sử p , q là hai số nguyên tố phân biệt và n=pq Kí hiệu
En= { [ nc d a b ] :a , b , c , d ∈ Z , 0≤ a , b , c <n , 0 ≤ d<n2
} .
Có thể kiểm tra được rằng phép nhân, kí hiệu “.” định nghĩa bởi
[ a1 b1
n c1 d1] . [ a2 b2
n c2 d2] = [ ( a1a2) mod n (a1b2+b1d2)mod n
n ( c1a2+ d1c2) mod n2 ( n c1b2+d1d2) mod n2]
là một phép toán hai ngôi trên En
Bây giờ ta định nghĩa:
-ánh xạ μ : En→ Ep
[ pqc d a b ] ↦ [ ap bp
p cp dp]
trong đó ap, bp, cp, dp∈ Z , 0≤ ap, bp, cp< p , 0 ≤dp< p2,
và ap≡ a (mod p) ,bp≡ b (mod p) , cp≡ qc (mod p) , dp≡d (mod p2)
- ánh xạ η : En→ Eq
[ pqc d a b ] ↦ [ aq bq
q cq dq]
trong đó aq,bq, cq, dq∈ Z ,0 ≤ aq, bq, cq< q , 0 ≤ dq< q2,
và aq≡ a (mod q ) ,bq≡ b (mod q ) , cq≡ pc (mod q) , dq≡d (mod q2
)
Có thể thấy rằng μ và η hoàn toàn được xác định
Mệnh đề 2.5 μ và η là các đồng cấu.
Mệnh đề 2.6 Ánh xạ θ xác định bởi
M ↦ θ ( M)=(μ ( M ) , η( M ))
là một đơn ánh.
Bây giờ chúng ta sẽ kí hiệu bởi E¿p
và Eq¿
tương ứng là tập các phần
tử khả nghịch trong Ep và Eq, khi đó E¿p
và Eq¿
sẽ là các nhóm nhân Ngoài
ra, kí hiệu X = { M ∈ En: μ (M ) ∈ E¿pvà η(M )∈ Eq¿
} .
Chúng tôi thiết lập hệ thức tương tự như hệ thức med=m trong hệ
mã RSA gốc trên X như sau
Trang 9Mệnh đề 2.7 Nếu e,d là các số nguyên thỏa mãn các điều kiện
ed ≡1(mod L), L=lcm (p3( p−1)2, q3(q−1)2) thì Med=M với mọi
M ∈ X.
Chú ý 3.1 Mệnh đề 3.3 thật ra là hệ quả của Mệnh đề 2.3 trong đó Y =En,
U =Ep, V =Eq, U1=U2= E¿p
và V1=V2= Eq¿
2.3.2.2 Sơ đồ hệ mã
Sinh khóa.
- Chọn hai số nguyên tố phân biệt p , q Tính n=pq
- Tính L=lcm (p3
( p−1)2, q3(q−1)2
)
- Chọn số nguyên e thỏa mãn gcd ( L , e )=1(0<e<L)
- Tính d ≡e−1(mod L), độ phức tạp của việc tính d là O(log3L)
-Công bố n và e như là khóa công khai, giữ d làm khóa riêng
-Chọn ngẫu nhiên a , c ,u , v ∈ Zn thỏa gcd ( a ,n )=1, gcd ( v ,n )=1
-m sẽ mã hóa bằng cách tính C=Me với M= [ nc nu+ v a m ] ∈ En
2.3.2.3 Độ phức tạp tinh toán
Độ phức tạp tính toán trong các quá trình mã hóa và giải mã của hệ
mã chúng tôi gấp 3 lần so với hệ mã RSA gốc, Tuy vậy điều này có thể khắc
phục được nếu đưa thêm các văn bản cần mã hóa vào c ,u của ma trận M
2.3.2.4 Thám mã
Chúng tôi chỉ khảo sát các cánh tấn công theo kiểu chọn văn bản
gốc và bằng dàn hai chiều vào hệ mã đề nghị Hê mã chúng tôi có thể tránh
được cách tấn công theo kiểu chọn văn bản trước (chosen-plaintext attack)
do có thể chọn các thành phần ngẫu nhiên trong ma trân M Xác suất để cách
tấn công dàn hai chiều vào hệ mã chúng tôi thành công là nhỏ hơn n
1 4
n3=
1
n
11 4
Xác suất này nhỏ hơn nhiều so với xác suất tương ứng của cách tấn công
dàn thành công vào hệ mã RSA gốc là 1
n
3
4
CHƯƠNG 3: THÁM MÃ RSA
3.1 Thám mã RSA bằng dàn hai chiều 3.1.1 Đặt vấn đề
Khi lập trình tấn công RSA bằng dàn hai chiều, chúng tôi phát hiện
ra rất nhiều trường hợp dự đoán trong cách tấn công này là không đúng, tức
là vector t trong 3.2.3 không phải là một vector ngắn nhất của dàn L Từ kết
quả này, chúng tôi đặt ra bài toán:“Tìm hằng số α >0 sao cho khi d <α n
1 4
3.1.2 Điều kiện để tấn công dàn hai chiều vào RSA luôn thành công
Nếu áp dụng thuật toán Gauss vào một cơ sở v1, v2 của dàn hai chiềuL ⊂R2 ta sẽ nhận được cơ sở thu gọn v ´1, ´v2 với ∥ ´v1∥≤∥ ´v2∥ Khi đó
´
v1 sẽ là một vector ngắn nhất của dàn L Thật ra, v ´2 là vector có độ dài nhỏ nhất trong số các vector của dàn L độc lập tuyến tính với v ´1
Trang 10Mệnh đề 3.1 Giả sử L ⊂R2 là dàn hai chiều sinh bởi hai vector độc lập
∥ v ∥≤ ∥ ´v2∥ thì sẽ tồn tại số nguyên s mà v=s ´v1.
Bây giờ xét hệ mã RSA với các kí hiệu thông thường và với điều kiện cân
bằng 1
2 √ n< p , q<2 √ n Chúng tôi đạt được kết quả sau.
Mệnh đề 3.2 Nếu d < 2
√ 29 n
1
3.1.3 Nhận xét về phương pháp tấn công RSA bằng dàn hai chiều
Bằng thực nghiệm chúng tôi nhận thấy rằng khi d <n
1
4 mà d ≈ n
1
4 thì
tỷ lệ tấn công được rất cao, tức là t vẫn là một vector ngắn nhất của dàn L
Điều này làm chúng tôi nghĩ rằng tấn công RSA bằng dàn hai chiều vẫn còn
tất định nếu thêm vào một số điều kiện nào đó
Nếu điều kiện cân bằng được thay bằng p<q <2 p, chúng tôi nhận
được kết quả: nếu d < 1
√ 4+2 √ 2 n
1 4
thì t là một vector ngắn nhất của dàn L
3.2 Bài toán DLP trên nhóm GL(2, p)
3.2.1 Đặt vấn đề
Bài toán logarit rời rạc (DLP-discrete logarithm problem) được
quan tâm ngay từ khi giao thức trao đổi khóa Diffie-Hellman ra đời Có rất
nhiều công trình khảo sát các phương pháp giải bài toán DLP trên một
trường hữu hạn cho trước Việc áp dụng các phương pháp này giải bài toán DLP trên nhóm nhân các ma trận còn rất phức tạp do mất nhiều tính toán
3.2.2 Bài toán DLP trên nhóm GL(2, p)
Giả sử p là số nguyên tố, GL(2, p) là nhóm nhân các ma trận vuông cấp 2 không suy biến hệ số trên Zp Bài toán DLP trên GL(2, p) là bài toán:
(3.4)
Nghiệm k của bài toán nếu tồn tại sẽ được xác định duy nhất theo
modulo d với d là bậc của ma trận A trong nhóm GL(2, p) Giả sử
A= ( a11 a12
a21 a22), B= ( b11 b12
b21 b22), ma trận đơn vị sẽ kí hiệu là I= ( 1 0 0 1 )
3.2.3 Ý tưởng với nhận xét rằng việc giải bài toán (3.4) sẽ đơn giản hơn rất
nhiều khi A là ma trân chéo, chúng tôi dựa vào dạng chéo Jordan của A để
làm đơn giản hóa việc giải bài toán (3.4)
3.2.4 Chéo hóa Jordan của ma trận
Việc đưa ma trận A về dạng chéo Jordan bao gồm tìm một ma trận
P ∈GL(2, p) và một ma trận dạng chéo Jordan D sao cho D¿ P−1AP Chúng tôi tóm tắt lại như sau Đa thức theo một biến z
ρA( z )=det ( A−zI )= ( a11−z ) ( a22−z ) −a12a21
được gọi là đa thức đặc trưng của ma trận A Nếu ρA( z) không có nghiệm trong Zp, ta sẽ mở rộng Zp theo một nghiệm α của ρA( z) để được trường
mở rộng Zp(α )={a α + b : a , b ∈ Zp} Như vậy ρA( z) luôn có 2 nghiệm
z1, z2 (trong Zp hoặc Zp( α)) Có các trường hợp sau