Tìm việc làm nhanh & Tuyển dụng hiệu quả
0Chat
Quay lại

RSA là gì? Bạn có biết RSA có cơ chế hoạt động như thế nào?

Tác giả: Vũ Bích Phượng

Ngày cập nhật: 20/04/2021

Trong lĩnh vực mật mã học, RSA là một thuật ngữ quen thuộc, không những thế còn rất nổi tiếng bởi nó được tìm ra và định nghĩa bởi 3 nhà khoa học lớn. RSA đánh dấu sự tiến bộ vượt bậc trong linh vực mật mã học nói chung và được dùng rất rộng rãi trong hoạt động thương mại điện tử. Vậy RSA là gì và những thông tin đến RSA có gì đặc biệt? Hãy đọc ngay bài viết dưới đây để mở rộng hiểu biết của mình bạn nhé.

Việc làm IT

1. RSA là gì?

RSA có nguồn gốc vô cùng thú vị khi là đề tài nghiên cứu hợp lực của 3 nhà khoa học lớn đó là Ron Rivest, Adi Shamir, Len Adleman và được đưa ra những mô tả lần đầu tiên vào năm 1977 ở Học viện MIT. Nếu để ý kỹ thì bạn sẽ thấy sự đặc biệt trong tên gọi của thuật ngữ này, nó được tạo nên từ chính 3 chữ cái đầu tiên trong tên của 3 nhà phát minh. Vậy RSA là gì? Mục đích của sự ra đời RSA là gì?

RSA có gì
RSA có gì

Mã hóa RSA chính là một thuật toán hay còn gọi là hệ mã hóa bất đối xứng có pháp vi ứng dụng rộng rãi và phổ biến. đặc biệt người ta sử dụng RSA rất nhiều ở công tác mã hóa, thiết lập chữ ký điện tử, với vai trò là một mã hóa khóa công khai. Bất cứ ai cũng có thể dùng khóa công khai để có thể mã hóa được nguồn dữ liệu muốn gửi đi thế nhưng để giải mã được dữ liệu gửi đi đó thì buộc phải có sự hỗ trợ của khóa bí mật.

Hoạt động gửi và nhận sẽ được can thiệp bởi RSA vì bản thân nó chứa 2 khóa là khóa công khai và khóa bí mật để làm 2 nhiệm vụ bất đối xứng và mã hóa và giải mã. Điều này cũng tương tự như cơ chế đóng khóa và mở khóa cửa vậy nhưng tất nhiên RSA sẽ phức tạp hơn rất nhiều bởi nó là một thuật toán. Việc mã hóa để bảo mật thông tin nhưng gây bất lợi cho người nhận khi không thể giải mã được các giá trị thông tin đã được mã hóa, chính vì thế mà cần đến yếu tố khóa bí mật luôn đi kèm với việc mã hóa, và khóa bí mật này cũng chỉ có ở người nhận thông tin đã mã hóa được gửi tới họ thông qua RSA.

Khái niệm về RSA
Khái niệm về RSA

Không giống với loại mã hóa có khóa đối xứng, loại khóa bí mật của RSA tuyệt đối không truyền được thông tin ra bên ngoài ngay cả khi có thiết bị nghe trộm thì nếu đối tượng xấu không có khóa bị mật cũng sẽ không thể giải mã được thông tin đó. Như vậy rõ ràng với 2 tính năng mã hóa và giải mã tối ưu đến tuyệt đối ở một phương trình bất đối xứng như vậy cho nên giá trị của RSA vô cùng lớn, nó sẽ được sử dụng ở hầu hết mọi trường hợp cần bảo mật thông tin. Giao thức SSL hayTSL, HTTPS cùng với chứng chỉ điện tử đều sử dụng RSA.

Xem thêm: Việc làm an toàn thông tin

2. Mô tả quá trình hoạt động của RSA

Hệ mã hóa RSA có cơ chế hoạt động rất dễ hiểu như vừa mô tả ở thông tin trên. Cơ chế public key sẽ chia sẻ một cách công khai nhưng RSA lại tối ưu rất tốt cơ chế công khai và bảo mật. Trải qua 4 bước sau đây, RSA sẽ hoàn thiện mọi yếu tố để hoàn thiện chức năng bảo mật.

Quá trình hoạt động của RSA
Quá trình hoạt động của RSA

2.1. Sinh khóa

Sinh khóa làm nhiệm vụ tìm kiếm được một bộ có 3 số tự nhiên là e, d, n thỏa mãn công thức sau đây:

Med trùng mmod n

Trong đó giá trị d sẽ cần phải được bảo mật tuyệt đối  để khi có biết các giá trị khác là n, e hay m thì cũng không có cách nào để tìm được giá trị của d. Với công thức trên đây, khóa RSA sẽ có cơ chế sinh khóa theo quy trình:

- Chọn ra 2 số nguyên tố là số p, số q

- Tính phương trình: n = pq. Về sau  giá trị của n có vai trò modulus ở cả hai loại là private key và public key.

- Một vài giả nguyên tố dựa trên Carmichael sẽ được tính toán và giữ bí mật.

- Chọn lấy một số e ở khoảng 1 và giả nguyên tố n sao cho ước chung lớn nhất của hai số này có giá trị bằng 1, có nghĩa là giá trị e và giả nguyên tố n có nguyên tố cùng nhau.

- Tiếp tục tính giá trị của d để d trùng với 1/e, viết cách khác là de trùng 1. Số tự nhiên d lúc này sẽ chính là nghịch đảo modulo của e theo công thức modulo mod λ(n).

RSA hoạt động như thế nào?
RSA hoạt động như thế nào?

Khi đó, Public key được tìm ra chính  là bộ số (n, e) còn và private key bộ số (n, d). Nhiệm vụ của bạn là phải giữ cẩn thận private key và số nguyên tố p, q từ đó phục vụ việc tính toán các khóa một cách dễ dàng.

Đưa vào thực tiễn thực hành thì con người vẫn hay lựa chọn giá trị e nhỏ để có được lợi thế giải mã nhanh chóng, thông thường e = 65537. Ngoài công thức tính giả nguyên tố đã nêu trên thì hàm Euler φ(n) cũng có thể được sử dụng thay thế với công thức tính toán như sau: Euler φ(n) = (p − 1)(q − 1) = λ(n).

Khám phá cơ chế hoạt động của RSA
Khám phá cơ chế hoạt động của RSA

Lý giải cho công thức trên, bạn có thể hiểu như sau: φ(n) là bội của λ(n), vậy nên, d cần thỏa mãn điều kiện de ≡ 1 (mod φ(n)) = d ≡ 1/e (mod λ(n)).  Thuật toán này không hoàn toàn mang tới độ hoàn hảo tuyệt đối do có thể khiến cho giá trị d trở nên lớn hơn.

Xem chi tiết: SSL là gì?

2.2. Mã hóa và giải mã

Vì RSA được bảo mật tuyệt đối và việc mở khóa chỉ người nhận mới có thể thực hiện. Vậy thì nếu bạn là người nhận trong quá trình này, bạn đã biết cách giải mã hay chưa? Tìm hiểu trọn vẹn từ khâu mã hóa đến việc giải mã sẽ giúp bạn có được một logic đúng để giải mã thành công. Ngay nội dung này, chúng ta sẽ tìm hiểu cụ thể về cách sử dụng public key (n, e) để mã hóa và dùng Private key (n, d) để giải mã.

Nếu đang có M hãy chuyển nó sang thành số tự nhiên m ở khoảng (0, n) trước nhé, và đam bảo giá trị m và n có nguyên tố cùng nhau. Không khó để làm được điều đó, mẹo nằm ở chỗ, hãy thêm kỹ thuật padding vào, sau đó tiến hành mã hóa m để chuyển m thành c. Làm theo công thức dưới đây:

c ≡ me mod n

c sẽ được chuyển tới người nhận. Người nhận lúc này có nhiệm vụ giải mã c để lấy được giá trị của m bằng công thức:

cd ≡ mde ≡ m mod n

tiếp theo, lấy từ giá trị m, bạn đảo ngược padding lại nhé thì sẽ lấy được thông tin gốc. Xem ngay ví dụ rất đơn giản sau để hiểu được quá trình này diễn ra như thế nào:

* Nếu ta có các giá trị p = 5, q = 7 thì n = pq = 35. Do đó, φ(n) = 24

Tiếp theo, chọn e = 5 do ước chung lớn nhất của 5 và 24 chính bằng 1.

Chọn d = 29 do ed – 1 = 29*5 – 1 đều có giá trị chia hết 24.

* Lấy giả sử, giá trị m =32(cách) thì mã hóa m sẽ thu được kết quả: c = 32 ^ 5 % 35 = 2

Ngược lại, giải mã c sẽ thu được giá trị của m: m = 2 ^ 29 % 35 = 32

Vậy m = 32 chính là giá trị ban đầu mà người nhận muốn và cần giải mã, cũng là giá trị người gửi cần mã hóa.

Công thức trên được áp dụng theo một thuật toán đã được chứng minh, do đó mà dù bạn có thử với bất cứ giá trị nào của m theo công thức chuẩn RSA đã được công bố thì vẫn sẽ có được kết quả chính xác.

Mã hóa và giải mã
Mã hóa và giải mã

RSA được bảo mật phần lớn phụ thuộc vào chính khả năng phân tích thừa số nguyên tố từ những giá trị lớn lý do vì chúng ta cung cấp rộng rãi chế độ public cho nên theo logic, nếu như việc phân tích các thừa số nguyên tố trở nên quá dễ dàng thì đương nhiên, các private bị lộ cũng dễ dàng, khiến cho RSA không thể bảo mật được. Dựa trên nguyên lý này để lưu ý việc sinh khóa, mọi người cần lựa chọn ngẫu nhiên các số p và q, làm cho việc phân tích thừa số nguyên tố trở nên khó khăn để khó mở khóa. Muốn vậy  p và q sẽ không cùng độ dài. Có thể các máy tính cá nhân vẫn chưa thể thực hiện được nhiệm vụ này nhưng dưới thời đại công nghệ số phát triển như vũ bão hiện nay thì các siêu máy tính sẽ cùng con người tìm ra những phương án tính toán tốt nhất cho RSA. Đến nay, việc một người sở hữu máy tính lượng tử với ưu thế về tốc độ cao có khả năng phá vỡ sự bảo mật trong RSA. Nhưng đó là lý thuyết vì đối với máy tính lượng tử, nó cần rất nhiều thời gian để hoàn thiện rồi mới tính đến việc phá vỡ sự bảo mật của RSA như thế nào.

Nhiều học viên đã đưa ra câu hỏi khá thú vị như một sự đóng góp thêm ý tưởng vào công trình vĩ đại RSA đó chính là việc đảo ngược vai trò của hai loại public key và Private key có dược không? Đại ý của câu hỏi chính là việc sử dụng private key để mã hóa còn public key thì dùng để giải mã, điều này hoàn toàn có thể nhưng sẽ không được thực hiện. Vì sao ư?

Nếu đi từ public key thì khó lòng suy ra được Private key, còn thao tác ngược lại sẽ đơn giản hơn để tạo ra điều đó. Khi bạn đưa private key cho người khác và yêu cầu họ mã hóa thì quả thực bạn đang tạo điều kiện cho kẻ tấn công có cơ hội tính toán ra public key dễ dàng, từ đó thay đổi hoàn toàn nội dung hay cuộc thoại quan trọng đang cần nhờ RSA bảo mật. Mọi cố gắng bảo mật của chúng ta trở nên vô nghĩa và bí mật đã bị tấn công, điều này thật sự rất nguy hiểm, đặc biệt là nếu bí mật đó liên quan đến chính trị, quân sự, các vấn đề của một quốc gia.

Tìm hiểu thêm: Https là gì?

3. Dùng chữ ký số trong RSA

Việc đảo ngược giữa hai vai trò của Private key và Public key quả thực để lại những hậu quả khá tai hại nhưng nếu ai đó vẫn làm điều này và muốn bảo mật được giá trị truyền tại thì hãy dùng tới cả sự hỗ trợ của chữ ký số nhé. Ngày nay, việc ký tên đã được công nghệ khoác cho một chiếc áo choàng mới, biến chúng trở thành chữ ký điện tử hay cũng gọi là chữ ký số. Loại chữ kỹ cao cấp này có sử dụng hệ mã hóa RSA để gia tăng tính bảo mật cho người dùng. Quá trình mã hóa và giải mã đối với RSA áp dụng cho chữ ký số cũng được tiến hành theo quy trình ở phần 2 trên đây nhưng có sự khác biệt một chút ở vai trò của hai loại key.

Xem thêm: Chữ ký số là gì?

Ứng dụng của RSA
Ứng dụng của RSA

Cụ thể, khi tạo chữ ký số thì người gửi thông tin sẽ sử dụng private còn người nhận sử dụng public key phục vụ cho việc xác nhận chữ ký. Thông tin được gửi qua RSA khá dài, gây ra trở ngại lớn đến việc mã hóa ở mặt thời gian. Chính vì vậy mà khi áp dụng vào thực tiến, chữ ký số còn được áp dụng kèm theo phương pháp mã hóa cả giá trị Hash của nội dung thông tin. Đôi khi bạn nghĩ, ký số sẽ gây ra rắc rối ở khâu xác nhận vì nhiều lúc, mình chính là chủ của thông tin, tài khoản nào đó nhưng vẫn không được chấp nhận nếu chữ ký có sai lệch đi một ly một lai thế nhưng cái khó cũng chính là cái lợi vì như vậy, kẻ xấu cũng sẽ gặp rất nhiều rắc rối nếu như muốn đột nhập, hack tài khoản của bạn.

Như vậy, bài viết đã cho chúng ta hiểu RSA là gì, hơn cả vậy, giá trị chúng ta nhận được từ đây còn là những lợi ích mà RSA mang lại cho cuộc sống của con người. Bài viết sẽ giúp bạn đưa ra quyết định rõ ràng về việc có nên sử dụng RSA hay không. Mong rằng, bạn sẽ có thêm một bí quyết bảo vệ cuộc sống của mình trở nên tốt đẹp hơn.

Khám phá khái niệm RMA là gì?

Được biết tới là thuật ngữ gắn liền với  hoạt động kinh doanh, RMA sẽ mang tới cho các chuyên gia kinh tế rất nhiều giá trị hữu ích để có thể phân tích được những lợi thế kinh có thể đạt được. Cùng chúng tôi phân tích rõ ràng thuật ngữ này và học cách để hoạt động kinh doanh hiệu quả bạn nhé.  

Rma là gì?

 

Từ khóa liên quan

Chuyên mục

Bí quyết viết CV-Tâm sự Nghề nghiệp-Cẩm Nang Tìm Việc-Kỹ Năng Tuyển Dụng-Cẩm nang khởi nghiệp-Kinh nghiệm ứng tuyển việc làm-Kỹ năng ứng xử văn phòng-Quyền lợi người lao động-Bí quyết đào tạo nhân lực-Bí quyết lãnh đạo-Bí quyết làm việc hiệu quả-Bí quyết viết đơn xin nghỉ phép-Bí quyết viết thư xin thôi việc-Cách viết đơn xin việc-Bí quyết thành công trong công việc-Bí quyết tăng lương-Bí quyết tìm việc dành cho sinh viên-Kỹ năng đàm phán lương-Kỹ năng phỏng vấn-Kỹ năng quản trị doanh nghiệp-Kinh nghiệm tìm việc làm tại Hà Nội-Kinh nghiệm tìm việc làm tại Đà Nẵng-Mẹo viết hồ sơ xin việc-Mẹo viết thư xin việc-Chia sẻ kinh nghiệm ngành Kinh doanh - Bán hàng-Định hướng nghề nghiệp-Top việc làm hấp dẫn-Tư vấn nghề nghiệp lao động phổ thông-Tư vấn việc làm Hành chính văn phòng-Tư vấn việc làm ngành Báo chí-Tư vấn tìm việc làm thêm-Tư vấn việc làm ngành Bất động sản-Tư vấn việc làm ngành Công nghệ thông tin-Tư vấn việc làm ngành Du lịch-Tư vấn việc làm ngành Kế toán-Tư vấn việc làm ngành Kỹ thuật-Tư vấn việc làm ngành Sư phạm-Tư vấn việc làm ngành Luật-Tư vấn việc làm thẩm định-Tư vấn việc làm vị trí Content-Tư vấn việc làm ngành Nhà hàng - Khách sạn-Tư vấn việc làm quản lý-Kỹ năng văn phòng-Nghề truyền thống-Các vấn đề về lương-Tư vấn tìm việc làm thời vụ-Cách viết Sơ yếu lý lịch-Cách gửi hồ sơ xin việc-Biểu mẫu phục vụ công việc-Tin tức tổng hợp-Ý tưởng kinh doanh-Chia sẻ kinh nghiệm ngành Marketing-Kinh nghiệm tìm việc làm tại Bình Dương-Kinh nghiệm tìm việc làm tại Hồ Chí Minh-Mẹo viết Thư cảm ơn-Góc Công Sở-Câu chuyện nghề nghiệp-Hoạt động đoàn thể-Tư vấn việc làm Biên - Phiên dịch-Tư vấn việc làm Ngành Nhân Sự-Tư vấn việc làm Ngành Xuất Nhập Khẩu - Logistics-Tư vấn việc làm Ngành Tài Chính - Ngân Hàng-Tư vấn việc làm Ngành Xây Dựng-Tư vấn việc làm Ngành Thiết kế - Mỹ thuật-Tư vấn việc làm Ngành Vận tải - Lái xe-Quản trị nhân lực -Quản trị sản xuất-Cẩm nang kinh doanh-Tư vấn việc làm Ngành Thiết kế - Nội thất-Mô tả công việc ngành Kinh doanh-Mô tả công việc ngành Bán hàng-Mô tả công việc Tư vấn - Chăm sóc khách hàng-Mô tả công việc ngành Tài chính - Ngân hàng-Mô tả công việc ngành Kế toán - Kiểm toán-Mô tả công việc ngành Marketing - PR-Mô tả công việc ngành Nhân sự-Mô tả công việc ngành IT - Công nghệ thông tin-Mô tả công việc ngành Sản xuất-Mô tả công việc ngành Giao nhận - Vận tải-Mô tả công việc Kho vận - Vật tư-Mô tả công việc ngành Xuất nhập khẩu – Logistics-Mô tả công việc ngành Du lịch - Nhà hàng - Khách sạn-Mô tả công việc ngành Hàng không-Mô tả công việc ngành Xây dựng-Mô tả công việc ngành Y tế - Dược-Mô tả công việc Lao động phổ thông-Mô tả công việc ngành Kỹ thuật-Mô tả công việc Nhà nghiên cứu-Mô tả công việc ngành Cơ khí - Chế tạo-Mô tả công việc bộ phận Quản lý hành chính-Mô tả công việc Biên - Phiên dịch-Mô tả công việc ngành Thiết kế-Mô tả công việc ngành Báo chí - Truyền hình-Mô tả công việc ngành Nghệ thuật - Điện ảnh-Mô tả công việc ngành Spa – Làm đẹp – Thể lực-Mô tả công việc ngành Giáo dục - Đào tạo-Mô tả công việc Thực tập sinh - Intern-Mô tả công việc ngành Freelancer-Mô tả công việc Công chức - Viên chức-Mô tả công việc ngành Luật - Pháp lý-Tư vấn việc làm Chăm Sóc Khách Hàng -Tư vấn việc làm Vật Tư - Kho Vận-Hồ sơ doanh nhân-Việc làm theo phường-Danh sách các hoàng đế nổi tiếng-Tài liệu gia sư-Vĩ Nhân Thời Xưa-Chấm Công-Danh mục văn thư lưu trữ-Tài Sản Doanh Nghiệp-KPI Năng Lực-Nội Bộ Công Ty - Văn Hóa Doanh Nghiệp-Quản Lý Quan Hệ Khách Hàng-Quản Lý Công Việc Nhân Viên-Chuyển văn bản thành giọng nói-Giới Thiệu App Phiên Dịch-Quản Lý Kênh Phân Phối-Đánh giá nhân viên-Quản lý ngành xây dựng-Hóa đơn doanh nghiệp-Quản Lý Vận Tải-Kinh nghiệm Quản lý mua hàng-Danh thiếp cá nhân-Quản Lý Trường Học-Quản Lý Đầu Tư Xây Dựng-Kinh Nghiệm Quản Lý Tài Chính-Kinh nghiệm Quản lý kho hàng-Quản Lý Gara Ô Tô-Xem thêm gợi ý