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 (1009.34 KB, 32 trang )
16
mij (c1,ij kij ) mod 2 | 0 j n 1
mij ki ( j n ) | n j 2n 1.
3.3.6. Phân tích độ an toàn lý thuyết của QRHE
Với độ an toàn khóa
2n , xác suất để kẻ tấn công
đoán
đúng khóa là 2 n là một hàm không đáng kể của biến n nên có thể coi
là an toàn với tấn công này. Trên thực tế cần chọn n 1024 và cỡ
khoảng 4096 (tương ứng với độ dài bit của giá trị modulus được
khuyến nghị của hệ mật RSA trên thực tế.
Về lý thuyết,
có thể sử dụng tấn công vét cạn để tìm bản rõ
nhưng điều này là không thực tế vì trong QRHE, độ an toàn bản rõ còn
lớn gấp đôi độ an toàn khóa.
Để tránh được các tấn công EAV và CPA, cần lựa chọn KEM
là các hệ mật xác suất, ví dụ OAEP-RSA. Ngoài ra, để khắc phục
nhược điểm này, có thể sử dụng QRHE ở chế độ CBC.
3.3.7. Phân tích hiệu năng lý thuyết của QRHE
Các thuật toán tạo khóa, mã hóa và giải mã của QRHE đều chỉ
là các phép cộng đa thức trong R2n với độ phức tạp tính toán O ( n) dễ
dàng thực hiện bằng phần cứng và phần mềm.
3.4. HỆ MẬT KHÓA CÔNG KHAI IPKE
3.4.1. Giới thiệu
Việc sử dụng các phần tử khả nghịch trên vành Rn,q trong mật
mã khóa công khai đã được hiện thực hóa với hệ mật NTRU. Tuy
nhiên, NTRU phải lưu tới hai khóa bí mật, hệ số mở rộng bản tin trong
khá cao (khoảng từ 3 đến 5) và chưa có độ an toàn ngữ nghĩa. Vấn đề
đặt ra là có thể xây dựng một hệ mật khóa công khai trên vành đa thức
chẵn để khắc phục những hạn chế này.
17
Quay trở lại với RISKE, hệ mật này sử dụng một khóa bí mật
s khả nghịch nào đó trong vành đa thức R2k để che dấu bản rõ M
bằng bản mã c M s và khôi phục lại M s 1 c với s 1 là nghịch
đảo của s . Trong trường hợp s không khả nghịch sẽ không thể tìm
M một cách dễ dàng bằng cách tính M s 1 c .
Ý tưởng, ở đây là thay vì chọn s là một khóa khả nghịch và
giữ bí mật, liệu có thể sử dụng một đa thức không khả nghịch h trong
R2k làm khóa công khai để che dấu bản rõ bằng phép nhân đa thức
c h M mà vẫn giải mã được bản rõ M nếu biết một cửa sập bí
mật nào đó.
Với ý tưởng như vậy, trong mục này, nghiên cứu sinh sẽ đề
xuất một phương pháp xây dựng hàm cửa sập dựa trên các phần tử khả
nghịch trong R2k qua đó đề xuất một hệ mật khóa công khai có tên là
IPKE có thủ tục tính toán đơn giản, chỉ sử dụng một khóa bí mật có
kích thước nhỏ, hệ số mở rộng bản tin thấp và có độ an toàn IND-CPA.
Để xây dựng hệ mật, Alice và Bob thống nhất chọn một số
nguyên dương k xác định vành đa thức nền tảng và một số nguyên
dương p 2k xác định độ dài bản rõ m .
3.4.2. Thủ tục tạo khóa
Để tạo khóa, Bob chọn ngẫu nhiên hai đa thức khác zero
k 1
s1 , s2 R2k 1 để tính s s1 x 2 s2 . Tiếp đó, Bob sử dụng Thuật toán
2-1 để tính 2k bit khóa bí mật với đầu vào s . Cuối cùng Bob tính
2 k bit khóa công khai h s ( x p 1) và gửi h tới Alice.
Lưu ý rằng, do khóa s cần phải thay đổi theo phiên nên h
cũng cần thay đổi theo từng phiên để đảm bảo khả năng chống tấn công
CPA.
18
3.4.3. Thủ tục mã hóa
Để mã hóa ( p 1) bit bản rõ m , Alice đầu tiên tính p bit
M w(m) 1 mod 2.x p 1 m sau đó tính p bit bản mã c M h và
gửi c tới Bob.
3.4.4. Thủ tục giải mã
Khi nhận được bản mã c , Bob dùng khóa bí mật tính
d c và khôi phục p bit M bằng cách tính M i 0 di x i
p 1
với
d
di , i [0, p 1] là các hệ số của đa thức d trong biểu diễn
2k 1
i 0
di xi .
Cuối
m M p 1.x
p 1
cùng,
từ
d,
Bob
tính
( p 1)
bit
bản
rõ
M với M p 1 là hệ số ứng với đơn thức x p 1 trong
biểu diễn đa thức của M .
3.4.5. Phân tích độ an toàn lý thuyết của IPKE
Kẻ tấn công
nhận được c có thể thử vét cạn 2 p bản rõ m
cho đến khi đạt được m h c hoặc thử vét cạn S 2k 22
k
1
22
k 1
k 1
khóa bí mật cho đến khi h 1 x 2 .
Với k 11 và p 1023 thì độ an toàn khóa và độ an toàn bản
rõ của IPKE lần lượt là 21023 và (22047 21024 ) xác suất để kẻ tấn công
vét cạn khóa và bản tin là không đáng kể và có thể coi IPKE là an toàn
với các tấn công kiểu này.
IPKE là hệ mật có độ an toàn IND-CPA nếu s được chọn ngẫu
nhiên phân bố đều trong S 2k (được chứng minh chi tiết trong định lý
3-3 của luận án).
19
3.4.6. Phân tích hiệu năng lý thuyết của IPKE
Ưu điểm quan trọng của IPKE là cả hai thủ tục mã hóa và giải
mã đều sử dụng phép nhân đa thức modulo O(n 2 ) như NTRU trong
khi RSA phải sử dụng hàm mũ modulo với độ phức tạp O(n3 ) . Ngoài
ra, với cùng độ dài khóa công khai, IPKE chỉ cần sử dụng n bit khóa
bí mật s trong khi NTRU sử dụng hai khóa f và Fp với tổng độ dài
là 2n bit.
3.5. KẾT LUẬN CHƯƠNG
Ba hệ mật được giới thiệu trong chương này về cơ bản chứng
minh vành đa thức chẵn R2n hoàn toàn có thể ứng dụng được trong
mật mã. Cụ thể hơn, ba hệ mật xây dựng được trên vành chẵn R2n đều
có thuật toán tạo khóa, mã hóa và giải mã đơn giản, đòi hỏi ít tài
nguyên tính toán và có hệ số mở rộng bản tin nhỏ.
Nếu như RISKE là một hệ mật khóa bí mật có độ an toàn chứng
minh được IND-CPA nhưng có nhược điểm phải sử dụng khóa phiên
thì QRHE là một biến thể hoạt động theo mô hình lai ghép với khóa bí
mật tự sinh từ nội dung bản tin và có hiệu quả mã hóa rất cao. Bên
cạnh đó, trong khi QRHE phải hoạt động dựa trên một hệ mật khóa
công khai có sẵn theo mô hình lai ghép KEM/DEM thì IPKE là một
hệ mật khóa công khai có thể hoạt động độc lập trên vành chẵn R2k
với nhiều mức độ an toàn khác nhau.
Ngoài ra, các hệ mật như QRHE và RISKE là nền tảng phù hợp
để xây dựng các hệ mật lai ghép có đặc tính tốt. Các hệ mật này hứa
hẹn sẽ cải thiện tốt hệ số mở rộng bản tin của một hệ mật khóa công
khai như Elgamnal, NTRU, pNE…).
20
CHƯƠNG 4. CÁC HỆ MẬT MỞ RỘNG DỰA TRÊN VÀNH
ĐA THỨC CHẴN KẾT HỢP VỚI CÁC VÀNH ĐA THỨC
KHÁC
4.1. MỞ ĐẦU CHƯƠNG
Trong chương này, bằng cách kết hợp vành đa thức chẵn tuyệt
đối R2k và vành đa thức chỉ có hai lớp kề cyclic R2C , luận án đề xuất
ba hệ mật mới bao gồm DTRU, E-RISKE và HpNE tương ứng với ba
công trình [J2], [C3] và [C1] của nghiên cứu sinh.
Các hệ mật được mô tả tường minh từ ý tưởng xây dựng cho
đến các thuật toán (tạo khóa, mã hóa và giải mã) cũng như được đánh
giá về hiệu năng và độ an toàn với một số tấn công phổ biến.
4.2. HỆ MẬT KHÓA CÔNG KHAI DTRU
4.2.1. Giới thiệu
Ý tưởng then chốt của NTRU là mã hóa một bản rõ m , tương
ứng với một đa thức có hệ số nhỏ (theo modulo p trong R ), thành
một bản mã e , tương ứng với một đa thức có hệ số lớn (theo phép tính
modulo q trong R ) với điều kiện q p và gcd( p, q) 1 . Bên cạnh
đó, để mã hóa và giải mã thành công, NTRU phải sử dụng một khóa
bí mật f là một đa thức khả nghịch đồng thời theo hai modulo p và
q trong R .
Theo Định lý 2-1 và Định lý 2-3, các đa thức có trọng số lẻ
trong các lớp vành R2k hoặc R2C đều là khả nghịch. Hơn nữa, nếu
a N 2k và b N 2C thì chắc chắn gcd( a, b) 1 vì a là một số chẵn
còn b là một số nguyên tố lẻ.
21
Ý tưởng ở đây là, thay vì một đa thức f khả nghịch trong R
theo hai modulo p và q , ta sẽ sử dụng đa thức f khả nghịch đồng
thời trong hai vành
RS Z 2 [x] / ( x S 1) và RL [ x] Z 2 [x] / ( x L 1)
với S N 2C , L N 2k và S L để xây dựng một biến thể của NTRU
có tên là DTRU.
4.2.2. Thủ tục tạo khóa
Bob chọn một đa thức f RS khả nghịch đồng thời trên RS
và RL và tìm FS RS và FL RL thỏa mãn FL f 1 trong RL và
FS f 1 trong RS . Tiếp đó, Bob chọn ngẫu nhiên một đa thức khác
không g RS và tính L bit khóa công khai h g FL ( x S 1) RL .
Bob giữ ( f , FS ) làm hai khóa bí mật ( FL có thể bỏ đi).
4.2.3. Thủ tục mã hóa
Để mã hóa S bit bản rõ m , Alice chọn ngẫu nhiên một đa
thức khác zero RS và tính e h m RL sau đó gửi L bit bản
mã e tới Bob.
4.2.4. Thủ tục giải mã
Khi nhận được e , Bob tính a f e RL và dựa vào đó khôi
phục m FS a RS .
4.2.5. Phân tích độ an toàn lý thuyết của DTRU
Xác suất để
2 ( S 1) . Xác suất để
1
2 ( S 1) . Nếu chọn S 1024 thì giá trị này rất nhỏ. Ưu điểm
f
RS
tấn công vét cạn thành công khóa bí mật là
1
tấn công vét cạn thành công bản rõ là
của DTRU là hai giá trị độ an toàn của bản rõ và khóa là luôn cân bằng.