ALBC-2-Verschlüsselung

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

Verschlüsselung

  • Alphabet: Großbuchstaben, identifiziert mit den Zahlen 0…250\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 0…250\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,x2y2…x_{1}y_{1},x_{2}y_{2}\dots
  2. Der Chiffretext entsteht dann durch x~i=k1xi+k2yi+k3 mod N,y~i=k4xi+k5yi+k6 mod N\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(k1k5−k2k4) mod 26=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=dk5 mod 26=75 mod 26=23ℓ2=(−dk2) mod 26=(−40) mod 26=12ℓ3=d(k2k6−k3k5) mod 26=(−715) mod 26=13ℓ4=(−dk4) mod 26=(−115) mod 26=15ℓ5=dk1 mod 26=25 mod 26=25ℓ6=d(k3k4−k1k6) mod 26=1605 mod 26=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,x2y2…x_{1}y_{1},x_{2}y_{2}\dots
  4. Entschlüsselung durch xi=ℓ1x~i+ℓ2y~i+ℓ3 mod 26,yi=ℓ4x~i+ℓ5y~i+ℓ6 mod 26.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):0≤ki≤N−1,ggT⁡(N,k1k5−k2k4)=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∏_p∣N(1−1p)(1−1p2)=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:

x1≡ℓ1x~1+ℓ2y~1+ℓ3 mod 26,y1≡ℓ4x~1+ℓ5y~1+ℓ6 mod 26,x2≡ℓ1x~2+ℓ2y~2+ℓ3 mod 26,y2≡ℓ4x~2+ℓ5y~2+ℓ6 mod 26,x3≡ℓ1x~3+ℓ2y~3+ℓ3 mod 26,y3≡ℓ4x~3+ℓ5y~3+ℓ6 mod 26\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}