NỘI DUNG
1. Mô hình thực hiện
2. Phân tích thời gian phá mã
3. Phân tích thời gian thực hiện
4. Các mô hình áp dụng trong lưu trữ,
truyền thông có thể áp dụng được
1
MÔ HÌNH THỰC HIỆN
2
Cơ sở toán học của RSA
Bài toán
p, q: số nguyên tố
φ (n) = (p-1)*(q-1)
bφ (n)=1 (mod n)
Công thức tính toán
ab≡ 1 (mod φ (n))
xab = x(tφ (n)+1) = xtφ (n)x1 = 1x = x
3
Khóa công khai
Thông điệp
gốc
Mã hóa
Khóa riêng
Thông điệp
đã mã hóa
Giải mã
Thông điệp
được giải mã
4
Khái niệm hệ mật mã RSA đã được ra
đời năm 1976 bởi các tác giả
R.Rivets, A.Shamir và L.Adleman. Hệ
mã hóa này dựa trên cơ sở của hai
bài toán:
Bài toán Logarithm rời rạc
Bài toán phân tích thành thừa số
5
6
Một số vấn đề liên quan đến hệ
RSA
• Hệ thống dựa trên việc khó khăn
phân tích hai thừa số p, q từ n.
Một số khó khăn trong triển khai
• Tính số nguyên tố p, q với số lượng
bit 1024, 2048
• Tính giá trị e, d (euclid mở rộng)
• Tốc độ tính toán của xa, yb
7
PHÁ MÃ RSA
8
TẤN CÔNG VÉT CẠN
•
Là phương pháp thử tất cả các khóa riêng có thể
•
Phụ thuộc vào độ dài khóa
•
Việc thực thi phức tạp làm giảm tốc độ thực hiện
9
TẤN CÔNG TOÁN HỌC
•
Phương pháp sử dụng Φ(n)
Giả sử biết được giá trị của Φ(n). Khi đó việc xác
định giá trị p, q đươc đưa về việc giải hai phương
trình sau:
n = p.q
Φ(n) = (p - 1)(q - 1)
- Việc phát hiện được giá trị của Φ(n) còn khó hơn
việc xác đinh p, q
10
TẤN CÔNG TOÁN HỌC
•
Phân tích ra thừa số p -1
Nhập n và B
1. a = 2
2. for j = 2 to B do
a = ai mod n
3. d = gcd(a − 1, n)
4. if 1 < d < n then
d là thừa số nguyên tố của n
else
không xác định được thừa số nguyên tố của n
11
TẤN CÔNG TOÁN HỌC
•
Phân tích ra thừa số p -1 (tiếp)
Độ phức tạp của thuật toán là O(B log B(log n)2
+ (log n)3 )
Tuy nhiên xác suất chọn giá trị B tương đối nhỏ
và thỏa điều kiện
(p-1) | B! Là rất thấp
Nếu tăng giá trị B (B ≈n ) thì giải thuật sẽ thành
công nhưng thuật toán này không nhanh hơn
thuật toán đã trình bày bên trên
Giải thuật này chỉ hiệu quả khi tấn công phương
pháp RSA trong
trường hợp n có thừa số
nguyên tố p mà (p -1) có các ước số nguyên
tố rất nhỏ
12
TẤN CÔNG TOÁN HỌC
Bẻ khóa dựa trên các tấn công lặp lại
Khi biết cặp khóa công khai (n,b) và từ khóa
Ví dụ:
C ta có thể tính chuỗi các từ khóa sau:
{n, b, C} = {35, 17, 3}
C1 =Cb (mod n)
Ta có: C1 = Cb (mod n) = 317 (mod 35) =33
C2=C1b (mod n)
………….
C2 =C1b (mod n)= 3317 (mod 35)= 3
Vì C2 = C nên M = C1 = 33
Ci=Ci-1b (mod n)
Nếu có 1 phần tử Cj = C thì ta sẽ tìm được
M = Cj-1 vì:
Cj = Cj-1b (mod n)
C = Mb (mod n)
13
TẤN CÔNG THỜI GIAN
•
Phát triển vào giữa năm 1990
•
Paul Kocher chỉ ra rằng kẻ thám mã có thể xác định
được khóa riêng nếu theo dõi thời gian máy tính cần
để giải mã các bản tin
•
Tấn công thời gian không chỉ áp dụng cho RSA, mà
cả với các hệ mã công khai khác
•
Tấn công thời gian giống như kẻ cướp đoán số điện
thoại bằng cách quan sát một người nào đó trong
bao lâu chuyển quay điện thoại từ số này sang số
khác
14
• Hiện nay mã hóa RSA 1024 bits đã bị phá vỡ
• Các nhà khoa học thuộc đại học Michigan vừa công
bố phát hiện ra một kẽ hở trong hệ thống mật mã
RSA, có thể lấy khóa bí mất RSA 1024 bits trong
vòng vài ngày thay vì vài năm nếu tấn công theo
các thông thường
• Thay vì tấn công bằng Brute force theo cách thông
thường, các nhà khoa học tạo ra một điện thế lớn
để gây lỗi hệ thống, từ đó giúp tìm ra khóa bí mật.
Việc tấn công được thực hiện trên một FPGA
15
16
Các phương pháp phòng chống
Thực hiện toán tử nâng lên luỹ thừa với thời gian không đổi: thực hiện
thay đổi thuật toán sao cho tất cả các phép nâng lên luỹ thừa chiếm cùng
khoảng thời gian kể từ khi bắt đầu thực hiện cho đến khi đạt tới kết quả.
Làm điều đó đơn giản, nhưng khi đó sẽ làm tăng thời gian thực hiện thuật
toán nói chung.
Các giữ chậm ngẫu nhiên: có ảnh hưởng nhỏ đến thời gian chung của sự
thực hiện gây ra bởi sự bổ xung trong thuật toán nâng luỹ thừa do các giữ
chậm ngẫu nhiên, dẫn đến giảm nhỏ tác dụng của thám mã dựa trên phân
tích chi phí thời gian.
Nhưng đồng thời như nhận xét của Kocher, nếu sự phòng vệ do bổ sung các
giữ chậm ngẫu nhiên không hoàn hảo, thì đối phương vẫn còn khả năng phân
tích, ngay cả trong trường hợp có ảnh hưởng của các giữ chậm ngẫu nhiên
này.
Che dấu: Nhân văn bản mã với một số ngẫu nhiên như là thực hiện nâng lên
luỹ thừa.
Điều này không cho phép đối phương biết các bit như thế nào của văn bản
mã đã được gia công bổ xung và đồng thời không tạo cho đối phương dẫn ra
sự phân tích theo loạt, đây là xu thế riêng được thực hiện dựa trên sự phân
tích chi phí thời gian.
17
Qua việc tìm hiểu thời gian hoạt
động của mã hóa công khai.Rút
ra một số nhận xét
Việc sử dụng cặp khóa không đối xứng tuy có điểm là quá trình giải mã
nhiều thời gian, nhưng với hệ mã này, bài toán giữ bí mật không những
giải quyết mà còn được ứng dụng rộng rãi, đảm bảo được bốn nội dung cơ
bản là: tính bí mật, tính toàn vẹn, tính xác thực và tính trách nhiệm.
Từ các kết quả trên cho thấy rằng khi dùng thuật toán RSA để mã hóa các
thông tin và chứng thực trong giao dịch điện tử, với mục đích bảo mật và
đảm bảo tính xác thực thì:
- Đỡ tốn công sức đầu tư cho hạ tầng bảo mật
- Độ bảo mật của thông tin tỉ lệ thuận với độ dài của khóa.
- Chiều dài của khóa 2048 bit tỏ ra là hiệu quả cho đến lúc bấy giờ.
- Tận dụng được tốc độ của máy tính trong việc mã hóa, giả mã và xác
thực.
18
CÁC MÔ HÌNH ÁP
DỤNG
19
4. Các mô hình có thể áp dụng
trong lưu trữ, tuyền thông.
4.1 Chữ ký điện tử
4.2 Bảo mật CSDL
4.3 Truyền khóa cho hệ mật
4.4 Một số ứng dụng khác của RSA