Рейтинг:2

Как криптосистема LWE с защитой CPA может быть взломана активным злоумышленником?

флаг cn

LWE-криптосистема защищена только CPA, как, например, указано в Десятилетие криптографии на основе решеток. Рассмотрим следующую систему, описанную там (раздел 5.2)

  • Секретный ключ представляет собой универсальный секрет LWE. $s \in \mathbb{Z}_q^n$, а открытый ключ какой-то $m \приблизительно (n+1) \log(q)$ образцы $(\bar{a}_i, b_i = \left <\bar{a}_i, s \right > +e$ собраны как столбцы матрицы $А$ $$A = \begin{pmatrix} \bar{A} \ b^t \end{pmatrix} \in \mathbb{Z}_q^{(n+1) \times m}$$ куда $b^t = s^t \bar{A} +e e^t \mod q$.
  • Чтобы немного зашифровать $\mu \in \mathbb{Z}_2 = \{0,1\}$ с помощью открытого ключа $А$, выбирается униформа $x \in {0,1}^m$ и выводит зашифрованный текст $$c = A \cdot x + (0, \mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1}$$
  • Чтобы расшифровать с помощью секретного ключа $\mathbb{s}$, вычисляется: $$(-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}$$ $$\приблизительно \mu \cdot \lfloor \frac{q}{2} \rceil \in \mathbb{Z}_q^{n+1} \mod q$$ и проверяет, ближе ли он к $0$ или же $\frac{q}{2} \mod q$.

В документе говорится, что «мы отмечаем, что система тривиально взломана при активной атаке или атаке с выбранным зашифрованным текстом».

Как будет выглядеть такая атака? Я бы подумал о шифровании $0$ немного с $х$ быть всем $1$-s вектор для получения $е$ а затем получить $s$ с помощью $\bar{A}^{-1} \cdot (b-e)$. Известны ли другие способы? И известны ли способы распространить эти атаки на CPA-защищенную версию кандидатов в финалисты NIST-pqc, например, Kyber?

Рейтинг:2
флаг in

Считайте, что противник $А$ выбирает два сообщения $m_1 = 0$ и $м_2 = 1$ согласно Ind-CCA1 игра и играет против претендента.

  • Противник А посылает $m_1$ и $m_2$ к претенденту.

  • Челленджер случайным образом выбирает $б$ между $0$ и $1$; $b \stackrel{$}{\leftarrow}${0,1}

  • Челленджер вычисляет $c:=Enc(s,m_b)$ и отправить $с$ к $А$.

  • Противник выполняет дополнительные операции за полиномиальное время, включая вызовы оракулов шифрования/дешифрования, для шифротекстов, отличных от $с$.

    • $c_0 = EncOracle(0)$

    • $c' = c \oplus c_0$

      т. е. выполнить гомоморфное сложение $m_b$ с нуля!.

    • $m' = DecOracle(c')$

      Это действительный запрос, поскольку $с'\neq с$.

    • И у нас есть $m' = m_b$

  • если $м' = 0$ возвращаться $0$
    иначе вернуться $1$

Противник выигрывает игру с преимуществом 1.

Другими словами, зашифрованные тексты податливы, целостность не может быть защищена от злоумышленника CCA1.

cryptobeginner avatar
флаг cn
Спасибо! Однако один вопрос: изложенная атака вызывает оракула дешифрования _после_ получения вызова. Однако в описании связанного IND-CCA1 упоминается, что злоумышленник должен вызвать оракул дешифрования _перед_ получением запроса: «_Это означает: противник может зашифровать или расшифровать произвольные сообщения до получения зашифрованного текста вызова._» Не нарушит ли изложенная здесь атака это требование?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.