ALBC-2-Verschlüsselung

Ein Spezialfall der ALBC-k-Verschlüsselung, eine Blockchiffre.

Verschlüsselung

  • Alphabet: Großbuchstaben, identifiziert mit den Zahlen 0250\dots 25.

  • Schlüssel: KK ist ein 66-Tuple K=(k1,k2,k3,k4,k5,k6)K=(k_{1},k_{2},k_{3},k_{4},k_{5},k_{6}) mit kk aus 0250\dots 25 und die ggT-Bedingung gilt.

  • Verschlüsselungsfunktion ist für den Block (xy)\begin{pmatrix} x & y\end{pmatrix} gegeben als

    fk((xy))=(k1k2k4k5)(xy)+(k3k6)mod(26)f_{k}(\begin{pmatrix} x \\ y \\ \end{pmatrix})=\begin{pmatrix} k_{1} & k_{2} \\ k_{4} & k_{5} \end{pmatrix}\begin{pmatrix} x \\ y \\ \end{pmatrix}+\begin{pmatrix} k_{3} \\ k_{6} \end{pmatrix}\operatorname{mod}(26)

    Verfahren:

  1. Der Klartext wird in nn Blöcke der Länge 22 aufgeteilt. Der Text ist also x1y1,x2y2x_{1}y_{1},x_{2}y_{2}\dots
  2. Der Chiffretext entsteht dann durch x~i=k1xi+k2yi+k3modN,y~i=k4xi+k5yi+k6modN\widetilde{x}_i=k_1 x_i+k_2 y_i+k_3 \bmod N, \quad \widetilde{y}_i=k_4 x_i+k_5 y_i+k_6 \bmod N

Entschlüsselung

Verfahren:

  1. Finde ein dd, sodass die ggT-Bedingung d(k1k5k2k4)mod26=1d\left(k_1 k_5-k_2 k_4\right) \bmod 26=1 erfüllt ist
  2. Berechne den inversen Schlüssel mit 1=dk5mod26=75mod26=232=(dk2)mod26=(40)mod26=123=d(k2k6k3k5)mod26=(715)mod26=134=(dk4)mod26=(115)mod26=155=dk1mod26=25mod26=256=d(k3k4k1k6)mod26=1605mod26=19\begin{aligned} \ell_1 &=d k_5 \bmod 26=75 \bmod 26=23 \\ \ell_2 &=\left(-d k_2\right) \bmod 26=(-40) \bmod 26=12 \\ \ell_3 &=d\left(k_2 k_6-k_3 k_5\right) \bmod 26=(-715) \bmod 26=13 \\ \ell_4 &=\left(-d k_4\right) \bmod 26=(-115) \bmod 26=15 \\ \ell_5 &=d k_1 \bmod 26=25 \bmod 26=25 \\ \ell_6 &=d\left(k_3 k_4-k_1 k_6\right) \bmod 26=1605 \bmod 26=19 \end{aligned}
  3. Der Klartext wird in nn Blöcke der Länge 22 aufgeteilt. Der Text ist also x1y1,x2y2x_{1}y_{1},x_{2}y_{2}\dots
  4. Entschlüsselung durch xi=1x~i+2y~i+3mod26,yi=4x~i+5y~i+6mod26.x_i=\ell_1 \widetilde{x}_i+\ell_2 \widetilde{y}_i+\ell_3 \bmod 26, \quad y_i=\ell_4 \widetilde{x}_i+\ell_5 \widetilde{y}_i+\ell_6 \bmod 26 .

Die Anzahl der möglichen Schlüssel ist N6N^6, nach ausfiltern mit der ggT-Bedingung sind es nur noch

{(k1,k2,k3,k4,k5,k6):0kiN1,ggT(N,k1k5k2k4)=1}\left\{\left(k_1, k_2, k_3, k_4, k_5, k_6\right): 0 \leq k_i \leq N-1, \operatorname{ggT}\left(N, k_1 k_5-k_2 k_4\right)=1\right\}

mit

N6_pN(11p)(11p2)=106299648N^6 \prod\_{p \mid N}\left(1-\frac{1}{p}\right)\left(1-\frac{1}{p^2}\right)=106299648

ALBC-2 ist unsicher

Wenn Teile des Klartexts erraten werden kann man den inversen Schlüssel durch dieses LGS lösen:

x11x~1+2y~1+3mod26,y14x~1+5y~1+6mod26,x21x~2+2y~2+3mod26,y24x~2+5y~2+6mod26,x31x~3+2y~3+3mod26,y34x~3+5y~3+6mod26\begin{array}{ll} x_1 \equiv \ell_1 \widetilde{x}_1+\ell_{2}\widetilde{y}_1+\ell_3 \bmod 26, & y_1 \equiv \ell_4 \widetilde{x}_1+\ell_5 \widetilde{y}_1+\ell_6 \bmod 26, \\ x_2 \equiv \ell_1 \widetilde{x}_2+\ell_2 \widetilde{y}_2+\ell_3 \bmod 26, & y_2 \equiv \ell_4 \widetilde{x}_2+\ell_5 \widetilde{y}_2+\ell_6 \bmod 26, \\ x_3 \equiv \ell_1 \widetilde{x}_3+\ell_2 \widetilde{y}_3+\ell_3 \bmod 26, & y_3 \equiv \ell_4 \widetilde{x}_3+\ell_5 \widetilde{y}_3+\ell_6 \bmod 26 \end{array}