Brak napisał(a)
Kiedyś czytałem o metodzie, która polegała na liczeniu występowania poszczególnych znaków, po czym wybierało ten najczęstszy, xor'owało go ze spacją co dawało klucz, ALE przy założeniu, że spacja to najczęstszy znak w tekscie. Albo właśnie brutalnie, tzn. xor'ujesz ten plik używając klucza o wartości 1..255 i potem w wynikach szukasz spodziewanego fragmentu tekstu (np. jakiś wyraz). Jest wiele metod, bardziej lub mniej profesjonalnych.
To jest atak z tekstem zaszyfrowanym. Tyle, że dla jedno znakowego klucza... Metoda częstościowa nie ma sensu dla OTP i sensownie zakodowanych danych. Atak brute-force też nie ma większego sensu dla xor, chyba, że mamy wiadomości C1,C2,itd. z tym samym kluczem albo krótki klucz (chociaż czy na pewno? ;) ). Dlaczego? Ano proszę złamać tekst zaszyfrowany xorem (OTP - klucz: 3 znaki) "ABC", znaleźć klucz i wiadomość jawną.
Czy wiadomość jawna to "TAK", "NIE", "ASS", itd. wszystkie kombinacje trzech liter :) A więc która jest poprawną jawną wiadomością?
Czy nadal XOR to taki prosty szyfr :D
Ale wracając do postu synka:
mając program szyfrujący/deszyfrujący używasz ataku z wybranym tekstem jawnym albo z wybranym tekstem zaszyfrowanym, aby poznać klucz. Zauważ też, że XOR jest odwracalny, także program szyfrujący, który posiadasz, jest także programem deszyfrującym :)