RSS Feed
Precedenta
Următoarea

Problema 59

19 Decembrie 2003

Decriptare XOR


Fiecărui caracter din calculator îi este atribuit un cod unic iar standardul preferat e ASCII (American Standard Code for Information Interchange). De exemplu, A = 65, asteriscul (*) = 42, și k = 107.

O metodă modernă de criptare presupune luarea unui fișier text, conversia octeților în ASCII, apoi aplicarea funcției XOR pe fiecare octet împreună cu o valoare luată dintr-o cheie secretă. Avantajul dat de funcția XOR este dat de faptul că, folosind aceeași cheie de criptare pe cifru, se poate restaura textul original; de exemplu, 65 XOR 42 = 107, apoi 107 XOR 42 = 65.

Pentru o criptare care nu poate fi spartă, cheia are aceeași lungime ca și mesajul și e compusă din octeți aleatorii. Utilizatorul ar ține mesajul criptat și cheia în locații diferite și, fără ambele "jumătăți", e imposibil de decriptat mesajul.

Din păcate, această metodă e impractică pentru majoritatea utilizatorilor, așa că metoda modificată este folosirea unei parole drept cheie. Dacă parola e mai scurtă decât mesajul, ceea ce e probabil, cheia e repetată ciclic de-a lungul mesajului. Un bun echilibru pentru această metodă e de a folosi o parolă suficient de lungă pentru a fi sigură, dar suficient de scurtă pentru a putea fi memorată.

Problema ta tocmai a fost facută ușoară, deoarece cheia de criptare constă din 3 litere mici. Folosind cipher1.txt (click dreapta și 'Save Link/Target As...'), un fișier conținând codurile ASCII criptate, și faptul că mesajul decriptat trebuie să conțină cuvinte comune limbii engleze, decriptează mesajul și află suma valorilor ASCII din mesajul original.


Tag-uri:

>> Vezi problema originală <<