ECDSA và RSA – Những điều cần biết

Nếu tìm hiểu về chứng chỉ SSL hoặc tiền điện tử bạn sẽ bắt gặp những chủ đề như “ECDSA vs RSA” (hoặc RSA vs ECC) được nói rất nhiều. Tất cả những từ này có nghĩa là gì, và tại sao chúng rất quan trọng?

Đó là vì hai trong số các thuật toán bất đối xứng được áp dụng phổ biến nhất trên thế giới là ECDSA và RSA. Khi nói đến cách chúng hoạt động và cách các khóa của chúng được tạo ra, tất cả các thuật toán này đều khác biệt đáng kể. Chúng ta sẽ giải mã tất cả các thuật toán mã hóa trên trong bài viết này để giúp bạn hiểu chúng là gì, cách chúng hoạt động và khám phá những lợi ích (và nhược điểm) đặc biệt của chúng. 

Hãy bắt đầu ngay bây giờ !

Mục lục

  • Thuật toán RSA: Nó là gì và nó hoạt động như thế nào
    • ECDSA và RSA: Điều gì làm cho RSA trở thành một lựa chọn tốt
  • Thuật toán ECDSA: Nó là gì và nó hoạt động như thế nào
    • ECDSA và RSA: Điều gì khiến ECC trở thành lựa chọn tốt hơn
  • ECDSA và RSA: Sự khác biệt của độ dài khóa
  • ECC vs RSA: Mối đe dọa từ máy tính lượng tử
  • RSA so với ECDSA: Tóm tắt
  • Lời cuối cùng: ECDSA và RSA

Thuật toán RSA là gì và nó hoạt động như thế nào

Thuật toán mã hóa bất đối xứng RSA (Rivest Shamir Adleman) được dùng rất phổ biến, khi nói đến giấy phép SSL / TLS, bitcoin, mã hóa email và một số công dụng khác, thuật toán RSA được sử dụng nhiều nhất.

RSA được phát minh vào năm 1977 bởi Ron Rivest, Adi Shamir và Leonard Adleman, khi nói đến các thuật toán mã hóa bất đối xứng, RSA đã trở thành tiêu chuẩn vàng. Để mã hóa một chiều thông điệp RSA sử dụng hình thức phân tích nhân tử chính. Hai số nguyên tố ngẫu nhiên có kích thước bằng titanic được thực hiện trong quá trình này và chúng được nhân lên để tạo ra một số khổng lồ khác.

Phép nhân hai số này rất đơn giản, nhưng để tính các số nguyên tố ban đầu từ số nhân này gần như là một nhiệm vụ khó khăn đối với các siêu máy tính hiện đại. phép toán này được gọi là phương pháp “thừa số nguyên tố” . Việc tìm ra hai số nguyên tố trong thuật toán RSA (nghĩa là crack hay bẻ khóa) là một công việc vô cùng khó , để có thể làm điều này một nhóm các nhà nghiên cứu có thể mất hơn 1.500 năm thời gian tính toán (được phân phối qua hàng trăm máy tính) .

ECDSA và RSA : Điều gì làm cho RSA trở thành một lựa chọn tốt

Xem xét thuật toán nào là lựa chọn hàng đầu của các chuyên gia kinh doanh trong gần ba thập kỷ, ta cần tính tới tính bền vững hay ổn định của nó. Năm 1994, RSA lần đầu tiên được chuẩn hóa và vẫn là thuật toán được sử dụng phổ biến nhất cho đến nay. Điều này cho thấy rằng RSA đã trải qua thử thách của thời gian. So với các thuật toán hiện tại như ECDSA, thì RSA là một thuật toán đã được nghiên cứu và kiểm tra rất tốt.

Tính linh hoạt là một yếu tố quan trọng giúp RSA khác biệt với các thuật toán khác. RSA dựa trên cách tiếp cận toán học cơ bản và dễ dàng kết hợp trong cơ sở hạ tầng khóa công khai (PKI). Đây là một trong những lý do cốt lõi tại sao thuật toán mã hóa phổ biến nhất vẫn là RSA.

Thuật toán ECDSA là gì và nó hoạt động như thế nào

Kế thừa của thuật toán chữ ký số là ECDSA (thuật toán chữ ký số theo đường cong elliptic), hoặc ECC (mật mã đường cong elliptic). ECDSA ra đời khi việc sử dụng các đường cong elip trong mật mã được đề xuất bởi hai nhà toán học tên là Neal Koblitz và Victor S. Miller. Tuy nhiên, thuật toán ECDSA đã mất gần hai thập kỷ để trở thành tiêu chuẩn hóa.

ECDSA là một thuật toán trong mật mã không đối xứng dựa trên các đường cong elip và một hàm cơ bản được gọi là “hàm cửa sập”. Đường cong elliptic là tập hợp các điểm (y2 = x3 + ax + b) thỏa mãn một phương trình toán học. 

Theo như chúng tôi được biết thì ECDSA sẽ được ứng dụng để mã hóa chữ kí số tại Việt Nam, được thực hiện bởi team CMC với trưởng nhóm là chuyên gia hàng đầu Đặng Minh Tuấn (mà ta thường biết đến như là tác gỉả của Vietkey). Và nghe đâu Việt Nam là nước đầu tiên áp dụng thuật toán này trong ứng dụng mả hóa lĩnh vực trên.

ECDSA và RSA: Điều gì khiến ECC trở thành lựa chọn tốt hơn

Khi tất cả các thuật toán bất đối xứng di chuyển, ECDSA hoạt động theo cách dễ dàng định lượng theo một hướng, nhưng khó đi ngược lại. Trong trường hợp ECDSA, số trên đường cong được nhân với một số khác và do đó, điểm trên đường cong được tạo ra. Rất khó để tìm ra điểm mới nhất, mặc dù bạn biết điểm ban đầu.

Nhờ sự tinh vi của nó, ECDSA được cho là an toàn hơn trước các phương pháp bẻ khóa hiện có so với RSA. ECDSA cung cấp mức độ bảo vệ tương tự như RSA, nhưng bằng cách sử dụng độ dài khóa ngắn hơn nhiều, nó làm được như vậy. Do đó, ECDSA sẽ mất nhiều thời gian hơn một chút để các khóa dài hơn bị phá vỡ bởi các cuộc tấn công cưỡng bức (brute-force).

Giá trị của hiệu suất và khả năng mở rộng là một lợi thế lớn khác mà ECDSA cung cấp so với RSA. Bởi vì ECC đảm bảo bảo vệ tối đa với độ dài khóa ngắn hơn, mạng và khả năng xử lý yêu cầu tải thấp hơn. Đối với những máy tính có khả năng lưu trữ và xử lý tối thiểu, điều này được chứng minh là hoàn hảo. Thuật toán ECC giảm thời gian thực hiện bắt tay SSL / TLS trong chứng chỉ SSL / TLS, điều này có thể giúp bạn tải trang web của mình nhanh hơn.

Tuy nhiên, điểm hạn chế là không phải tất cả CA trong bảng điều khiển và mô-đun bảo vệ phần cứng của chúng đều hỗ trợ ECC (mặc dù số lượng CA đang tăng lên).

ECDSA và RSA: Sự khác biệt của độ dài khóa

Như chúng ta đã thảo luận, ECC yêu cầu độ dài khóa ngắn hơn nhiều để có cùng mức độ bảo mật được cung cấp bởi các khóa dài của RSA. Dưới đây là những gì so sánh giữa ECDSA và RSA trông như thế nào:

Bảo mật (Trong bit)Độ dài khóa RSA Yêu cầu (Tính bằng bit)Độ dài khóa ECC Yêu cầu (Tính bằng bit)
801024160-223
1122048224-255
1283072256-383
1927680384-511
25615360512+

ECC vs RSA: Mối đe dọa từ máy tính lượng tử

Tính không thể đảo ngược là đặc điểm quan trọng giúp một thuật toán mã hóa an toàn. Do đó, bạn phải thực hiện các cuộc tấn công brute-force, thử và sai, để có thể phá vỡ một thuật toán như vậy. Tuy nhiên, do độ dài khóa mã hóa, các biến thể tiềm năng mà bạn phải thử có số lượng mà chúng ta thậm chí không thể bắt đầu một cách chính xác dù chỉ là khái niệm.

Tuy nhiên, phần lớn điều này sẽ thay đổi trong tương lai với sự ra đời của máy tính lượng tử. Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) dự đoán rằng mật mã khóa công khai hiện tại sẽ sụp đổ cho đến khi tính toán lượng tử trở nên phổ biến. Lý do tại sao? Vì máy tính lượng tử có hiệu suất cực cao vì chúng chạy trên qubit chứ không phải bit, năng lượng mạnh hơn đáng kể so với siêu máy tính ngày nay. Và có khả năng bẻ gãy dễ dàng các thuật toán như RSA và ECDSA.

RSA và ECDSA cũng có khả năng dễ bị ảnh hưởng bởi một thuật toán được gọi là thuật toán Shor, theo các báo cáo khác nhau. Khi được sử dụng cho máy tính lượng tử, thuật toán này có khả năng bẻ khóa cả RSA và ECDSA. Theo nghiên cứu của Microsoft, người ta thấy rằng ECDSA dễ giải hơn so với hệ thống mật mã RSA. Tuy nhiên, vì máy tính lượng tử chức năng vẫn còn sơ khai, không có lý do gì để nghĩ về điều này ngay bây giờ.

Tóm tắt RSA so với ECDSA:

Dưới đây là tóm tắt về tất cả sự khác biệt giúp bạn dễ hiểu:

RSAECDSA
Một trong những phương pháp mã hóa khóa công khai sớm nhất, được tiêu chuẩn hóa vào năm 1995.Phương pháp mật mã khóa công khai tương đối mới so với RSA, được chuẩn hóa vào năm 2005.
Ngày nay, nó là thuật toán mã hóa bất đối xứng được sử dụng rộng rãi nhất.So với RSA, ECDSA là một thuật toán mã hóa ít được chấp nhận hơn.
RSA hoạt động trên nguyên tắc của phương pháp thừa số nguyên tố.ECDSA hoạt động dựa trên biểu diễn toán học của Đường cong Elip.
RSA là một thuật toán mã hóa bất đối xứng đơn giản, nhờ vào phương pháp phân tích nhân tử nguyên tố.Sự phức tạp của các đường cong elip làm cho ECDSA trở thành một phương pháp phức tạp hơn so với RSA.
RSA là một phương pháp đơn giản hơn để thực hiện so với ECDSA.Việc triển khai ECDSA phức tạp hơn RSA.
RSA yêu cầu các khóa dài hơn để cung cấp mức độ bảo vệ mã hóa an toàn.So với RSA, ECDSA yêu cầu các khóa ngắn hơn nhiều để cung cấp cùng mức độ bảo mật
Vì nó yêu cầu các khóa dài hơn, RSA làm chậm hiệu suất.Nhờ độ dài khóa ngắn hơn, ECDSA cung cấp hiệu suất tốt hơn nhiều so với RSA.

Lời cuối cùng: ECDSA và RSA

RSA và ECDSA vẫn là hai trong số các thuật toán mã hóa bất đối xứng phổ biến nhất , bất kể ưu điểm và nhược điểm cụ thể của chúng. Cả hai thuật toán này đều có mức độ bảo mật mà các hacker ngày nay thậm chí không thể mơ tới. Tuy nhiên, theo một số cách nhất định, cả hai đều rất khác biệt. Đây là những cơ sở mà chúng khác nhau, để đúc kết lại những gì chúng ta vừa học được:

  • Hiệu suất
  • Độ dài khóa bắt buộc để mã hóa an toàn
  • Nguyên lý làm việc
  • Khả năng mở rộng
  • Sự phức tạp

Chìa khóa cho hiệu suất và sức mạnh của các thuật toán này nằm ở việc thực thi đúng cách của chúng. Nếu nó được áp dụng kém và không đáp ứng các tiêu chuẩn bảo mật, thì không có thuật toán mã hóa nào có thể cung cấp bảo mật tối ưu.

Không có nhiều tranh cãi về các yêu cầu an toàn hiện có liên quan khi sử dụng “ECDSA so với RSA”, vì vậy bạn có thể yên tâm mà chọn một trong số chúng và cả hai đều tuyệt đối an toàn. Tôi muốn nhấn mạnh thực tế rằng ECC không được hỗ trợ nói chung như RSA. Điều đó đang được nói, ECC là một lựa chọn an toàn hơn nếu bạn có quyền lựa chọn.

CyberGuards / Nguyen Tran Tuong Vinh – Leader of Security365

Comments