Шифр XOR

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Шифр XOR - алгоритм шифрування, який у якості ключа використовує ключове слово та може бути записаний формулою

Ci = Pi XOR Kj.

де Kj - j-та літера ключового слова представлена в кодуванні ASCII.

Ключове слово повторюється поки не отримано гаму, рівну довжині повідомлення.

Використання[ред.ред. код]

Набув широкого застосування у комп'ютерних мережах 90-х років у зв'язку зі простотою реалізації. Застосовувався для шифрування документів Microsoft Word в середовищі Windows 95.

Приклад[ред.ред. код]

Відкритий текст: "алгоритм шифрування, який у якості ключа використовує ключове слово"

Ключ: "qwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwertyqwerty"

Шифротекст:"‘њ†њ„‘ѓ›EЉњЌЃ„‡’™”Ћ[EЌћ‘*W–R‹“џ†—БT“љ‰’’T›™ќ‹‚њ€ѓ™‡ЃОY›њ›…љ›”W”™љ›џ"

Відкритий текст а 11100000
Ключ q 01110001
Шифротекст 10010001

по правилу

0+0=0
0+1=1
1+0=1
1+1=0

Криптоаналіз[ред.ред. код]

Криптоаналіз шифру XOR аналогічний криптоаналізу шифра Віженера .

Ще ефективніша атака з відомим відкритим текстом, у разі якщо відомо частину відкритого тексту: Для приведеного прикладу, якщо стало відомомо що повідомлення починається зі слова "алгоритм"

"алгоритм" XOR "‘њ†њ„‘ѓ›" ="qwertyqw" . 

Таким чином ключ відновлено.

Якщо використовується ключ довжиною, як найменше, рівний довжині повідомлення, то шифр XOR стає значно більш криптостійким, ніж при використанні ключа, що повторюється. У разі, якщо для утворення такого ключа використовується генератор псевдовипадкових чисел, то результатом буде потоковий шифр.

Якщо для утворення ключа використовується генератор істинно випадкових чисел, то у цьому разі ми маємо справу з шифром Вернама - єдиною криптографічною системою, для якої теоретично доведена абсолютна криптографічна стійкість.

Посилання[ред.ред. код]

шифр Ксор