Điểm:2

Làm cách nào để hệ thống mật mã LWE bảo mật CPA có thể bị phá vỡ bởi kẻ tấn công đang hoạt động?

lá cờ cn

Hệ thống mật mã LWE chỉ bảo mật CPA như ví dụ đã nêu trong Một thập kỷ của mật mã dựa trên lưới. Hãy xem xét hệ thống sau được mô tả ở đó (Phần 5.2)

  • Khóa bí mật là bí mật LWE thống nhất $s \in \mathbb{Z}_q^n$, và khóa công khai là một số $m \approx (n+1) \log(q)$ mẫu $(\bar{a}_i, b_i = \left <\bar{a}_i, s \right > +e$ được thu thập dưới dạng các cột của ma trận $A$ $$A = \begin{pmatrix} \bar{A} \ b^t \end{pmatrix} \in \mathbb{Z}_q^{(n+1) \times m}$$ ở đâu $b^t = s^t \bar{A} +e e^t \mod q$.
  • Để mã hóa một chút $\mu \in \mathbb{Z}_2 = \{0,1\}$ sử dụng khóa công khai $A$, một người chọn một unifrom $x \in {0,1}^m$ và xuất bản mã $$c = A \cdot x + (0, \mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1}$$
  • Để giải mã bằng khóa bí mật $\mathbb{s}$, người ta tính: $$(-s, 1)^t \cdot c = (-s, 1)^t \cdot A \cdot x +\mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb {Z}_q^{n+1}$$ $$ = e^t \cdot x + \mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1}$$ $$\approx \mu \cdot \lfloor \frac{q}{2} \rceil \in \mathbb{Z}_q^{n+1} \mod q$$ và kiểm tra xem nó có gần hơn với $0$ hoặc $\frac{q}{2} \mod q$.

Bài báo nói rằng "chúng tôi lưu ý rằng hệ thống có thể bị phá vỡ một cách tầm thường dưới một cuộc tấn công chủ động hoặc bản mã được chọn".

Một cuộc tấn công như vậy sẽ trông như thế nào? Tôi sẽ xem xét để mã hóa $0$ chút với $x$ là tất cả $1$-s vector để truy xuất $e$ và sau đó lấy $s$ qua $\bar{A}^{-1} \cdot (b-e)$. Có bất kỳ cách nào khác được biết đến? Và có cách nào để mở rộng các cuộc tấn công này sang phiên bản bảo mật CPA của các ứng cử viên lọt vào vòng chung kết NIST-pqc, chẳng hạn như Kyber không?

Điểm:2
lá cờ in

Hãy xem xét đối thủ đó $A$ chọn hai tin nhắn $m_1 = 0$$m_2 = 1$ theo Ind-CCA1 trò chơi và đấu với challanger.

  • Đối thủ A gửi $m_1$$m_2$ đối với người thách đấu.

  • Người thách đấu chọn ngẫu nhiên $b$ ở giữa $0$$1$; $b \stackrel{$}{\leftarrow}${0,1}

  • Người thách thức tính toán $c:=Enc(s,m_b)$ và gửi $c$ đến $A$.

  • Kẻ thù thực hiện các hoạt động bổ sung trong thời gian đa thức, bao gồm cả các cuộc gọi đến tiên tri mã hóa/giải mã, đối với các bản mã khác với $c$.

    • $c_0 = EncOracle(0)$

    • $c' = c \oplus c_0$

      tức là thực hiện phép cộng đồng hình của $m_b$ bằng không!.

    • $m' = DecOracle(c')$

      Đây là một yêu cầu hợp lệ vì $c' \neq c$.

    • Và chúng ta có $m' = m_b$

  • nếu $m' = 0$ trở lại $0$
    khác trở lại $1$

Đối thủ thắng trò chơi với lợi thế 1.

Nói cách khác, các bản mã có thể uốn được, không có tính toàn vẹn để bảo đảm chống lại đối thủ CCA1.

cryptobeginner avatar
lá cờ cn
Cảm ơn! Tuy nhiên, có một câu hỏi: Cuộc tấn công được đặt ra sẽ gọi nhà tiên tri giải mã _after_ đạt được thử thách. Tuy nhiên, mô tả của liên kết IND-CCA1 đề cập rằng kẻ tấn công phải gọi tiên tri giải mã _before_ nhận được thử thách: "_Điều đó có nghĩa là: kẻ thù có thể mã hóa hoặc giải mã các tin nhắn tùy ý trước khi nhận được bản mã thách thức._" Cuộc tấn công được đặt ra ở đây sẽ không vi phạm yêu cầu này?

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