You are on page 1of 6

Phá vỡ mã hóa RSA - bản cập nhật về kỹ thuật tiên tiến

Theo Quintessencelabs

Bạn đã nghe tôi nói lan man về Máy tính lượng tử và tác động của chúng đối với mật mã. Có lẽ
tác động lớn nhất và được biết đến nhiều nhất là họ sẽ có thể sử dụng thuật toán lượng tử của
Shor để bẻ khóa tất cả mật mã RSA / ECC. May mắn thay, Máy tính lượng tử đủ mạnh để làm
điều này vẫn chưa xuất hiện, mặc dù điều đó không có nghĩa là chúng ta có thể hoàn toàn thư
giãn mà không nghĩ tới nó.

Máy tính cổ điển cũng có thể làm được điều này – Nhưng chắn đó sẽ tốn rất rất nhiều thời
gian…

Trên thực tế, bạn không cần máy tính lượng tử để bẻ khóa RSA / ECC, nếu bạn có nhiều thời
gian. Bạn cũng có thể sử dụng máy tính “bình thường”. Thật là khó tin đối với máy tính bình
thường ấy để giải quyết điều này. Máy tính cổ điển sẽ mất khoảng 300 nghìn tỷ năm để phá
khóa mã hóa RSA-2048 bit. Đó là lý do tại sao tất cả chúng ta đều cảm thấy rằng chúng ta “an
toàn” trước những cuộc tấn công này. Nhưng nó chứng minh rằng nền tảng của tất cả mật mã
của chúng ta không được đảm bảo là an toàn, nó chỉ được biết là thực sự, thực sự khó giải
quyết (như nghìn tỷ năm khó). Đó là những gì chúng tôi [CNT(CH1]gọi là "bảo mật máy tính[CNT(CH2]".

Một máy tính lượng tử hoàn hảo có thể làm điều này trong 10 giây

Giờ đây, mẹo với thuật toán Shor là anh ấy đã tìm ra cách để giảm hàng loạt độ phức tạp của
việc phá vỡ RSA / ECC bằng máy tính lượng tử. Mặt khác, vấn đề có độ phức tạp theo cấp số
nhân (có nghĩa là nếu N là số bit, thì N ở trong số mũ, ví dụ 5 ^ N) được giảm xuống độ phức tạp
đa thức (nghĩa là N ở trong cơ sở, ví dụ: chỉ N ^ 5). Và điều đó tạo ra một sự khác biệt lớn. Một
máy tính lượng tử với 4099 qubit hoàn toàn ổn định có thể phá vỡ mã hóa RSA-2048 trong 10
giây (thay vì 300 nghìn tỷ năm - wow).
Vấn đề là một máy tính lượng tử như vậy chưa tồn tại
Chúng tôi không có số lượng qubit cần thiết (4099), cũng như chất lượng của các qubit (hoàn
toàn ổn định). Máy tính lượng tử lớn nhất hiện có 72 qubit (Google Bristlecone), tuy nhiên nó
có tỷ lệ lỗi là 0,6%. Tuy nhiên, vấn đề khó khăn nhất là thời gian gắn kết. Thời gian liên kết là
thước đo tốc độ các qubit mất đi các thuộc tính lượng tử đặc biệt của chúng, vì vậy bất kỳ phép
tính nào cũng cần phải hoàn thành trong thời gian liên kết. Thời gian liên kết tại thời điểm này
thường nằm trong khoảng 50-90 micro giây. Vì vậy bạn có thể quên rằng bất kỳ phép tính nào
cũng cần một thời gian!

Tất cả những vấn đề này rõ ràng là ngăn cản bất kỳ ai chạy thuật toán Shor’s trên Máy tính
lượng tử và không rõ khi nào sẽ có một máy tính lượng tử đủ mạnh (có thể là 5 năm, có thể là
10 năm, có thể là 20 năm), vì vậy chúng ta có thể thư giãn đúng không?

Chà, vấn đề là sự đổi mới luôn đến theo từng đợt và đôi khi đột phá chính xác là như vậy: chúng
vượt qua dự đoán đã được thiết lập sẵn. Với số lượng lớn các nghiên cứu vào lĩnh vực này, thật
khó để theo dõi tất cả các nỗ lực.

Vậy chúng ta thực sự đang ở đâu?

Craig Gidney từ Google và Martin Ekera từ Viện Công nghệ Hoàng gia ở Stockholm đã công bố
nỗ lực đầy đủ nhất để làm nổi bật những gì có thể. Mới tháng trước, họ đã xuất bản một bài
báo có tên "Cách tính số nguyên RSA 2048 bit [CNT(CH3]trong 8 giờ bằng cách sử dụng 20 triệu qubit
nhiễu".

Phần thú vị nhất của bài báo này là họ đã tạo ra một hệ thống hoàn chỉnh tính đến các qubit
nhiễu / không hoàn hảo với tỷ lệ lỗi cổng là 0,1%. IBM’s Q System One có tỷ lệ lỗi cổng một
qubit là 0,04% và tỷ lệ lỗi cổng hai qubit trung bình là 1,6%, vì vậy chúng tôi không vượt xa ngay
cả với các máy tính lượng tử “ồn ào” hiện nay.
Bây giờ 20 triệu qubit vẫn còn rất nhiều qubit[CNT(CH4], nhưng lần đầu tiên chúng ta có một thuật toán
không chỉ là lý thuyết về bản chất [CNT(CH5]("Nếu tôi giả sử một máy tính lượng tử hoàn hảo tồn tại, thì
tôi có thể giải quyết được điều này"), nhưng rất thực tế (nghĩa là “chúng tôi đã làm việc xung
quanh những hạn chế hiện tại và với những cải tiến khiêm tốn trên các kiến trúc hiện tại, chúng
tôi có thể giải quyết vấn đề này“). Đây là một sự thay đổi lớn và tôi chắc chắn rằng 20 triệu
qubit cũng có thể giảm đi một chút nếu tỷ lệ lỗi cổng được giảm và thông qua việc tối ưu hóa
khác.

Kết quả tương tự được xác định là có thể đạt được vào năm 2012 với 1 tỷ qubit (Fowler và cộng
sự), sau đó với 230 triệu qubit vào năm 2017 (O'Gorman và cộng sự), 170 triệu qubit vào năm
2019 với (Gheorghiu và cộng sự), đưa chúng ta đến với 20 triệu qubit vào năm 2019 với phân
tích được mô tả ở trên (Gidney, Ekera). Vì vậy, chúng ta đã đi từ 1 tỷ qubit lên [CNT(CH6]20m qubit trong
khoảng thời gian 7 năm. Đó là ý của tôi khi nói về những đột phá và những nghiên cứu quy mô
[CNT(CH7]về lĩnh vực này.
Bây giờ thì tất cả đều tốt và tốt[CNT(CH8], nhưng ngay cả nghiên cứu này cũng chỉ là "lý thuyết" vì các tác
giả rõ ràng không thể chạy thuật toán của họ trên phần cứng điện toán lượng tử thực (vì điều
này [CNT(CH9]chưa tồn tại).

Vậy phần cứng có sẵn hiện tại có thể làm gì?[CNT(CH10]

Trước tiên, chúng ta hãy xem xét những gì khả thi trên các máy tính cổ điển hiện nay. Năm
2010, các nhà nghiên cứu đã tính toán thành công số nguyên 768-bit (về cơ bản phá vỡ RSA-
768). Đó là một số có 232 chữ số! Họ đã phải sử dụng hàng trăm máy trong khoảng thời gian 2
năm (!) Sẽ rất khó để so sánh điều này với một máy tính lượng tử duy nhất, nhưng chúng ta bắt
đầu thôi.

Vậy, con số lớn nhất đã được tính toán bởi một máy tính lượng tử hiện nay là bao nhiêu?

Con số lớn nhất được tính toán là 35 [1], đạt được trên Máy tính lượng tử của IBM
(https://arxiv.org/abs/1903.00768). 35 là một số 6 bit, vì vậy chúng ta còn cách xa các khóa RSA
2048 bit (có 617 chữ số thập phân - so với 2 chữ số này !!!) Thực tế, tôi chắc rằng hầu hết các
bạn đều bật cười với con số nhỏ bé này …

Bây giờ, tiếp theo là gì?

Ủ lượng tử

Chà, trong khi thế giới đang bận rộn về việc ước tính khi nào chúng ta sẽ có các máy tính lượng
tử phổ quát đủ lớn và đủ ổn định để chạy thuật toán Shor, thì một phương pháp mới đang xuất
hiện có thể tiềm ẩn rủi ro lớn hơn nhiều đối với RSA và mật mã nói chung.

Kỹ thuật ủ lượng tử đang nổi lên như một lực lượng mạnh mẽ cần được tính đến. Thiết bị ủ
lượng tử (ví dụ: Máy tính lượng tử của D-Wave) không phải là máy tính lượng tử phổ quát. Họ
không thể tính toán mọi thứ. Họ không thể chạy thuật toán của Shor. Chúng chỉ có thể giải
quyết các vấn đề tối ưu hóa đặc biệt, nhưng vì những hạn chế này, chúng đã tồn tại lâu hơn,
trưởng thành hơn nhiều và có nhiều qubit hơn máy tính lượng tử phổ thông.

Hóa ra, bài toán tính toán số nguyên [CNT(CH11]cũng có thể được hình thành như một bài toán tối ưu hóa.
Có thể tìm thấy phần giới thiệu hay về chủ đề này trong bài báo này của Raouf Dridi và Hedayat
Alghassi ( https://arxiv.org/abs/1604.05796 ). Họ có thể đưa ra con số 200.099 vào năm 2016
với 897 qubit.

Thuật toán của họ đã chạy thành công trên Bộ xử lý 2X của D-Wave có 1.100 qubit. Đó đã là
một số 18 bit.

Nhưng tin tức lớn nhất đến từ Trung Quốc khi vào đầu năm nay, các nhà nghiên cứu Trung
Quốc từ Đại học Thượng Hải đã phá kỷ lục này bằng cách tính con số 1.005.973 chỉ với 89 qubit
trên phần cứng của D-Wave. Đó bây giờ đã là một số 20 bit.

Hai điều rất thú vị về cách tiếp cận của họ.

Họ có thể chạy điều này trên phần cứng hiện có, có nghĩa là chất lượng hiện tại của qubit đủ tốt
để đạt được những kết quả này. Để thừa số một số RSA-768 (bản ghi thừa số hiện tại trên máy
tính cổ điển), thuật toán của họ sẽ “chỉ” cần 147.454 qubit. D-Wave đã công bố một máy tính
lượng tử với 5.640 qubit, vì vậy càng có nhiều qubit, RSA càng dễ bị tấn công.

Thuật toán của họ sử dụng sự kết hợp giữa tính toán lượng tử và tính toán cổ điển để tối đa
hóa kết quả. (Điều thú vị là thuật toán Shor và cách tiếp cận phổ biến đều giống nhau. Sử dụng
máy tính cổ điển cho những gì chúng giỏi và máy tính lượng tử cho những gì chúng giỏi)

Nếu giả sử số qubit ủ lượng tử tăng gấp đôi sau mỗi 2 năm (trường hợp này xảy ra trong quá
khứ), chúng ta sẽ ở đó sau 10 năm. Đối với tôi, dường như có nhiều khả năng đạt được mục
tiêu này hơn so với con đường thay thế là xây dựng 1.539 qubit logic trên một máy tính lượng
tử phổ quát không có lỗi hoàn hảo để cho phép nó chạy thuật toán Shor trong 10 năm.

Những ước tính thời gian này giả định rằng không có đột phá cơ bản nào từ khía cạnh thuật
toán sẽ được thực hiện và thuật toán tương tự sẽ được chạy trên thiết bị D-Wave chỉ với nhiều
qubit hơn. Đây rõ ràng là một sự đơn giản hóa lớn vì có quá nhiều nghiên cứu đang diễn ra vào
lúc này, điều này chắc chắn sẽ dẫn đến những bước đột phá. Ngoài ra, nó không chỉ là số lượng
qubit mà còn là khả năng kết nối liên thông tốt hơn, điều này sẽ giảm hơn nữa số qubit cần
thiết.
Thật thú vị, câu nói của Mahatma Gandhi hoàn toàn phù hợp với điều này: "Đầu tiên họ phớt lờ
bạn (Máy tính lượng tử sẽ không bao giờ tồn tại), sau đó họ cười nhạo bạn (thật đấy, bạn có
thể tính đến con số 35? Hay quá ...), rồi họ đấu với bạn, rồi bạn thắng" .

Vì vậy, đã đến lúc cố gắng tận hưởng những năm đổi mới tiếp theo trong lĩnh vực này ☺

Có các phím tắt [CNT(CH12]cho các trường hợp đặc biệt (ví dụ: khi hai thừa số nguyên tố chỉ khác nhau
một chút) và khi đó 966,887 là số cao nhất đã được tính toán, nhưng những trường hợp đặc
biệt này không giúp phá vỡ RSA, vì vậy chúng tôi không tính những trường hợp này.

You might also like