Кіріспе
Шифрлау алгоритмі
Криптографияда қарапайым XOR шифры – аддитивті шифрлау түрі, шифрлау алгоритмі, ол мына қағидалар бойынша жұмыс істейді:
In cryptography, the simple XOR cipher is a type of additive cipher, an encryption algorithm that operates according to the principles:
A ⊕ 0 = A,
A ⊕ A = 0,
A ⊕ B = B ⊕ A,
(A ⊕ B) ⊕ C = A ⊕ (B ⊕ C),
(B ⊕ A) ⊕ A = B ⊕ 0 = B,
A A = 0,
A B = B A,
(A B) C = A (B C),
(B A) A = B 0 = B,
мұнда ⊕ – эксклюзивті немесе (XOR) операциясын білдіреді. Бұл операция кейде модуль 2-ге қосу (немесе кеміту, олар бірдей) деп аталады. Осы логика бойынша, мәтін тізбегін белгілі бір кілтті пайдаланып, әрбір таңбаға биттік XOR операторын қолдану арқылы шифрлауға болады. Шифрланған мәтінді ашу үшін кілтпен XOR функциясын қайта қолдану шифрды жояды.
Пайдалану және қауіпсіздік
XOR операторы күрделі шифрлардың құрауышы ретінде өте кең таралған. Өзінен, тұрақты қайталанатын кілтті пайдаланып, қарапайым XOR шифрын жиілік талдау арқылы оңай бұзуға болады. Егер хабардың қандай да бір бөлігінің мазмұны болжанатын болса немесе басқаша белгілі болса, кілтті анықтауға болады. Оның басты артықшылығы – оны іске асыру оңай, ал XOR операциясы есептеу тұрғысынан арзан. Сондықтан, кейбір жағдайларда, ерекше қауіпсіздік қажет болмаса, ақпаратты жасыру үшін қарапайым қайталанатын XOR шифры (яғни, барлық деректер үшін бірдей кілтті пайдалану арқылы XOR операциясын жүргізу) қолданылады. XOR шифры компьютерлік зиянды бағдарламаларда кері инженерияны қиындату үшін жиі қолданылады. Егер кілт кездейсоқ болса және кем дегенде хабарламаның ұзындығына тең болса, XOR шифры хабарламада кілт қайталануы болған жағдайдағыдан әлдеқайда қауіпсіз. Егер кілттер ағыны псевдо-кездейсоқ сандар генераторы арқылы жасалса, нәтижесі – ағынды шифр. Кілт шынайы кездейсоқ болса, нәтиже бір рет қолданылатын шифр болады, ол теория бойынша бұзу мүмкін емес. Осы шифрлардың кез келгеніндегі XOR операторы белгілі жазық мәтіндік шабуылға осал, себебі жазық мәтін + шифрмәтін = кілт. Шифрланған мәтінді өңдеу арқылы шифрланған жазық мәтіннің кез келген битін өзгерту де оңай. Бұл – өзгертуге бейімділік.