رمز اکس‌اور

در مبحث رمزنگاری، رمز XOR، گونه از رمزنگاری افزودنی است که بر اصول اولیه زیر استوار است:

A  0 = A,

A  A = 0,

(A  B)  C = A  (B  C),

(B  A)  A = B  0 = B,

در عبارات بالا  نشان‌دهنده عمل XOR بین دو عملوند است. به این عملیات گاهی اوقات جمع در پیمانه ۲ می‌گویند (یا تفریق، که فرقی ندارد). با داشتن چنین منطقی، یک رشته متنی از حروف را می‌توان با اعمال کردن عملگر XOR بیتی بر روی تک تک حروف آن رشته و با استفاده از یک کلید دلخواه، رمزنگاری کرد. برای اینکه متن رمزنگاری شده را رمزگشایی کرده و به حالت اولیه برگردانیم، کافیست مجدداً تابع XOR را با همان کلیدی که در هنگام رمزنگاری مورد استفاده قرار گرفته، بر روی متن رمزشده اعمال کنیم.

برای مثال، برای رمزنگاری کردن واژه «Wiki» که به اسکی می‌شود: 01010111 01101001 01101011 01101001، می‌توانیم تک تک حروف این کلمه را با 11110011 اکس‌اور کنیم:

{|
|  || 01010111 01101001 01101011 01101001
|-
|  || 11110011 11110011 11110011 11110011
|-
| = || style="border-top: 1px solid black" | 10100100 10011010 10011000 10011010
|}

و برای رمزگشایی هم مجدداً نتیجه‌ای که از مرحله رمزنگاری بدست آمده را با 11110011 اکس‌اور می‌کنیم:

{|
|  || 10100100 10011010 10011000 10011010
|-
|  || 11110011 11110011 11110011 11110011
|-
| = || style="border-top: 1px solid black" | 01010111 01101001 01101011 01101001
|}

منابع 

رمز دنباله‌ای