Điểm:2

LWE - Mã hóa/Giải mã tin nhắn lớn hơn 1 bit

lá cờ in

Tôi muốn biết liệu LWE (và các biến thể của nó: RLWE và MLWE) có thể mã hóa các tin nhắn lớn hơn 1 bit hay không. Có thể không? Tôi chưa tìm thấy bất kỳ tài liệu tham khảo nào.Bạn có thể giải thích cho tôi hoặc đưa ra một số tài liệu tham khảo tốt về nó không?

Cảm ơn trước.

CẬP NHẬT: Tôi đã đọc một số bài báo và có lẽ câu hỏi của tôi sẽ hơi khác một chút: Có kế hoạch nào sử dụng LWE và các biến thể không phải là FHE (mã hóa nhiều hơn 1 bit mỗi lần) không? Ví dụ, xem xét các đề xuất của NIST, tôi không biết liệu chúng có phải là FHE hay không. Ví dụ, tôi nhận thấy rằng văn bản mật mã lớn hơn nhiều so với văn bản thuần túy khi tôi sử dụng Crystals-Kyber. Vì vậy, tôi cho rằng đó là FHE hoặc nó đang mã hóa 1 bit mỗi lần.

Điểm:1
lá cờ ng

Câu trả lời là "có" và các sửa đổi tương đối đơn giản đối với các chuyên gia (đó là lý do tại sao bạn có thể không thấy nó thường xuyên). Có khoảng ba loại sửa đổi, tôi sẽ cố gắng đề cập ngắn gọn tất cả chúng.

Xuyên suốt, tôi sẽ đề cập đến lược đồ mã hóa "kiểu Regev" tiêu chuẩn

$$\mathsf{Enc}_s(m) = (A, As + e + (q/2)m),\qquad \mathsf{Dec}(A, b) = \lfloor b - As\rceil_2$$

chức năng ở đâu $\lsàn x\rceil_p = p\lsàn x/p\rceil$ vòng $x$ đến bội số nguyên gần nhất của $p$ (và $\lsàn x\rceil$ là hàm "làm tròn đến số nguyên gần nhất" tiêu chuẩn).

Đầu tiên, có một cách tiêu chuẩn để đi từ một không gian tin nhắn của $\mathbb{Z}/2\mathbb{Z}$ đến $(\mathbb{Z}/2\mathbb{Z})^n$, cụ thể là thông qua "sơ đồ mã hóa ma trận". ý tưởng là có $n$ khóa độc lập $s_1, s_2,\dots, s_n$. Bạn có thể thu thập chúng thành một ma trận $\mathbf{S} = [s_1,\dots,s_n]$, và sau đó mã hóa với

$$\mathsf{Enc}_{\mathbf{S}}(\vec m) = (A, A\mathbf{S} + \vec e + (q/2)\vec m)$$

Thực tế, chúng tôi đang "tái sử dụng" $A$ băng qua $n$ mã hóa khác nhau. Như $A$ là phần lớn nhất (quy mô khôn ngoan) của chương trình, đây là một khoản tiết kiệm kha khá. Các phím tăng theo hệ số nhân $n$ Tuy nhiên. Tôi tin rằng sự tối ưu hóa này được đề cập trong PVW08 (có thể là "Chức năng cửa sập thất thoát và các ứng dụng của chúng"?), nhưng không biết liệu đây có phải là lần đầu tiên nó xuất hiện hay không.

Một cách khác để đi từ một không gian tin nhắn của $\mathbb{Z}/2\mathbb{Z}$ đến $(\mathbb{Z}/2\mathbb{Z})^n$ là sử dụng các vòng tổng quát hơn, tức là sử dụng RLWE. Điều này hơi không tầm thường về mặt toán học, vì vậy tôi sẽ đưa ra một cái nhìn tổng quan ở cấp độ cao. Bản mã bây giờ có dạng $(a, as + e + (q/2)m)$, bây giờ đang ở đâu $a, s, e, m$ là tất cả đa thức bằng cấp $n$. Đặc biệt, người ta nhận được mã hóa cho các vectơ bit trong $(\mathbb{Z}/2\mathbb{Z})^n$ "miễn phí", cụ thể là không có phải tăng kích thước của khóa bí mật. Đây là một trong những cách hiệu quả hơn để vượt qua mã hóa bit và cực kỳ phổ biến trong thực tế (ví dụ: mọi giải pháp NIST đều sử dụng một số phiên bản này, tức là RLWE, MLWE hoặc nội dung NTRU không nguyên, ngoại trừ FrodoKEM, cố ý không vì lý do bảo mật).

Nếu bạn không thích sự xuất hiện của $\mathbb{Z}/2\mathbb{Z}$ mọi nơi? Những câu chuyện trên đều có thể khái quát để có không gian nhắn $\mathbb{Z}p/\mathbb{Z}$ (chứ không phải là trường hợp cụ thể của $p = 2$) bằng cách đổi số hạng $(q/2)m$ đến $(q/p)m$ (trong trường hợp đầu tiên, chúng tôi chọn $q$ như vậy mà $2\trung q$. Sau khi khái quát hóa, chúng tôi muốn $p\mid q$). Điều này mang lại mã hóa với không gian tin nhắn $\mathbb{Z}/p\mathbb{Z}$hoặc sau hai lần tối ưu hóa mà tôi đã đề cập $(\mathbb{Z}/p\mathbb{Z})^n$.

Lưu ý rằng điều này không miễn phí --- nói một cách đại khái, thuật ngữ $(q/2)m$ được sử dụng để đảm bảo giữ đúng quá trình giải mã và hoạt động khi có lỗi $|e| < q/4$ trong mỗi tọa độ. Đối với chung $p$, giới hạn này thắt chặt và người ta phải có lỗi $|e| < q/2p$ trong mỗi tọa độ. Lỗi nhỏ hơn này dẫn đến các chương trình kém an toàn hơn. Người ta có thể giải quyết vấn đề này thông qua việc tham số hóa lại mọi thứ, nhưng vấn đề là việc chuyển đổi từ $\mathbb{Z}/2\mathbb{Z}\mapsto \mathbb{Z}/p\mathbb{Z}$ không đến "miễn phí".


Đối với câu hỏi cập nhật của bạn, điều đáng nói là có các lược đồ mã hóa dựa trên LWE (thậm chí cả FHE!!) với hệ số mở rộng bản mã (tối ưu tiệm cận), xem

Felipe Rampazzo avatar
lá cờ in
Giải thích tuyệt vời, @Mark. Đây là những gì tôi đang tìm kiếm. Cám ơn!
Điểm:0
lá cờ au

Vâng, nó có thể kể từ, ví dụ nhiều bit sử dụng phương pháp này, ví dụ: nếu tin nhắn của chúng tôi lớn hơn 1 bit, bạn chỉ có thể chuyển đổi các giá trị bạn muốn mã hóa bằng cách sử dụng chìa khoá bí mật S giữ khóa riêng của chúng tôi Kvà chúng ta cũng có thể tạo khóa công khai P dựa trên các số đáng tin cậy và tạo ra một bộ số N, và cả lỗi aleatory e, với chức năng, ví dụ, $N_{i}=A_{i}S+E_{i} \text{ (mod q)}$. đ Với nhiều bit, chúng tôi lấy giá trị của mình và chuyển đổi thành bit và sau khi chúng tôi mã hóa từng bit.

Là một tài liệu tham khảo với một mã, bạn có thể đọc trong https://medium.com/asecuritysite-when-bob-met-alice/multi-bit-public-key-encryption-with-learning-with-errors-lwe-e6c7cad02758

và một tờ giấy có thể được https://cims.nyu.edu/~regev/papers/lwesurvey.pdf

kelalaka avatar
lá cờ in
Tôi nghĩ, OP không hỏi về việc biểu diễn tin nhắn bằng 4-bit sau đó mã hóa, thay vào đó họ coi không gian tin nhắn của LWE-Enc lớn hơn $\mathbb F_2$. Bài báo vừa thất bại về điều đó!.
Felipe Rampazzo avatar
lá cờ in
Chào các cậu. Cảm ơn câu trả lời của bạn. Như @kelalaka đã nói, ý tưởng đầu tiên của tôi là mã hóa nhiều hơn 1 bit mỗi lần, nhưng tôi không biết liệu điều đó có khả thi hay không, vì tôi chỉ tìm thấy tài liệu tham khảo bằng cách sử dụng các mẫu của PK để mã hóa 1 bit cho mỗi mẫu. Tôi vẫn chưa hiểu cách xác định các mẫu và tại sao không thể sử dụng một khối thay thế.

Đă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.