رمز اکس‌اور

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

A \oplus 0 = A,
A \oplus A = 0,
(A \oplus B) \oplus C = A \oplus (B \oplus C),
(B \oplus A) \oplus A = B \oplus 0 = B,

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

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

01010111 01101001 01101011 01101001
\oplus 11110011 11110011 11110011 11110011
= 10100100 10011010 10011000 10011010

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

10100100 10011010 10011000 10011010
\oplus 11110011 11110011 11110011 11110011
= 01010111 01101001 01101011 01101001

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «XOR cipher»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۳۰ آذر ۱۳۹۲).