Mã Hóa Rsa

Hầu như ai sự hiểu biết về an ninh ban bố hầu như biết đến hai một số loại mã hoá phổ cập là mã hoá đối xứng (symmetric cryptography) với mã hoá bất đối xứng (asymmetric cryptography). Về cơ bản thì:

Mã hoá đối xứng (tuyệt có cách gọi khác là mã hoá bí mật): Nói đơn giản dễ dàng là fan ta cần sử dụng và một chìa khoá nhằm khoá và msinh hoạt biết tin cần được giữ lại kín đáo. Và cả 2 bên gửi và dìm đọc tin đều phải có chìa khoá này.

Bạn đang xem: Mã hóa rsa

Mã hoá bất đối xứng (giỏi nói một cách khác là mã hoá công khai): Có thể đọc là tín đồ ta dùng nhì chìa khoá không giống nhau để khoá và msinh hoạt khoá thông tin kín đáo. public key sẽ tiến hành công khai, với được gửi đi mang đến đối tượng người dùng đề xuất mã hoá đọc tin, còn private key được duy trì kín đáo, và nó đóng vai trò phương châm như chìa khoá vạn năng có thể mngơi nghỉ được tất cả công bố được khoá bằng public key.

2. Tại sao cần má hoá bất đối xứng?

*

Nói nlắp gọn gàng thì hầu hết những vận dụng chúng ta sử dụng từng ngày bây giờ nlỗi Facebook, Gmail, Amazon, PayPal v.v đều sử dụng giao thức HTTPs. Có thể hiểu là giao thức HTTPs an toàn rộng HTTP vị toàn bộ thông báo tương truyền giữa client với hệ thống được bảo đảm an toàn bởi vì bộ mã hoá SSL/TSL. SSL/TSL này chuyển động dựa trên cả nhị các loại mã hoá đối xứng với bất đối xứng. Nhờ nó mà lại chúng ta có thể đảm bảo bí mật Khi triển khai các thanh toán bao gồm cất ban bố mẫn cảm trên Internet nhưng không trở nên đánh cắp đọc tin nhìn trong suốt quy trình truyền nhấn dữ liệu. cũng có thể nói, ví như không tồn tại mật mã, nhất là mã hoá bất đối xứng thì không tồn tại thương thơm mại điện tử.

Về cơ phiên bản, HTTP truyền tài liệu dưới dạng plain text, tức thị ví như ai đó nghe lén dữ liệu bạn truyền cùng nhấn cùng với hệ thống thì có thể đọc với can thiệp được văn bản (man-in-the-middle attack). ngay khi khi sử dụng mã hoá đối xứng để encrypt cùng decrypt báo cáo truyền cùng nhấn thì cũng có thể có lỗ hổng là phía hai bên yêu cầu thảo luận key new mã hoá với lời giải được, điều đó attacker vẫn có thể nắm được key cùng gọi được thông báo nhỏng thường xuyên.

Xem thêm: {Tư Vấn} Nên Mua Máy Điều Hòa Của Hãng Nào Tốt, Tiết Kiệm Điện Nhất 2021

Điểm yếu hèn của mã hoá đối xứng được kìm hãm vào mã hoá bất đối xứng. Ý tưởng là cố gắng bởi vì gửi chìa khoá mang lại phía client, thì VPS đã gửi ổ khoá, để client khoá thông điệp bí mật trong một mẫu hộp, và chỉ tất cả hệ thống hoàn toàn có thể giải thuật được. Cho đề xuất những client vẫn không hiểu được thông điệp của nhau, còn chỉ gồm máy chủ cùng với private key mới mlàm việc khoá được những chiếc vỏ hộp này. (Trên thực tiễn thì public key vừa dùng để làm mã hoá vừa dùng để lời giải biết tin nhận và trình lên server!)

3. Về RSA

RSA là 1 trong trong số những hệ thống mã hoá bất đối xứng được áp dụng rộng thoải mái. Nó được đặt theo thương hiệu của 3 nhà khoa học MIT xây cất ra nó là: Ron Rivest, Adi Shamir, với Leonard Adleman. Ý tưởng chủ đạo nhằm bảo vệ tính bình an của RSA là dựa trên sự trở ngại vào việc đối chiếu nhân tử của 2 số nguim tố béo. (a x b = c, tìm kiếm ngược trở lại a, b từ bỏ c là so sánh nhân tử).

Hệ thống mã hoá RSA bao gồm 4 bước: key generation, key distribution, encryption với decryption. Vì để đảm bảo an toàn tính kín đáo, đề xuất mỗi hệ thống khác biệt bắt buộc tạo ra các public, với private key khác biệt. Sau qúa trình handshake và public key được gởi tới phía client thì thông tin bắt đầu đồng ý được mã hoá lúc VPS và client tiếp xúc cùng nhau.

4. Mã hoá với giải mã

Tạm thời làm lơ bước public key và private được tạo ra như thế nào. Chúng ta có cách làm nhằm mã hoá với giải thuật dữ liệu nhỏng sau:

Encryption: (m^e hủ thuật n = c) Decryption: (c^d hack n = m)

Trong đó:

m là message lúc đầu e, n là public key c là tài liệu đã làm được mã hoá d là private key thường là một số rất lớn, tích của 2 số nguyên ổn tố, và được giữ an toàn hay đối

lấy một ví dụ mang lại e = 17, n = 3233, d = 2753 cùng cho thông điệp cần đc mã hoá là m = 42

Mã hoá: (42^17 hack 3233 = 2557)

Số 2557 này Lúc được giải thuật thì nó trsống về 42 như cũ:

Giải mã: (2557^2753 gian lận 3233 = 42)

private key d được tạo ra phụ thuộc vào 2 prime factor của n. Trong thực tiễn n được tạo thành bằng cách nhân hai số nguyên tố 2048 bits cho nên tính ra d thì dễ dàng, còn tự n tính ngược lại 2 số kia để tìm private key là gần như là bất khả thi cùng với máy vi tính bây chừ.

5. Cách tạo thành public với private key

Phần này thiêng về toán thù, phần nhiều họ ko cần quan tâm nếu nhỏng thực hiện những gói Cipher gồm sẵn của Java hoặc JavaScript.

Chọn hai số ngulặng tố tự nhiên phân minh p với q (trong thực tế là càng mập càng xuất sắc, cỡ 2048 bits tuyệt 617 chữ số). Ví dụ: p = 61 với q = 53 Tính tích (n = p * q = 61 * 53 = 3233) Tính công dụng hàm số Euler (totient): (Phi(n) = (p − 1)(q − 1)) (Phi(3233) = (61 - 1) * (53 - 1) = 3120) Chọn một trong những bất kỳ (một số nguyên tố cùng nhau của 31trăng tròn Chọn (e = 17) <\ e*d gian lận Phi(n) = 1 \ 17*d gian lận 31đôi mươi = 1>

Hoặc là sử dụng giải pháp brute force để tính d (hoàn toàn có thể được bởi họ lựa chọn các số nhỏ), hoặc sử dụng thuật toán Euclid mở rộng, ta tất cả (d = 2735)

Cách brute force thì nhỏng sau (chạy chưa tới 15 bước là ra):

def compute_d(phi_n, e):for i in range(1, 1000):x = ((i * phi_n) + 1) / ey = (e * x) % phi_nif y == 1:print xbreakcompute_d(31đôi mươi, 17)do đó sau cùng bọn họ tính toán được public key: e = 17, n = 3233 với private key: d = 2735

6. Tính an toàn của RSA

Tính an ninh của RSA đa phần nhờ vào bộ tạo thành số ngẫu nhiên ra đời 2 số nguim tố p với q lúc đầu. Việc tính ngược chở lại p cùng q từ n là cthị xã hầu hết tất yêu với nhì số ngulặng tố 2048 bits nlỗi đã nhắc sống trên. Nhưng việc tính ra d từ từ p và q là Việc hết sức thuận tiện. Do kia nếu như một bên nào đó đoán thù ra được hoặc đưa ra lỗ hổng của bộ sinch số ngẫu nhiên kia thì coi RSA bị hoá giải. Gần đây bao gồm ý kiến nhận định rằng Sở An ninch Nội địa Hoa Kỳ (NSA) đã sở hữu một bachồng door vào bộ tạo ra số bất chợt Dual Elliptic Curve sầu để giúp đỡ NSA có thể crachồng RSA nhanh hơn 10,000 lần. Và điều xứng đáng quan tâm là cỗ sinh sản số tự dưng này được chủ thể RSA (được ra đời do 3 đồng người sáng tác của hệ thống RSA) setup mặc định vào rất nhiều áp dụng khác biệt. (Exclusive: NSA infiltrated RSA security more deeply than thought - study)