Điểm:12

Số thao tác bit cần thiết cho các cuộc tấn công giải mã bộ thông tin trên các hệ thống mật mã dựa trên mã?

lá cờ dk

Câu hỏi này có khả năng liên quan đến các tiêu chuẩn mật mã sau lượng tử của NIST, liên quan đến các hệ thống mật mã dựa trên mã như McEliece, BIKE và HQC.

Tờ giấy này ước tính số lượng hoạt động bit cụ thể cần thiết để thực hiện cuộc tấn công giải mã bộ thông tin (ISD) MayâMeurerâThomae (MMT). Nó cho thấy rằng điều này ít hơn đáng kể so với bất kỳ biến thể ISD nào khác được xem xét, bao gồm cả thuật toán BJMM, được nhiều người coi là một cải tiến so với MMT. (Ví dụ: đối với bộ tham số 8192128 cổ điển của McEliece, bài báo đưa ra độ phức tạp của MMT là $2^{249.74}$ như trái ngược với $2^{299.89}$ cho BJMM.) Phân tích này có đúng không?

Nếu phân tích là chính xác, có vẻ như điều này có thể đe dọa không chỉ một số tham số McEliece mà còn cả một số tham số của các lược đồ dựa trên mã khác. Nếu không, một nguồn tốt cho các con số chính xác là gì?

(Bài viết tuyên bố $2^{87.95}$ độ phức tạp bộ nhớ cho MMT, so với $2^{79.97}$ cho BJMM, và $2^{67.64}$ đối với thuật toán của Stern, xem Bảng 5. Con số này dường như không đủ lớn để bù đắp cho sự khác biệt trên bất kỳ mô hình hợp lý nào về chi phí bộ nhớ so với hoạt động bit. MMT được tuyên bố là rẻ hơn tương tự đối với các bộ tham số và lược đồ khác.)

Câu hỏi này được đăng chéo trên diễn đàn NIST PQC đây.

Điểm:5
lá cờ jp

Tôi không thể tái tạo độ phức tạp bit chính xác từ bài báo đã đề cập [1], các tác giả đã không cung cấp mã nguồn. Tôi đang đăng các công cụ ước tính của mình cho các cuộc tấn công MMT và BJMM đây.

Kết luận rằng thuật toán BJMM kém hơn MMT là không chính xác vì MMT là trường hợp đặc biệt của BJMM. Tóm lại, BJMM là MMT không có đại diện cho loại $1 = 0+0 \bmod 2 $ cho vectơ lỗi. Sự nhầm lẫn xuất phát từ thực tế là các tác giả của [1] xem xét BJMM với độ sâu cố định nhất định của cây tìm kiếm (cụ thể là độ sâu 3 như được thực hiện trong bài báo gốc [2]. Tuy nhiên, điều này có thể không tối ưu đối với một chế độ thưa thớt nhất định, do đó, kết luận sai lầm rằng BJMM kém hơn MMT. Tôi cung cấp thêm chi tiết dưới đây.

Cốt lõi của cả thuật toán MMT và BJMM là ý tưởng về mơ hồ tách vectơ lỗi $e \in \{0,1\}^k$ trọng lượng $p$ như $e = e_1 + e_2$. MMT mất $e_1, e_2 \in \{0,1\}^k$ mỗi trọng lượng $p/2$, do đó cho $\binom{p}{p/2}$ cách để đại diện $0$-tọa độ như $0+1$ hoặc $1+0$ Trong $e$. BJMM lấy $e_1, e_2 \in \{0,1\}^k$ mỗi trọng lượng $p/2 + \varepsilon$, do đó cho $\binom{p}{p/2} \cdot \binom{k-p}{\varepsilon}$ biểu diễn (bội số thứ hai là số lượng biểu diễn của loại $0 = 1+1$).

Nó chỉ ra rằng đối với vấn đề giải mã trong chế độ dày đặc, tức là khi trọng lượng của $e$ là thứ tự $\Theta(n)$, thuật toán BJMM sẽ nhanh hơn khi chúng ta lặp lại quy trình bằng cách biểu diễn $e_1$, $e_2$ một cách mơ hồ. Do đó, người ta kết thúc với cấu trúc cây tìm kiếm của thuật toán, trong đó độ sâu tối ưu của cây là một tham số được tối ưu hóa. Từ [2] đối với chế độ dày đặc, nó xảy ra là 3.

Đối với các tham số McEliece cổ điển, hóa ra việc thực hiện độ sâu-2 là tối ưu. Theo trực giác, lỗi càng thưa thớt thì cây tối ưu sẽ càng nông, bởi vì người ta không thể chia đôi một trọng lượng nhỏ quá nhiều lần.

Cụ thể, tôi có được các chứng khoán bit sau (và độ phức tạp của bộ nhớ) với công cụ ước tính của mình. Đây có thể là đánh giá thấp, như $poly(n)$ các yếu tố bị bỏ qua. Bạn có thể sao chép chúng bằng cách chạy tập lệnh.

-------------------- MMT --------------------

n = 3488 k = 2720 w = 64 {'thời gian chạy': 133.610045757394, 'mem': 61.4108701659799}

n = 4608 k = 3360 w = 96 {'thời gian chạy': 174.170500202444, 'mem': 76.7183814578096}

n = 6960 k = 5413 w = 119 {'thời gian chạy': 244.706198594600, 'mem': 123.451330788046}

n = 8192 k = 6528 w = 128 {'thời gian chạy': 277.268692835670, 'mem': 140.825234863797}

BJMM độ sâu 2 vượt trội hơn một chút so với cả MMT và BJMM độ sâu 3.

----------------BJMM độ sâu 2 ----------------

n = 3488 k = 2720 w = 64 {'thời gian chạy': 127.121142192395,'mem': 65.4912086419963,'eps': 4}

n = 4608 k = 3360 w = 96 {'thời gian chạy': 164.510671206084, 'mem': 88.1961572319148, 'eps': 6}

n = 6960 k = 5413 w = 119 {'thời gian chạy': 231.228308300186, 'mem': 118.193072674123, 'eps': 8}

n = 8192 k = 6528 w = 128 {'thời gian chạy': 262.367185095806,'mem': 134.928413147468, 'eps': 8}

----------------Độ sâu BJMM 3 ----------------

n = 3488 k = 2720 w = 64 {'thời gian chạy': 132.929177320070, 'mem': 30.8744409777593, 'eps': [2, 0]}

n = 4608 k = 3360 w = 96 {'thời gian chạy': 167.443669507488, 'mem': 45.4015594758618, 'eps': [6, 0]}

n = 6960 k = 5413 w = 119 {'thời gian chạy': 236.346159271338, 'mem': 67.5649403829532,'eps': [6, 0]}

n = 8192 k = 6528 w = 128 {'thời gian chạy': 269.431207750362, 'mem': 70.1193015124538, 'eps': [6, 0]}

[1] https://www.mdpi.com/1999-4893/12/10/209/pdf

[2] https://eprint.iacr.org/2012/026.pdf

Alessandro Barenghi avatar
lá cờ mu
Mã nguồn có sẵn [tại đây](https://github.com/LEDAcrypt/LEDAtools), liên kết được cung cấp làm tài liệu tham khảo [26] trong bài báo.
lá cờ sa
TMM
$1 = 0 + 0 \mod 2$ có nên là $0 = 1 + 1 \mod 2$ không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.