CTR
Z Wikipedii
CTR - Counter Tryb użycia szyfru blokowego, pozwalający na użycie go do kodowania strumieni danych. Szyfr blokowy jest używany do wygenerowania pseudolosowego ciągu danych, który następnie pełni role strumienia szyfrującego mieszanego z danymi za pomocą funkcji XOR.
Opis algorytmu:
- Wybieramy jawną funkcje, która na podstawie pozycji bloku danych względem początku strumienia generuje ciąg danych o długości równej długości bloku szyfru blokowego, wymagane jest by funkcja ta zwracała wartości pseudolosowe.
- Wynik funckji szyfrujemy szyfrem blokowym.
- XORujemy wynik z wiadomością, uzyskujemy fragment szyfrogramu.
Jest to najpopularniejszy tryb pracy szyfrów blokowych. W przeciwieństwie do CFB i OFB pozwala odszyfrować lub zmodyfikować dowolny fragment danych, bez konieczności odszyfrowywania wszystkich poprzedzających.
Praktycznym wykorzystaniem możliwości modyfikacji fragmentu szyfrogramu bez odszyfrowywania całości informacji może być np. modyfikacja pola w zaszyfrowanej bazie danych odpowiadającego hasłu administratora systemu komputerowego. Takiej techniki używa się aby zmodyfikować informacje w bazie SAM systemu Windows (nie można odszyfrować hasła administratora ale można je skasować, zastąpić ciągiem pustym).