You are on page 1of 8

RSA vs DSA

I.RSA vs DSA
Tóm lược

DSA và RSA là hai thuật toán mã hóa phổ biến có thể nói là có sức mạnh ngang nhau

Hiệu suất của hai là những gì phân biệt cái này với cái kia

DSA nhanh hơn khi tạo khóa so với RSA

Mặt khác, RSA mã hóa nhanh hơn DSA

Khi giải mã, DSA nhanh hơn, chủ yếu là do khả năng giải mã tuyệt vời của nó

Nếu bạn cần ký kỹ thuật số, DSA là thuật toán mã hóa được lựa chọn

Để xác minh chữ ký số RSA là sự lựa chọn tốt nhất.

Tùy thuộc vào hoàn cảnh, sẽ cần phải lựa chọn, nhưng cả DSA và RSA đều có khả năng mã hóa
như nhau và tùy chọn có ít nhu cầu hơn về tài nguyên nên được chọn.

II: Kiến trúc chữ ký số RSA


1. Tổng quan
Cụ thể hơn:
2. Giải thuật và cài đặt giải thuật

2.1 Giải thuật RSA được dùng trong việc tạo khóa, mã hóa, giải mã.

Sơ đồ giải thuật :

Thuật toán RSA có hai Khóa:

- Khóa công khai (Public key): được


công bố rộng rãi cho mọi người và được
dùng để mã hóa

- Khóa bí mật (Private key):

Những thông tin được mã hóa bằng khóa


công khai chỉ có thể được giải mã bằng
khóa bí mật tương ứng
a. Tạo khóa

b. Mã hóa và giải mã
III Các điểm yếu của chữ ký số sử dụng giải thuật RSA
Chữ ký số sử dụng RSA

- Hiệu suất thực hiện thuật toán RSA

Tốc độ thực hiện của hệ RSA là một trong những điểm yếu so với các hệ mật mã
khóa đối xứng.

Theo ước tính, thực hiện mã hóa và giải mã bằng hệ mật mã RSA chậm hơn 100
lần so với hệ mã khóa đối xứng DES (Khi thực hiện bằng phần mềm). Và chậm
hơn 1000 lần so với DES (Khi thực hiện bằng phần cứng).

a.Chi phí:

Để thực hiện thuật toán RSA phần lớn tốn chi phí thực hiện các phép tính cơ bản
như : Tạo khóa, mã hóa, giải mã. Quá trình mã hóa, giải mã tương được với chi phí
thực hiện các phép tính lũy thừa module n. Để đảm bảo cho khóa bí mật được an
toàn thì thường chọn mũ công khai e nhỏ hơn nhiều so với số mũ bí mật d, do đó
chi phí thời gian để thực hiện mã hóa dữ liệu nhỏ hơn nhiều so với thời gian giải
mã.

b. Tốc độ của hệ RSA:

Tốc độ của RSA là một trong những điểm yếu của RSA so với các hệ mã đối
xứng, so với hệ mã DSA thì RSA chậm hơn từ 100 đến 1000 lần.

c.ưu và khuyết điểm RSA:

-RSA là một trong những thuật toán chữ ký số được hỗ trợ và triển khai rộng rãi nhất, mặc dù có
một động thái hướng tới các thuật toán mới hơn, hiệu quả hơn và an toàn hơn như ECDSA và
EdDSA.

Khi so sánh với DSA (mà chúng tôi sẽ đề cập trong phần tiếp theo), RSA nhanh hơn trong việc
xác minh chữ ký, nhưng chậm hơn trong việc tạo ra chúng. Vì chữ ký có xu hướng được tạo một
lần và được xác minh nhiều lần, RSA thường được ưa thích hơn DSA.
IV: thuật toán DSA:
- DSA sử dụng 1 cặp khóa công khai – khóa riêng. Trong cả giai đoạn ký và xác nhận
văn bản được ký thể hiện dưới dạng thông điệp rút gọn là kết quả của việc áp dụng
hàm băm SHA-1 lên văn bản cần ký

 Chọn một hàm băm – SHA-256 là tùy chọn phổ biến nhất để đáp ứng các yêu cầu bảo
mật hiện đại.
 Giải quyết về độ dài khóa, L và N – Những ngày này, L phải dài ít nhất 2.048 bit, trong
khi N nên có ít nhất 256 bit.
 Quyết định về một nguyên tố, q, đó là cùng chiều dài với N.
 Chọn một số nguyên tố, p, Ở đâu p-1 là bội số của q.
 Chọn một số, g, sử dụng công thức sau (trong đó h là một số tùy ý trong khoảng từ 1 đến
p-1):

a.Tạo khoá

• Chọn p là số nguyên tố L bit, sao cho 2L-1<p<2L , 512 ≤ L ≤ 1024, L chia hết cho 64.
• Chọn q là một số nguyên tố 160 bít và là ước số của p-1 với 2159<q<2160
• Chọn h, với 1 < h < p - 1 sao cho g = hz mod p > 1. (z = (p-1) / q.)
• Chọn x ngẫu nhiên, thoả mãn 0 < x < q.
• Tính giá trị y = gx mod p.

Khoá công là (p, q, g, y). Khoá riêng là x.

b. Tạo chữ kí số
• Tạo 1 số ngẫu nhiên với mỗi thông điệp, giá trị k thỏa mãn 0 < k < q
• Tính r = (gk mod p) mod q
• Tính s = (k-1(SHA-1(m) + x*r)) mod q, ở đây SHA-1(m) là hàm băm mã hóa SHA 1 áp
dụng cho thông điệp m
• Tính toán lại chữ ký trong trường hợp không chắc chắn khi r=0 hoặc s=0
• Dữ liệu được gửi đi là Văn bản M, chữ ký (r, s).

Kiểm tra chữ ký số:


• Loại bỏ chữ ký nếu hoặc 0< r <q hoặc 0< s <q không thỏa mãn.
• Tính w = (s)-1 mod q
• Tính u1 = (SHA-1(m)*w) mod q
• Tính u2 = (r*w) mod q
• Tính v = ((gu1*yu2) mod p) mod q
• Chữ ký là có hiệu lực nếu v = r
• Nếu v != r’ văn bản có thể đã được sửa đổi trên đường truyền hoặc khóa cá nhân mã hóa
văn bản không khớp với khóa công khai mà người nhận đang giữ (người gửi mạo danh)

V :Ưu điểm DSA & khuyết điểm


Tính bảo mật của DSA phụ thuộc vào việc nó có sử dụng đủ số lượng hay không. Ngoài p, q và
g tuân theo các tham số chính xác, giá trị của k cũng cần phải ngẫu nhiên Nó không phải là một
giá trị có thể dự đoán được, hoặc một giá trị được sử dụng nhiều lần. Nếu những yêu cầu này
không được đáp ứng, thì kẻ tấn công có thể lấy lại chìa khóa.

Mặc dù khả năng này, DSA thường được coi là an toàn miễn là nó được triển khai chính xác
và nó sử dụng các giá trị đầy đủ. Mặc dù nó tương đối an toàn, DSA không có xu hướng được
triển khai nhiều so với RSA hoặc các phương thức chữ ký số khác. Khi so sánh với RSA, nó có
thể tạo khóa nhanh hơn và cũng nhanh hơn trong việc tạo chữ ký số, nhưng chậm hơn trong việc
xác minh chúng.

Theo mặc định, phiên bản 7.0 của OpenSSH đã ngừng hỗ trợ các khóa DSA, đây dường như là
một dấu hiệu cho thấy thế giới đang di chuyển qua DSA và chuyển sang các thuật toán khác.

You might also like