Puncte:2

Cum poate fi spart criptosistemul LWE securizat CPA de către un atacator activ?

drapel cn

Criptosistemul LWE este doar securizat CPA, așa cum se precizează, de exemplu, în Un deceniu de criptografie bazată pe zăbrele. Luați în considerare următorul sistem descris acolo (Secțiunea 5.2)

  • Cheia secretă este un secret LWE uniform $s \in \mathbb{Z}_q^n$, iar cheia publică este unele $m \aprox (n+1) \log(q)$ mostre $(\bar{a}_i, b_i = \left <\bar{a}_i, s \right > +e$ colectate ca coloanele unei matrice $A$ $$A = \begin{pmatrix} \bar{A} \ b^t \end{pmatrix} \in \mathbb{Z}_q^{(n+1) \times m}$$ Unde $b^t = s^t \bar{A} +e e^t \mod q$.
  • Pentru a cripta un pic $\mu \in \mathbb{Z}_2 = \{0,1\}$ folosind cheia publică $A$, se alege un unifrom $x \în {0,1}^m$ și scoate textul cifrat $$c = A \cdot x + (0, \mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1}$$
  • Pentru a decripta folosind cheia secretă $\mathbb{s}$, se calculează: $$(-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}$$ $$\aproximativ \mu \cdot \lfloor \frac{q}{2} \rceil \in \mathbb{Z}_q^{n+1} \mod q$$ și testează dacă este mai aproape de $0$ sau $\frac{q}{2} \mod q$.

Lucrarea afirmă că „observăm că sistemul poate fi spart în mod trivial sub un atac activ sau cu text cifrat ales”.

Cum ar arăta un astfel de atac? Aș lua în considerare să criptez $0$ bit cu $x$ fiind totul $1$-s vector de preluat $e$ și apoi recuperați $s$ prin intermediul $\bar{A}^{-1} \cdot (b-e)$. Se cunosc alte moduri? Și există modalități cunoscute de a extinde aceste atacuri la versiunea securizată CPA a candidaților finaliști NIST-pqc, de exemplu, Kyber?

Puncte:2
drapel in

Luați în considerare acel adversar $A$ alege două mesaje $m_1 = 0$ și $m_2 = 1$ conform Ind-CCA1 joc și joacă împotriva contestatorului.

  • Adversarul A trimite $m_1$ și $m_2$ la contestator.

  • Challenger alege aleatoriu $b$ între $0$ și $1$; $b \stackrel{$}{\leftarrow}${0,1}

  • Challenger calculează $c:=Enc(s,m_b)$ si trimite $c$ la $A$.

  • Adversary efectuează operații suplimentare în timp polinomial, inclusiv apeluri la oracolele de criptare/decriptare, pentru texte cifrate diferite de $c$.

    • $c_0 = EncOracle(0)$

    • $c' = c \oplus c_0$

      adică executați o adăugare homomorfă a $m_b$ cu zero!.

    • $m' = DecOracle(c')$

      Aceasta este o cerere valabilă din moment ce $c' \neq c$.

    • Și avem $m' = m_b$

  • dacă $m' = 0$ întoarcere $0$
    altfel reveni $1$

Adversarul câștigă jocul cu un avantaj 1.

Cu alte cuvinte, textele cifrate sunt maleabile, nu există integritate de asigurat împotriva adversarului CCA1.

cryptobeginner avatar
drapel cn
Mulțumiri! Totuși, o întrebare: atacul declanșat cheamă oracolul de decriptare _după_ obținerea provocării. Cu toate acestea, descrierea IND-CCA1 legată menționează că atacatorul trebuie să apeleze oracolul de decriptare _înainte_ de a obține provocarea: „_Asta înseamnă: adversarul poate cripta sau decripta mesaje arbitrare înainte de a obține textul cifrat de provocare._” Atacul desfășurat aici nu ar încălca această cerință?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.