Dzisiaj jest 25 stycznia 2025 r.
Chcę dodać własny artykuł
Reklama

VMPC

Chcę dodać własny artykuł

VMPC – Zmiennie Modyfikowane Złożenie Permutacji

VMPC (Variably Modified Permutation Composition) to funkcja oraz algorytm szyfrowania stworzony przez Bartosza Żółtaka, zaprezentowany na międzynarodowej konferencji kryptograficznej Fast Software Encryption w 2004 roku. Algorytm VMPC charakteryzuje się prostą budową, ale jego odwrócenie okazuje się trudne.

Definicja i Działanie

Funkcję VMPC można zdefiniować dla n-elementowej permutacji f jako:

g(x) = \operatorname{VMPC}(f(x)) = f(f(f(x))+1) \pmod n.

Symulacje pokazują, że odwrócenie permutacji g dla różnych rozmiarów permutacji wymaga ogromnej liczby operacji:

  • Dla 16-elementowej permutacji: około 211 operacji (ok. 2000)
  • Dla 64-elementowej permutacji: około 253 operacji (ok. 9 biliardów)
  • Dla 256-elementowej permutacji: około 2260 operacji

Algorytm Szyfrowania VMPC

Algorytm szyfrowania oparty na VMPC jest szyfrem strumieniowym. Proces szyfrowania L-znakowej informacji przedstawia się następująco:

1. n = 0
2. Powtarzaj kroki 3-6 L razy:
3. s = P[ (s + P[n]) mod 256 ]
4. Output = P[ (P[P[s]]+1) mod 256 ]
5. Temp = P[n]
   P[n] = P[s]
   P[s] = Temp
6. n = (n + 1) mod 256

W tym procesie P to 256-elementowa permutacja, a s to 1-bajtowa zmienna, uzyskana z hasła szyfrującego przy użyciu algorytmu VMPC-KSA.

Bezpieczeństwo VMPC

W 2006 roku Dr Kamil Kulesza z Cambridge University ocenił, że VMPC nie jest dobrym kandydatem na jednokierunkową funkcję kryptograficzną. Wnioski te opierają się na:

  • Istnieniu kluczy, które mogą być odwrócone w czasie liniowym.
  • Obecności słabych kluczy, dla których wystarczy odgadnięcie dużej części wartości.
  • Braku gwarancji, że VMPC zawsze działa jako funkcja różnowartościowa.
  • Potencjalnej możliwości znalezienia kolejnych zbiorów słabych kluczy.
  • Atakach opartych na kryptoanalizie dużych zbiorów danych.

W latach 2005–2015 opublikowano prace dotyczące ataków na VMPC, które koncentrowały się na analizie kryptograficznej. W praktyce ataki te wymagają jednak dużej ilości zaszyfrowanych danych używających tego samego klucza.

Linki zewnętrzne