پد یک‌بار مصرف

یک تکنیک رمزگذاری

در رمزنگاری، پد یک بار مصرف یک روش رمزگذاری است که نمی‌تواند شکسته‎‌شود ولی نیاز به کلیدی دارد که از قبل به اشتراک گذاشته شده است و طولی برابر یا بیشتر از پیام ارسالی دارد. در این روش، متن اصلی، با یک کلید مخفی رندوم، که به آن پد یکبار مصرف هم میگویند، جفت می‌شود. سپس هر بیت یا کاراکتر از متن اصلی، با ترکیب شدن با بیت یا کاراکتر معادل خود در کلید، با استفاده از جمع پیمانه‌ای، رمزگذاری می‌شود.[۱]

پد یکبار مصرف

اگر کلید

1. واقعا رندوم باشد،

2. حداقل طولی برابر با طول متن اصلی داشته باشد،

3. هیچ وقت در کل یا در بخشی، دوباره استفاده نشود،

4. و کاملا مخفی نگه داشته شود، متن رمز شده،

قابل رمزگشایی یا شکسته شدن نخواهد بود. همچنین اثبات شده است که هر متن رمز شده با ویژگی پنهانی بودن کامل، باید از کلیدهایی با ویژگی‌های مشابه پد یکبار مصرف، به طور موثر استفاده کند.

ورژن‌‌های دیجیتالی از رمزهای با پد یکبار مصرف، توسط ملت‌ها برای ارتباطات دیپلماتیک و نظامی حیاتی، استفاده شده است. ولی مشکل توزیع امن کلید، آنها را برای بیشتر کاربردها، غیرعملی کرده است.

اولین بار در سال 1882 فرانک میلر، پد یکبار مصرف را توصیف کرد و سپس در سال 1917 بازنگری روی آن صورت گرفت. در 22 جولای 1919 برای گیلبرت ورنام به خاطر استفاده از عملگر xor در رمزگذاری با پد یکبار مصرف، حق انحصاری اختراعات صادر شد. سیستم او که از رمز ورنام او صادر شده بود، رمزی بود که از ترکیب یک پیام با یک کلید که از نوار پانچ خوانده میشد، ساخته می‌شد. در ساختار اصلی، سیستم ورنام آسیب پذیر بود، چون نوار کلید یک حلقه بود، که هربار این حلقه یک دوره کامل را طی میکرد، دوباره استفاده می‌شد. استفاده یک باره، بعدا و زمانی که جوزف مابورن متوجه شد اگر نوار کلید کاملا رندوم باشد کشف رمز غیرممکن می‌شود، ایجاد شد.[۲]

بخش "پد" در پد یکبار مصرف، از پیاده‌سازی‌های اولیه می‌آید؛ زمانی که کلید روی یک تکه کاغذ، که اجازه می‌داد برگه بالایی فعلی بعد از مصرف خاموش و نابود شود، ارائه میشد. برای مخفی سازی، این پد گاهی خیلی کوچک بود، طوری که یک ذره بین قوی برای استفاده از آن لازم بود. سازمان امنیت ملی از برگه‌هایی با اندازه‌ای استفاده می‌کرد که در کف دست یا پوست گردو جا می‌شدند. برای افزایش امنیت، پدهای یکبار مصرف گاهی روی کاغذهایی که از نیتروسلولوز بسیار قابل اشتعال چاپ می‌شوند تا به راحتی پس از مصرف، سوزانده شوند.

کمی ابهام در مورد اصطلاح "رمز ورنام" وجود دارد چون بعضی منابع از "رمز ورنام" و "پد یکبار مصرف" به صورت هم‌معنی استفاده می‌کنند در حالی که بعضی دیگر به هرنوعی از رمز جریانی جمع پذیر از جمله آنهایی که برپایه یک شبه رندوم ساز پنهانی و رمز شده هستند، "رمز ورنام" می‌گویند.

تاریخچه ویرایش

فرانک میلر اولین کسی بود که در سال 1882 سیستم پد یکبار مصرف را برای امن کردن تلگراف توصیف کرد.

سیستم پد یکبار مصرف بعدی، الکتریکی بود. در سال 1917 گیلبرت ورنام یک رمز مبتنی بر فناوری تله‌پرینت را اختراع و ثبت انحصاری کرد. هر کاراکتر در یک پیام، به صورت الکتریکی با کاراکتری در یک نوار پانچ کاغذی ترکیب می‌شد. جوزف مابورن، که ابتدا کاپیتانی در ارتش آمریکا بود و سپس رئیس سپاه ارتباطات شد، متوجه شد که دنباله کاراکترها در نوار کلید، می‌تواند کاملا رندوم باشد و در آن صورت، کشف رمز بسیار سخت‌تر خواهد شد. آنها باهم اولین سیستم پد یکبار مصرف را ساختند.

پیشرفت بعدی سیستم پد کاغذی بود. دیپلمات‌ها برای مدت‌ها از کدها و رمزها برای حفظ محرمانگی و کمینه کردن هزینه تلگراف‌ها استفاده کرده بودند. برای کدها، کلمات و عبارات با استفاده از یک کتاب کد دیکشنری مانند تبدیل به گروه‌هایی از اعداد (معمولا 4 یا 5 رقم) می‌شدند. برای امنیت بیشتر، اعداد مخفی می‌توانستند با هر گروه کد قبل از ارسال ترکیب (معمولا معمولا جمع پیمانه ای) شوند در حالی که این اعداد مخفی به صورت دوره‌ای تغییر میکردند (به آن فوق رمزگذاری گفته می‌شود).

در اوایل 1920 سه رمزنگار آلمانی (ورنر کانز، رادولف شافلر و اریک لانگلز) که در شکستن چنین سیستم‌هایی همکاری می‌کردند متوجه شدند که اگر آنها از یک عدد جداگانه، جمع پذیر و رندوم انتخاب شده برای هر گروه کد استفاده کنند، هرگز شکسته نمی‌شوند.

آنها پدهای کاغذی دو نسخه‌ای با خطوطی از گروه اعداد رندوم را استفاده می‌کردند. هر برگ یک شماره سریال و هشت خط داشت. هر خط، شش عدد پنج رقمی داشت. یک برگ به عنوان کاربرگ برای رمزگذاری یک پیام استفاده می‌شد و بعد نابود می‌شد. شماره سریال برگه همراه با پیام رمز شده ارسال می‌شد. دریافت کننده عملیات را برعکس میکرد و بعد نسخه خود را نابود می‌کرد. اداره خارجی آلمان این سیستم را تا 1923 عملی کرد.

یک مفهوم جداگانه استفاده از پد یکبار مصرف از حروف برای رمزگذاری مستقیم متن اصلی مطابق مثال زیر بود. لئو مارکس اختراع چنین سیستمی را برای قوه مجریه عملیات ویژه بریتانیا در طول جنگ جهانی دوم توصیف می‌کند، با اینکه در آن زمان مشکوک شده بود که آنها از پیش در جهان بسیار تقسیم شده رمزنگاری برای مثال در پارک بلتچی، شناخته شده است.

کشف نهایی توسط نظریه پرداز، کلاد شانون، در دهه 1940 انجام شد. او کسی بود که معنای تئوری پد یکبار مصرف را فهمید و اثبات کرد. شانون نتایجش را در یک گزارش محرمانه شده در سال 1945 ارائه و به صورت عمومی در سال 1949 منتشر کرد. در همین زمان نظریه پرداز اطلاعات روس، ولادیمر کالتنیکو به صورت مستقل امنیت کامل پد یکبار مصرف را اثبات کرد. نتایج او در سال 1941 در گزارشی که به نظر می‌آید محرمانه باقی خواهد ماند، ارائه شد.[۳]


مثال ویرایش

فرض کنیم آلیس می‌خواهد پیام "HELLO"  را برای باب بفرستد. فرض کنید دو پد کاغذی از دنباله حروف رندوم و کاملا یکسان قبلا به نحوی ایجاد و به صورت امنی به این دو نفر داده شده‌است. آلیس برگه مناسب و استفاده نشده‌ای از پد را انتخاب می‌کند. نحوه انتخاب آن معمولا از قبل برای آینده تعیین می‌شود. برای مثال، گفته می‌شود "از برگه دوازدهم در یک می استفاده کن." یا "برگه در دسترس بعدی را برای پیام بعدی استفاده کن."

آنچه در برگه انتخاب شده وجود دارد، کلید این پیام است. هر حرف از پد با راهی از قبل تعیین شده، با حرفی از پیام ترکیب می‌شود. (این که به هر حرف یک مقدار عددی نسبت دهیم، مثلا "a" را صفر و "b" را یک و ... بدانیم، کاری مرسوم است ولی اجباری نیست.)

در این مثال، روش ترکیب کردن کلید و پیام با استفاده از جمع پیمانه‌ای است. در این روش مقدار عددی هر حرف در پیام و معادل آن در کلید، باهم در پیمانه 26 جمع می‌شوند. پس مثلا اگر کلید با "XMCKL" آغاز شده باشد و پیام همان "HELLO" باشد، کد گذاری به صورت زیر انجام می‌شود:


H       E       L       L       O  message                                                    1  
    7 (H)   4 (E)  11 (L)  11 (L)  14 (O) message                                                    2
 + 23 (X)  12 (M)   2 (C)  10 (K)  11 (L) key                                                        3
 = 30      16      13      21      25     message + key                                              4 
 =  4 (E)  16 (Q)  13 (N)  21 (V)  25 (Z) (message + key) mod 26                                     5
       E       Q       N       V       Z  → ciphertext                                               6


اگر عددی از 25 بزرگتر است، باقی مانده آن بعد از کم کردن از 26 در مدل جمع پیمانه‌ای استفاده می‌شود. این به سادگی یعنی اگر محاسبات به بعد از حرف "Z" کشیده شود، دوباره از "A" آغاز می‌کنیم. در نتیجه متن رمز شده‌ای که قرار است برای باب بفرستیم، "EQNVZ" است. باب از صفحه کلید معادل استفاده می‌کند و با همان روش فقط به صورت برعکس به متن اصلی می‌رسد. اینجا کلید از متن رمز شده کم می‌شود و با استفاده از محاسبات پیمانه‌ای پاسخ داده می‌شود:

E       Q       N       V       Z  ciphertext                                                 1
4 (E)  16 (Q)  13 (N)  21 (V)  25 (Z) ciphertext                                                 2
-  23 (X)  12 (M)   2 (C)  10 (K)  11 (L) key                                                        3
= -19       4      11      11      14     ciphertext – key                                           4
=   7 (H)   4 (E)  11 (L)  11 (L)  14 (O) ciphertext – key (mod 26)                                  5
       H       E       L       L       O  → message                                                  6

مشابه بالا، اگر جواب منفی شود، با 26 جمع می‌شود تا آن را صفر یا مثبت کند.

در نتیجه باب می‌تواند پیام آلیس "HELLO" را بازیابی کند. هردو نفر یعنی باب و آلیس برگه کلید را بلافاصله پس از مصرف نابود می‌کنند؛ در نتیجه از استفاده دوباره و حمله به رمز، جلوگیری می‌شود.

سازمان امنیت ملی معمولا برای ارگان‌های خود پدهای یکبار مصرف چاپ شده بر روی برگه‌های کوچک و مشتعل شونده میفرستاد. این برگه‌ها به صورت شیمیایی تبدیل به نیتروسلولوز می‌شدند که درنتیجه فورا می‌سوختند و خاکستری به جا نمی‌گذاشتند.

پدهای یکبار مصرف کلاسیک که برای جاسوسی بودند، از پدهای بسیار ریز، برگه‌های راحت مخفی شونده، مداد تیز و یک سری محاسبات ذهنی استفاده می‌کردند. این متد اکنون می‌تواند به صورت یک برنامه نرم‌افزاری پیاده سازی شود که از فایل‌های داده به عنوان ورودی (متن اصلی)، خروجی (متن رمزشده) و کلید (همان دنباله رندوم مورد نیاز) استفاده میکند. عملیات xor معمولا برای ترکیب کردن متن اصلی و المان‌های کلید استفاده می‌شود. این روش به ویژه در کامپیوترها جالب توجه است چون معمولا یک دستورالعمل ماشین محلی است و درنتیجه بسیار سریع است. ولی به هرحال سخت است که مطمئن شویم که کلید واقعا رندوم است، یکبار استفاده شده است، هیچ وقت برای دشمن احراز نمی‌شود و بعد از استفاده کاملا نابود می‌شود. پیاده سازی بخش‌های اضطراری یک برنامه نرم‌افزاری پد یکبار مصرف، چالش‌های واقعی را ایجاد می‌کند؛ مثلا جابه‌جایی امن، ارسال متن اصلی، کلید واقعا رندوم و استفاده تنها یکباره از کلید.

تلاش در کشف متن رمز شده ویرایش

در ادامه مثال بالا، فرض کنید ایو می‌تواند به متن رمزشده آلیس یعنی "EQNVZ" دسترسی پیدا کند. اگر ایو بی‌نهایت زمان داشت، می‌توانست بفهمد کلید "XMCKL" می‌تواند متن اصلی "HELLO" را ایجاد کند ولی همچنین می‌فهمید که کلید "TQURI" می‌تواند متن اصلی "LATER" را ایجاد کند که آن هم به طور برابر یک پیام قابل قبول است.

 1                                                                      4 (E)  16 (Q)  13 (N)  21 (V)  25 (Z) ciphertext
−  19 (T)  16 (Q)  20 (U)  17 (R)   8 (I) possible key                                                                     2
= −15       0      −7       4      17     ciphertext-key                                                                   3
=  11 (L)   0 (A)  19 (T)   4 (E)  17 (R) ciphertext-key (mod 26)                                                          4

درواقع، ممکن است که از "رمزگشایی" متن رمز شده، به هر پیامی رسید که همان تعداد کاراکتر را دارد و به سادگی با کلید متفاوتی ایجاد شده است؛ در حالی که هیچ اطلاعاتی در متن رمزشده وجود ندارد که به ایو اجازه دهد از بین تعابیر مختلف متن رمز شده انتخاب کند.


امنیت کامل ویرایش

پدهای یکبار مصرف از نظر صورت نظریه‌ اطلاعات امن هستند که یعنی پیام رمز شده (مثلا متن رمزی) هیچ اطلاعاتی را در مورد پیام اصلی به رمزگشا ارائه نمی‌دهد (مگر بیشترین طول ممکن برای پیام). این یک مفهوم بسیار قوی از امنیت است که اولین بار در زمان جنگ جهانی دوم توسط کلاد شانون رشد یافت و درهمان زمان‌ها از نظر ریاضی اثبات کرد که این موضوع برای پد یکبار مصرف صحیح است. نتایج او در مجله فنی بل لبز در سال 1949 منتشر شد. پدهای یکبار مصرف اگر به درستی استفاده شوند حتی برای دشمنانی که قدرت محاسبه بی‌نهایت دارند، غیر قابل درک هستند.

کلاد شانون با استفاده از ملاحظات نظریه اطلاعات ثابت کرد پد یکبار مصرف دارای خاصیتی است که او به آن نام امنیت کامل را داد. این به این معنی است که متن رمز شده C دقیقا هیچ اطلاعات اضافه‌ای در مورد متن اصلی نمی‌دهد. این به این دلیل است که با استفاده از یک کلید واقعا رندوم که فقط یکبار استفاده می‌شود، یک متن رمز شده می‌تواند به هر نوع متن اصلی با همان طول تبدیل شود و همه آنها به طور یکسان ممکن هستند. در نتیجه احتمال پیشین از متن اصلی M با احتمال پسین از متن اصلی M که که هر دو یک متن رمز شده را بدهند، برابر است.

از نظر ریاضی، این موضوع به صورت  تعریف شده است؛ به نحوی که   انتروپی اطلاعات متن اصلی است و   احتمال شرطی انتروپی متن اصلی است که متن رمز شده C را داده است. (در اینجا H حرف یونانی بزرگ اتا است.) این نشان می‌دهد که برای هر پیام M و متن رمزشده C، باید حداقل یک کلید K وجود داشته باشد که آنها را به عنوان پد یکبار مصرف به هم ربط دهد. به گفتار ریاضیاتی، این یعنی    که C، M و K مقدار مشخص متن اصلی، متن رمز شده و کلید را نشان می‌دهد. درواقع اگر بخواهید از هر متن اصلی در فضای پیام M به هر رمز در فضای رمزشده C برسید (رمزگذاری) یا از هر رمز در فضای رمزشده C به هر متن اصلی در فضای پیام M برسید (رمزگشایی) به حداقل   کلید نیاز دارید. (همه کلیدها با احتمال برابر    استفاده شده است تا از امنیت کامل مطمئن شویم.)

یک راه دیگر برای توضیح امنیت کامل، این ایده است که برای هر پیام   در فضای پیام M و برای هر رمز c در فضای پیام C داریم:  که در آن  احتمالات را نشان می‌دهد و جانشین انتخاب یک کلید k از فضای کلید K با یک الگوریتم احتمالاتی E بر پایه شیر یا خط شده است. امنیت کامل یک مفهوم قوی از سختی رمز گشایی است.

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

الگوریتم‌های رمزنگاری نامتقارن برپایه مسائل ریاضی هستند که تصور می‌شود حل آنها سخت است؛ مثلا تجزیه اعداد یا لگاریتم گسسته. به هرحال اثباتی وجود ندارد که این مسائل سخت هستند و یک شکاف ریاضیاتی می‌تواند آنها را نسبت به حملات آسیب پذیر کند.

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

پیتر شور و دیگران نشان داده اند که کامپیوترهای کوانتومی در حل کردن بعضی از مسائل سخت که امنیت رمزگذاری‌های نامتقارن را تضمین می‌کنند بسیار سریع‌تر هستند. اگر کامپیوترهای کوانتومی با بیت‌های کوانتومی کافی ساخته شوند و از پس محدودیت‌هایی برای تصحیح خطا بر بیایند، بعضی از الگوریتم‌های رمزنگاری کلید عمومی منسوخ می‌شوند. درحالی که پدهای یکبار مصرف همچنان امن باقی خواهند ماند. موضوعات رمزنگاری کوانتومی و رمزنگاری پس از کوانتوم را برای بحث بیشتر در حوزه کامپیوترهای کوانتومی دربرابر امنیت اطلاعات مطالعه کنید.[۴]

مشکلات ویرایش

با وجود اثبات شانون بر امنیت کامل پدهای یکبار مصرف، آنها موانع جدی در عمل دارند چون به موارد زیر نیاز دارند:

  • مقادیر واقعا رندوم، که در ضدیت با شبه رندوم است، برای آنها لازم است که یک نیاز جزئی نیست.
    • رندوم سازهای واقعی وجود دارند ولی معمولا کندتر هستند و انحصاری شده اند.  
  • تولید و مبادله امن مقادیر پد یکبار مصرف که باید حداقل طولی به اندازه پیام داشته باشند.
    • امنیت پد یکبار مصرف تنها به اندازه امنیت مبادله پد یکبار مصرف است ولی اگر یک مهاجم بتواند به مقدار پد یکبار مصرف نفوذ کند و بداند که این یک پد یکبار مصرف است، می‌تواند پیام پد یکبار مصرف را رمزگشایی کند.
  • رفتار با دقت برای اطمینان از اینکه مقادیر پد یکبار مصرف امن باقی خواهد ماند و بعدا به درستی نابود خواهند شد تا از هرگونه استفاده دوباره از کل یا بخشی از آنها جلوگیری شود که یعنی در معنای لغوی، یکبار مصرف باشند.

پدهای یکبار مصرف بعضی از مشکلات عملی فعلی را در رمزنگاری حل می‌کند. رمزهای با کیفیت بالا به صورت گسترده در دسترس هستند و امنیت آنها به عنوان یک نگرانی بزرگ در نظر گرفته نمی‌شود. استفاده از این رمزها تقریبا همیشه راحت‌تر از پدهای یکبار مصرف است. مقدار کلیدی که باید به صورت صحیح و امن ساخته شود، به صورت امن پخش شود و به صورت امن نگهداری شود خیلی کمتر است و رمزنگاری با کلید عمومی بر این مشکلات پیروز شده است.[۵]

رندوم بودن واقعی ویرایش

اعداد رندوم با کیفیت بالا سخت ساخته می‌شوند. توابع عدد رندوم سازی که در کتابخانه‌های بیشتر زبان‌های برنامه نویسی استفاده می‌شود برای استفاده در رمزنگاری مناسب نیستند. حتی آن رندوم سازهایی که برای استفاده معمولی در رمزنگاری مناسب هستند، مثل /dev/random و بسیاری از رندوم سازهای سخت افزاری، ممکن است از توابع رمزنگاری استفاده کنند که امنیت‌شان اثبات نشده است. یک مثال از اینکه اعداد رندوم واقعی چگونه می‌توانند ساخته شوند با اندازه‌گیری تابش رادیواکتیو است.

به طور ویژه استفاده یکباره بسیار ضروری است. اگر یک پد یکبار مصرف فقط دوبار استفاده شود، عملیات محاسباتی ساده می‌تواند آن را به رمز کلید جریانی کاهش دهد. اگر هر دو متن اصلی از یک زبان طبیعی (مثلا انگلیسی یا روسی) آمده باشد، با اینکه هردو آنها مخفی هستند، هر دو در معرض شانس بالای کشف با رمزگشایی تحلیلی و با ابهام کم هستند. البته یک پیام طولانی‌تر فقط می‌تواند در بخش‌هایی شکسته شود که با پیامی کوتاه‌تر همپوشانی دارد به علاوه احتمالا کمی بیشتر که با کامل کردن یک کلمه یا عبارت به دست می‌آید. مشهورترین استفاده از این آسیب پذیری مربوط برای پروژه ونونا اتفاق افتاد.[۶]

توزیع کلید ویرایش

از آنجایی که پد مانند هر مورد مخفی به اشتراگ گذاشته شده، باید به صورت امن ذخیره و عبور داده شود، و پد باید حداقل به اندازه پیام طول داشته باشد، معمولا هیچ فایده‌ای در استفاده از پد کردن یکبار مصرف وجود ندارد چون یک نفر می‌تواند به سادگی همان متن اصلی را به جای بفرستد (چون هردو می‌توانند طول برابر داشته باشند و باید امن نگه داشته شوند). به هرحال وقتی که یک پد بسیار طولانی به صورت امن ارسال شده باشد (برای مثال یک دیسک کامپیوتری پر از داده‌های رندوم) می‌تواند برای بیشمار پیام در آینده استفاده شود البته تاجایی که جمع طول آنها با سایز این پد برابر شود. توزیع کوانتومی کلید هم با فرض کامپیوترهای کوانتومی خطاپذیر یک راه حل برای این مشکل ارائه می‌دهد.[۱]

توزیع پد یکبار مصرف بسیار طولانی ساده نیست و معمولا یک ریسک عمده را مطرح می‌کند. پد ضرورتا کلید رمزگذاری است ولی برخلاف کلیدهای رمزهای مدرن باید خیلی طولانی باشد و برای انسان به خاطر سپردن آن خیلی سخت‌تر است. وسایل ذخیره سازی مانند فلش درایور، دی‌وی‌دی یا پخش‌کننده‌های صوتی دیجیتالی شخصی می‌توانند برای حمل یک پد یکبار مصرف خیلی بزرگ از جایی به جای دیگر به شکل غیر مشکوکی استفاده شوند؛ ولی حتی در این حالت، نیاز به انتقال فیزیکی پد در مقایسه با دستورالعمل‌های انتقال کلید در یک سیستم رمزگذاری با کلید عمومی مدرن، یک مانع است. ضمن اینکه چنین وسیله‌ای نمی‌تواند به صورت قابل اعتماد و امن پاک شود مگر با تخریب فیزیکی (مثلا سوزاندن). اگر یک دی‌وی‌دی 4.7 گیگابایتی پر از داده پد یکبار مصرف از نظر اندازه به اجزاء یک میلی متر مربعی خرد شود (0.0016 مربع)، بیشتر از 4 مگابایت داده را (مسلما بازیابی آن سخت است ولی غیر ممکن نیست) در هر جز نگه می‌دارد. به علاوه ریسک کشف رمز در هنگام جابه جایی (برای مثال یک یک نفر آن را بدزد، کپی کند و پد را جایگزین کند) در عمل بسیار بیشتر از احتمال کشف برای رمزی مانند AES است. در نهایت میزان تلاش لازم برای مدیریت کلید پد یکبار مصرف برای شبکه‌های بزرگ ارتباطی خیلی زیاد می‌شود؛ می‌توان گفت تعداد پدهای مورد نیاز بیشتر از توان دوی تعداد افرادی می‌شود که پیام‌ها را آزادانه انتقال می‌دهند.  برای ارتباط بین فقط دو نفر، یا یک شبکه با جانمایی ستاره‌ای مشکل کمتر است.

کلید باید بعد از استفاده به صورت امن نابود شود تا مطمئن شویم که کلید دوباره هرگز استفاده نمی‎شود و از پیام فرستاده شده محافظت کنیم. از آنجایی که کلید باید از یک پایانه تا پایانه دیگر منتقل شود و تا زمانی که پیام ارسال یا دریافت شود باقی بماند، در مقابل بازیابی قانونی آسیب‌پذیرتر از متن اصلی گذرایی است که از آن محافظت می‌کند.

احراز هویت ویرایش

مطابق مصارف گذشته، پدهای یکبار مصرف هیچ احراز هویتی برای پیام ارائه نمی‌کنند که نبود آن می‌تواند در سیستم‌های دنیای واقعی یک تهدید ایجاد کند. برای مثال یک مهاجم که میداند پیام شامل "meet jane and me tomorrow at three thirty pm" است، می‌تواند کدهای معادل پد را مستقیما از دو المان شناخته شده (متن رمز شده و متن اصلی شناخته شده) استخراج کند. سپس می‌تواند آن متن را با هر متن دیگری با طول برابر جایگزین کند، مثلا از  "three thirty meeting is canceled, stay home"استفاده کند. دانش مهاجم از پد یکبار مصرف به همین طول بایت محدود است که باید برای هر محتوای دیگری از پیام نگه داشته شود تا معتبر باشد. این کمی متفاوت با انعطاف پذیری است که در آن اینکه پیام اصلی شناخته شده است جدی گرفته نمی‌شود. همچنین حمله رمز جریانی را مطالعه کنید.[۷]

روش‌های استاندارد برای جلوگیری از آن برای مثال استفاده از یک پیام احراز هویت می‌‌تواند به همراه سیستم پد یکبار مصرف استفاده شود تا از چنین حملاتی جلوگیری کند. همچنین متدهای کلاسیک مانند پدکردن با طول متغیر و جمع‌سازی روسی می‌توانند استفاده شوند ولی همه آنها امنیت کاملی را که خود پد یکبار مصرف دارند، کم دارند. هش‌کردن همه جانبه راهی برای احراز هویت پیام‌ها تا یک قید امنیتی دلخواه ارائه می‌دهد. (برای مثال برای هر P > 0 یک هش به اندازه کافی بزرگ اطمینان می‌دهد که حتی احتمال موفقیت یک مهاجم بدون قید محاسباتی کمتر از P است.) ولی این از داده رندوم و اضافه پد استفاده می‌کند و احتمال پیاده سازی سیستم بدون کامپیوتر را حذف می‌کند.

کاربردها ویرایش

قابل اجرا بودن ویرایش

پد یکبار مصرف با وجود مشکلاتی که دارد، فواید عملیاتی هم دارد. در بعضی شرایط فرضی جاسوسی پد یکبار مصرف می‌تواند مفید باشد چون می‌توانیم آن را به صورت دستی و با مداد و کاغذ حساب کنیم. درواقع، تقریبا همه رمزهای با کیفیت دیگر، بدون کامپیوتر غیرعملی هستند. به هرحال در دنیای مدرن کامپیوترها (مانند آنهایی که در وسایل الکترونیکی شخصی جاسازی شده اند، مثلا گوشی‌های موبایل) آنقدر در همه‌جا حاضر هستند که معمولا داشتن کامپیوتری مناسب برای اجرای رمزگذاری متداول (مثلا گوشی موبایلی که می‌تواند نرم‌افزار رمزی مخفی شده را اجرا کند) شک برانگیز نیست.

  • پد یکبار مصرف سیستم رمز بهینه با امنیت کامل نظریه‌ای است.
  • پد یکبار مصرف یکی از عملی ترین روش‌های رمزگذاری‌ است که در آن یکی یا هر دو طرف باید همه کار را با دست و بدون کمک کامپیوترها انجام دهند. این مساله آن را در دوران قبل از کامپیوترها مهم کرد و هنوز هم می‌تواند در موقعیت‌هایی که داشتن کامپیوتر غیرقانونی است، فرد را متهم می‌کند و یا زمانی که کامپیوتر قابل اعتماد در دسترس نیست، مفید باشد.
  • پدهای یکبار مصرف در شرایطی که دو طرف در یک محیط نا امن باید بتوانند ازهم جدا شوند و از دو مکان امن جداگانه با امنیت کامل در ارتباط باشند، قابل اجرا هستند.
  • پد یکبار مصرف می‌تواند در فوق رمزگذاری استفاده شود.
  • الگوریتمی که معمولا در ارتباط با توزیع کلید کوانتومی است، پد یکبار مصرف است.
  • رمزهای جریانی از پد یکبار مصرف تقلید کرده‌اند.
  • پد یکبار مصرف می‌تواند بخشی از مقدمه‌ رمزگذاری باشد.

کاربرد‌های تاریخی ویرایش

پدهای یکبار مصرف در شرایط خاصی از اوایل قرن ۱۹۰۰ استفاده می‌شدند. در ۱۹۲۳ از آن برای ارتباطات دیپلماتیک توسط تشکیلات دیپلماتیک آلمان استفاده شد. سرویس دیپلماتیک جمهوری ویمار استفاده از این روش را در سال ۱۹۲۰ آغاز کرد. احتملا شکستن رمزگذاری ضعیف شوروی توسط بریتانیا و عمومی کردن پیام‌ها به خاطر منافع سیاسی در دو مورد در دهه ۱۹۲۰ (مورد ARCOS)، شوروی را مجبور کرد که در حدود سال ۱۹۳۰ برای کاربردهایی پد یکبار مصرف را بپذیرد. بعدتر جاسوس‌های شورای امنیت هم به این صورت شناخته شدند که از پد یکبار مصرف کاغذی و مداد استفاده می‌کردند. سرهنگ رادولف آبل، که در شهر نیویورک در سال ۱۹۵۰ دستگیر و محکوم شد و "کروگرها" (مثلا موریس و لونا کوهن) که در بریتانیای کبیر در دهه ۱۹۶۰ دستگیر و محکوم به جاسوسی شدند، مثال‌هایی از آن هستند. هردو مورد هنگامی که پد یکبار مصرف فیزیکی را با خود داشتند پیدا شدند.

بعضی از ملل از سیستم پد یکبار مصرف برای مخابرات حساس خود استفاده کرده‌اند. لئو مارکس گزارش می‌کند که قوه مجریه عملیات ویژه بریتانیا در جنگ جهانی دوم از پد یکبار مصرف برای رمزی کردن مخابرات بین اداراتش استفاده کرده است. پد یکبار مصرف برای استفاده در ارگان‌های برون مرزی‌اش دیرتر در جنگ معرفی شد. تعداد کمی از ماشین‌های رمزی نوارهای یکبار مصرف بریتانیایی شامل راککس و نورین می‌شود. ماشین اسپرچ سازمان پلیس مخفی آلمان هم می‌توانست از نوار یکبار مصرفی که آلمان شرقی، روسیه و حتی کوبا برای فرستادن پیام رمز شده به ارگان‌های خود استفاده می‌کردند، استفاده کند.[۸]

مخلوط کننده صدا در جنگ جهانی دوم، سیگسالی هم نوعی سیستم یکبار مصرف بود. این دستگاه به سیگنال در یک پایانه نویز اضافه می‌کرد و در پایانه دیگر آن را حذف می‌کرد. این نویز در پایانه‌های کانال به صورت رکوردهای لاکی بزرگ، که به شکل جفت‌های منحصر به فرد ساخته می‌شدند، پخش می‌شد. مشکلات همگام سازی شروع و فاز انحراف طولانی‌تر، هر دو قبل از این که سیستم بتواند استفاده شود، ظاهر و حل شدند.

خط تلفن ویژه بین مسکو و واشنگتن که در سال ۱۹۶۳ بعد از بحران موشکی کوبا ساخته شد، از ماشین تحریر تلگرافی محافظت شده با یک سیستم نوار یکبار مصرف تجاری استفاده کرد. هر کشور نوارهای کلیدی را که با آن پیام‌هایش را رمز می‌کرد، آماده می‌کرد و از طریق سفارتش برای کشور دیگر می‌فرستاد. یک خاصیت منحصر به فرد پد یکبار مصرف در این مورد این بود که هیچ کدام از کشورها لازم نبود روش‌های حساس رمزگذاری بیشتری را برای دیگری فاش کند.

نیروهای ویژه ارتش ایالات متحده از پد یکبار مصرف در ویتنام استفاده کردند. آنها با استفاده از کد مورس و پد یکبار مصرف و مخابره موج رادیویی پیوسته (که حامل کد مورس بود) به ارتباط امن و قابل اعتماد رسیدند.

در طی حمله سال ۱۹۸۳ گرانادا، ارتش ایالات متحده تدارکات ثبت یک جفت پد یکبار مصرف را در یک انبار کوبایی پیدا کردند.

با شروع در سال ۱۹۸۸ کنگره ملی آفریقا (ANC) از پدهای یکبار مصرفی که برپایه دیسک بودند، به عنوان بخشی از سیستم ارتباط امن بین سران خود در خارج از آفریقای جنوبی و عاملان داخل کشور، به عنوان بخشی از عملیات والا، که تلاشی موفق برای ساخت یک شبکه مقاوم داخل آفریقای جنوبی بود، استفاده کرد. اعداد رندوم روی دیسک بعد از استفاده پاک می‌شدند. یک مهماندار هواپیمای بلژیکی به عنوان پیک برای داخل آوردن دیسک پدها نقش آفرینی کرد. یک تجدید تدارکات منظم برای این دیسک‌ها لازم بود، چون به سرعت تماما استفاده می‌شدند. یک مشکل با این سیستم این بود که نمی‌شد از آن برای ذخیره امن داده استفاده کرد. بعدا والا یک رمز جریانی کلید شده با کدهای رزرو شده را برای حل مشکل به آن اضافه کرد.[۹]

یک مفهوم مرتبط کد یکبار مصرف است، یعنی نشانه‌ای که فقط یکبار مصرف می‌شود. مثلا "آلفا" برای "ماموریت انجام شد"، "آفرین" برای "ماموریت شکست خورد"، یا حتی "چراغ قوه" برای "حمله متفقین به فرانسویان ساکن آفریقای شمالی"، نمی‌توانند به هیچ شکل معقولی در معنای کلمه رمزگشایی شوند. فهم پیام به اطلاعات اضافه، معمولا "عمق" تکرار، یا تحلیل‌های مخابراتی نیاز دارد. به هرحال چنین فنونی (با اینکه معمولا توسط عاملین واقعی و مربیان بیسبال استفاده می‌شوند) به هیچ شکل معناداری رمزنگاری با پد یکبار مصرف نیستند.

آژانس ملی امنیت ایالات متحده ویرایش

حداقل از دهه 1970، آژانس ملی امنیت ایالات متحده (NSA) تنوعی از پدهای یکبار مصرف دستی را هم به صورت عام منظوره و هم به صورت ویژه با 86000 پد ساخته شده در سال مالی 1972، تولید کرد.

پدهای خاص منظوره برای چیزی که این سازمان به آن "pro forma" می‌گفت ساخته شد. در این سیستم چارچوب، حالت و فرمت همه پیام‌های متنی یکسان یا تقریبا یکسان است. همان نوع اطلاعات، پیام به پیام قرار است به همان شکل نمایش داده شود و فقط مقادیر خاص مثل اعداد در هر پیام عوض می‌شود. مثال‌هایی از آن، پیام آغاز عملیات هسته‌ای و گزارش‌های یابنده‌ جهت رادیویی (COMUS) هستند.

پدهای عام منظوره در فرمت‌های متعددی ساخته شدند؛ مثلا یک لیست ساده از حروف رندوم (DIANA)، یا فقط اعداد (CALYPSO)، پدهای کوچک برای ارگان‌های سری (MICKEY MOUSE) و پدهای طراحی شده برای رمزگشایی سریع‌تر پیام‌های کوتاه با هزینه تراکم کمتر. یک مثال، ORION، 50 ردیف از الفبای متن اصلی را در یک طرف خود داشت و در طرف دیگر، حروف رندوم متن رمزی معادل را داشت. با قرار دادن یک برگه در بالای یک تکه برگه کربن در حالتی که سمت کربنی رو به بالا است، یک نفر می‌توانست یک دور یک حرف در هر ردیف دایره بکشد و حرف معادل در سمت دیگر به وسیله برگه کربنی دایره دار می‌شد. در نتیجه یک برگه ORION می‌توانست یک پیام با طول حداکثر 50 کاراکتر را به سرت رمزگذاری یا رمزگشایی کند. ساخت پدهای ORION نیاز به چاپ دوطرفه در یک وضعیت دقیق داشت که فرآیند سختی بود در نتیجه آژانس ملی امنیت ایالات متحده کار خود را به فرمت پد دیگری یعنی MEDIA تغییر داد که 25 ردیف الفبای جفت شده و کاراکترهای رندوم داشت.

این آژانس همچنین سیستم‌های خودکار برای ارکان مرکزی سازمان جاسوسی آمریکا و واحدهای نیروی ویژه ساخت تا آنها بتوانند به صورت کارآمد، روی تعداد زیادی از پیام‌های با پدهای یکبار مصرف جداگانه که از یا برای افراد نگهدارنده‌های پد هستند، فرآیند را انجام دهند.

در طی جنگ جهانی دوم و دهه 1950، ایالات متحده استفاده وسیعی از سیستم نوار یکبار مصرف کرد. علاوه بر فراهم کردن محرمانگی، مدارهای امن شده به وسیله نوار یکبار مصرف، دائما، حتی زمانی که هیچ مخابره‌ای وجود نداشت، اجرا می‌شدند و در نتیجه در مقابل تحلیل مخابرات محافظت می‌شدند. در سال 1955 این سازمان 1660000 رول نوار یکبار مصرف تولید کرد. هر رول، قطری معادل 8 اینچ داشت، شامل 100000 کاراکتر بود و در 166 دقیقه و با قیمت 4.55 دلار ساخته می‌شد. تا سال 1972 فقط 55000 رول ساخته شده بود که نوارهای یکبار مصرف با ماشین‌های چرخان مثل SIGTOT و بعد از آن با وسایل الکترونیکی بر پایه شیفت رجیسترها جایگزین شدند. آژانس ملی امنیت ایالات متحده سیستم‌های نوار یکبار مصرف را مانند SIGTOT و 5-UCO به عنوان مواردی که در جاسوسی مخابرات، تا زمان معرفی رمزهای الکترونیکی KW-S6 در سال 1957 استفاده شده‌اند، توصیف می‌کند[۱۰]

سوء مصرف ویرایش

درحالی که پدهای یکبار مصرف امنیت کامل ایجاد می‌کنند، اگر به درستی ساخته و استفاده شوند، اشتباهات کوچک می‌تواند منجر به کشف رمز موفق شوند:

  • در سال 1945-1944، سرویس جاسوسی سیگنال‌های ارتش ایالات متحده موفق شد یک سیستم پد یکبار مصرف را که توسط وزارت امور خارجه آلمان برای مخابرات سطح بالا استفاده شده بود و نام رمزی آن GEE بود، حل کند. این سیستم ناامن بود چون پدها به اندازه کافی رندوم نبودند؛ یعنی ماشین استفاده شده برای تولید اعداد رندوم خروجی قابل پیش بینی می‌داد.
  • در سال 1945، ایالات متحده کشف کرد که پیام‌های کنبرا - مسکو اول با یک کد رزرو شده و سپس با استفاده از یک پد یکبار مصرف رمز می‌شود. ولی پد یکبار مصرف استفاده شده، همان پد استفاده شده توسط مسکو برای واشنگتن بود. در کنار این واقعیت که بعضی از پیام‌های کنبرا – مسکو شامل اسناد شناخته شده دولت بریتانیا هستند، آنها توانستند برخی از پیام‌های رمز شده را بشکنند.
  • پدهای یکبار مصرف توسط آژانس‌های جاسوسی روسیه برای ارتباطات مخفی با ارگان‌ها و کنترل‌کنندگان ارگان‌ها به کارگرفته شده بود. تحلیل‌ها نشان داده است که این پدها را تایپیست‌ها به وسیله ماشین‌تحریرهای واقعی ساخته‌اند. این روش قطعا به درستی رندوم نیست چون دنباله کلیدهای راحت و مشخصی را با احتمال بیشتری می‌سازد؛ ولی همچنین ثابت شده است که به صورت عمومی کاربردی است چون همانطور که افراد دنباله اعداد واقعا رندوم نمی‌سازند، از قوانین ریاضی ساخت‌یافته‌ای که یک ماشین استفاده می‌کند هم به طور برابر پیروی نمی‌کند و هر فرد به صورت متفاوتی رمزها را می‌سازد که این حمله به هر پیامی را با چالش مواجه می‌کند. بدون کپی‌هایی از کلید استفاده شده، فقط خطاهایی در روش تولید یا استفاده دوباره از کلید امیدی برای کشف رمز باقی می‌گذارد. با شروع دهه 1940، سازمان‌های جاسوسی ایالات متحده و بریتانیای کبیر، توانستند مخابره بعضی از پدهای یکبار مصرف شوروی به مسکو را در طول جنگ جهانی دوم به علت خطاهایی در تولید و توزیع کلید بشکنند. یک پیشنهاد برای علت این موضوع، این است که پرسنل مرکزی مسکو به نوعی با حضور سربازان آلمانی دقیقا بیرون مسکو در اواخر 1941 و اوایل 1942 دچار ازدحام کاری شدند و در نتیجه در آن دوره بیش از یک کپی از یک نوع کلید ساختند. این تلاش که دهه‌ها به طول انجامید در نهایت نام رمزی VENONA را گرفت (قبل از آن هم نامش BRIDE بود). این عملیات حجم قابل توجهی از اطلاعات، شامل اطلاعات کمی در مورد جاسوس‌های اصلی شوروی را تولید کرد. با این حال، فقط درصد کمی از پیام‌های استراق شده به صورت کامل یا جزیی رمزگشایی شد (چند هزار از چند صد هزار).[۱۱]
  • سیستم نوار یکبار مصرف استفاده شده توسط ایالات متحده، از ترکیب کننده‌های الکترومکانیکی استفاده می‌کرد تا بیت‌های پیام و نوار یکبار مصرف را ترکیب کند. این ترکیب‌ کننده‌ها، انرژی الکترومگنتیک قابل توجهی را می‌تاباندند که می‌توانست توسط دشمن در فاصله‌ای از وسیله ‌رمزگذاری دریافت شود. این خاصیت که اولین بار در جنگ جهانی دوم توسط بل لبز کشف شد، می‌توانست اجازه استراق و بازیابی متن اصلی پیام مخابره شده را بدهد. این آسیب‌پذیری بعدا نام Tempest را گرفت.

امنیت مطلق رمز پد یک‌بار مصرف ویرایش

هرچند به صورت تجربی مشاهده شد که کلید خصوصی غیرتکراری و تصادفی که تنها یک بار برای رمزگذاری استفاده می‌شد به شدت امنیت پد یک‌بار مصرف را افزایش می‌دهد، اما صرفاً در سال ۱۹۴۹ بود که مبانی ریاضی این واقعیت توسط شانون کشف شد. نظریه امنیت مطلق که امنیت شانون نیز نامیده می‌شد و توسط شانون ارائه شد، می‌تواند به روش زیر مشخص شود.

اگر یک تحلیل‌گر رمز منفعل تنها متن رمزشده       را داشته باشد که نتیجه رمزگذاری پد یک‌بار مصرف است، تحلیل‌گر رمز تنها می‌تواند این حدس را در مورد متن رمزنشده بزند که یک رشته دودویی با طول L است. به عبارت دیگر برای تحلیل‌گر رمز، هر رشته دودویی با طول L می‌تواند برابر با متن رمزنشده باشد. این مسئله قوی‌ترین نظریه امنیتی است، چرا که از توزیع آماری متن رمزنشده و منابع محاسباتی مستقل است (هر میزان محاسبات یا هر پیشرفت دیگری در محاسبات نمی‌تواند برای این شکل از امنیت تهدید محسوب شود) نامعلوم بودن متن رمزنشده برای تحلیل‌گر رمز منفعل از طریق رهگیری متن رمزشده کاهش نمی‌یابد. این بدان معناست که هیچ اطلاعاتی از متن رمزشده فاش نمی‌شود. این مسئله یک تضاد قوی نسبت به سایر الگوریتم‌های رمزنگاری که در آن‌ها استخراج اطلاعاتی از متن رمزشده اجتناب‌ناپذیر است، می‌باشد.

نتایج شانون حاکی از آن است که پد یک‌بار مصرف بهترین امنیت محاسباتی ممکن را برای هر طرح رمزگذاری ارائه می‌دهد. این روش به عنوان تنها امنیت مطلق یا تنها رمز غیرقابل شکستن شناخته شده باقی می‌ماند. الگوریتم‌های رمزنگاری زیادی به روش رمزنگاری کلید عمومی یا کلید خصوصی طی ۶۰ سال اخیر مطرح شده‌اند، اما هیچ‌کدام نمی‌تواند امنیت مطلق ارائه دهد. در واقع در مورد الگوریتم‌های مشهور مانند استاندارد رمزنگاری داده‌ها (DES)، ای‌سی‌سی، آراس‌ای و استاندارد رمزنگاری پیشرفته (AES) حتی اثبات نشده که می‌توانند به لحاظ محاسباتی امن باشند و تنها بر اساس شکست تلاش‌های فعلی، مشخص شده که شکستن رمز آن‌ها سخت است. با پیشرفت‌های سریع در توان محاسباتی، قدرت این الگوریتم‌ها تهدید می‌شود در حالی که پد یک‌بار مصرف در برابر هر گونه پیشرفت محاسباتی در آینده مقاوم باقی می‌ماند.[۱۲]

مزایا و معایب ویرایش

پیامی که با روش پد یک‌بار مصرف رمزگذاری می‌شود، نمی‌تواند شکسته شود چرا که کلید رمزگذاری یک عدد تصادفی است و تنها یک بار مورد استفاده قرار می‌گیرد. هرچند که مشکل استفاده از پد یک‌بار مصرف در عمل این است که بایت‌های کلید نمی‌توانند دوباره استفاده شوند.[۱۳]

عیب اصلی پد یک‌بار مصرف این است که طرفین از قبل به یک توافق قابل اطمینان در مورد مقدار کلیدهای مخفی نیاز دارند.[۱۴] به علاوه باید به این نکته اشاره کرد که هرچند اینگونه تصور می‌شود که همواره منبعی برای تولید بیت‌های تصادفی وجود دارد اما این فرض، غیرواقعی است و رمزهای تصادفی باید به وسیله منابع غیرواقعی تولید اعداد تصادفی تولید شوند؛ یعنی منابعی که در عمل اعداد تصادفی تولید نمی‌کنند.[۱۵] هم‌چنین برای سیستم‌های رمز کلاسیک موجود ایجاد یک کلید امن بین طرفین به صورت قطعی دشوار است.[۱۶]

از معایب دیگر این روش مشکلی است که در الگوریتم کلید متقارن نیز یافت می‌شود. کلید تولید شده در این روش بایست همراه رمز در اختیار قرار داده شود. هر گونه تغییر در کلید به هر نوعی موجب ناخوانا شدن پیام مورد نظر می‌شود. همچنین بعد از یک بار استفاده از کلید می‌توان بخشی از پیام را به روش ارزیابی ترافیک بازیابی کرد. هرچند بازیابی پیام ناممکن است اما با بازیابی این بخش‌ها می‌توان به محتوای پیام نزدیک شد.[۱۷]

الگوریتم پد یک‌بار مصرف ویرایش

  • تولید کلید تصادفی
  • ایجاد جدول اسکی
  • ایجاد آرایه تصادفی
  • تعیین متن رمزنشده
  • نوشتن فایل برای متن رمزنشده
  • ایجاد متن رمزشده
  • نوشتن فایل برای متن رمزشده
  • ارسال فایل رمزشده به گیرنده
  • اجرای فرایند رمزگشایی
  • به دست آوردن متن رمزنشده در مقصد

این الگوریتم را می‌توان از معادله روبه‌رو دریافت. ( ،  )  =  

در این معادله   iامین کاراکتر متن رمزنشده‌است.   iامین بایت کلیدی است که برای پیام استفاده می‌شود.   iامین کاراکتر متن رمزشده‌است. N طول کلید است.

در صورت نقض هر یک از قوانین زیر، رمز قابل شکستن می‌شود:

  • طول کلید به اندازه متن رمزنشده باشد.
  • کلید کاملاً تصادفی باشد.
  • تنها دو کپی از کلید موجود باشد: یک کلید برای ارسال‌کننده و یکی برای دریافت‌کننده (حالات استثنائی برای مواقعی وجود دارد که چندین دریافت‌کننده وجود دارد)
  • از کلیدها تنها یک بار استفاده شود و هر دوی ارسال‌کننده و دریافت‌کننده باید کلید را پس از استفاده نابود کنند.[۱۳]

پد یکبار مصرف رمزگذاری عددی ویرایش

در ابتدا ما نیاز به یک کلید رمزگذاری به نام پد یک‌بار مصرف هستیم. برای یک ارتباط یک طرفه بخش فرستنده یک نسخه از پدی که استفاده کرده‌است را بایست در اختیار دریافت کننده قرار دهد. برای برقراری ارتباط دوطرفه از یک مجموعه پد استفاده می‌شود به طوری که فرستنده نسخه ای از پد خروجی خود را به عنوان پد ورودی با فرستنده به اشتراک می گذارد و پد خروجی دریافت کننده مشترک با پد ورودی فرستنده یکسان است.

در مرحله بعد بایست پیام مورد نظر خود را برای رمز نگاری مهیا کنیم. به این ترتیب متن آشکار موجود را با تکنیک‌های مورد استفاده به یک رشته از ارقام تبدیل می کنیم. برای این کار می‌توان از روش‌های مختلفی استفاده کرد به عنوان مثال حروف با بیشترین تکرار را به عددهای تک رقمی اختصاص دهیم و یا از روش کدگذاری هافمن استفاده کرد. در ادامه نمونه ای از جدول تبدیل آورده شده‌است:

CT NO. 1 T O N I E A CODE
ENGLISH 6 5 4 3 2 1 0
M L K J H G F D C B
79 78 77 76 75 74 73 72 71 70
Z Y X W V U S R Q P
89 88 87 86 85 84 83 82 81 80
SPC REQ (=) (-) (+) () (') (:) (.) FIG
99 98 97 96 95 94 93 92 91 90

برای رمز گذاری پیام مورد نظر رشته عددی را که در مرحله قبل بدست آوردیم را در گروه‌های با طول مشخص دسته بندی می کنیم. به عنوان مثال هر 5 رقم متوالی را در یک دسته قرار می دهیم سپس برای هر دسته عدد متناظر با آن در پد یک بار مصرف را تولید می کنیم. در آخر برای رمز نگاری پیام عدد هر دسته را از عدد متناظر تولید شده به وسیله پد یکبار مصرف کم می کنیم. عددهای بدست آمده پیام رمز گذاری شده‌است که می بایست برای طرف مقابل ارسال شود.

برای رمزگشایی کافی است رشته عددی دریافت شده را به وسیله پد یکبار مصرفی که در اختیار داریم به پیام ابتدایی ترجمه کنیم. هر یک از ارقام موجود در رشته عددی دریافت شده را با رقم متناظر آن در پد یکبار مصرف عمل جمع بدون رقم نقلی انجام می دهیم. در انتها به وسیله جدول تبدیل حروف به اعداد حروف پیام را رمزگشایی می کنیم.[۱۸]

جستارهای وابسته ویرایش

امنیت مطلق

رمزنگاری

منابع ویرایش

  1. ۱٫۰ ۱٫۱ «Numbers Stations | Numbers Stations Research Center». web.archive.org. 2014-10-18. بایگانی‌شده از اصلی در ۱۸ اكتبر ۲۰۱۴. دریافت‌شده در 2020-05-22. تاریخ وارد شده در |archive-date= را بررسی کنید (کمک)
  2. «One Time Pad Vernam Cipher FAQ». www.ranum.com. دریافت‌شده در ۲۰۲۰-۰۵-۲۲.
  3. «PHYS-USP, 2006, 49 (7), 750–761». www.turpion.org. بایگانی‌شده از اصلی در ۲۵ فوریه ۲۰۲۱. دریافت‌شده در ۲۰۲۰-۰۵-۲۲.
  4. «Wayback Machine» (PDF). web.archive.org. ۲۰۱۲-۰۱-۲۰. بایگانی‌شده از اصلی (PDF) در ۲۰ ژانویه ۲۰۱۲. دریافت‌شده در ۲۰۲۰-۰۵-۲۲.
  5. «Crypto-Gram: October 15, 2002 - Schneier on Security». www.schneier.com. دریافت‌شده در ۲۰۲۰-۰۵-۲۲.
  6. «Wayback Machine» (PDF). web.archive.org. ۲۰۰۹-۰۵-۱۰. بایگانی‌شده از اصلی (PDF) در ۱۰ مه ۲۰۰۹. دریافت‌شده در ۲۰۲۰-۰۵-۲۲.
  7. Information Theoretic Security: Third International Conference.
  8. «Talking To Vula». web.archive.org. ۲۰۱۴-۰۸-۲۶. بایگانی‌شده از اصلی در ۲۶ اوت ۲۰۱۴. دریافت‌شده در ۲۰۲۰-۰۵-۲۲.
  9. «Operation Vula: a secret Dutch network against apartheid». Radio Netherlands Archives (به انگلیسی). ۱۹۹۹-۰۹-۰۹. دریافت‌شده در ۲۰۲۰-۰۵-۲۲.
  10. A History of U.S. Communications Security.
  11. «Wayback Machine» (PDF). web.archive.org. ۲۰۰۶-۰۲-۱۳. بایگانی‌شده از اصلی (PDF) در ۱۳ فوریه ۲۰۰۶. دریافت‌شده در ۲۰۲۰-۰۵-۲۲.
  12. Nithin. Nagaraj, "One-Time Pad as a nonlinear dynamical system". Communications in Nonlinear Science and Numerical Simulation, Volume 17, Issue 11, November 2012, Pages 4029–4036
  13. ۱۳٫۰ ۱۳٫۱ Sharad Patil, Ajay Kumar, “Modified One Time Pad Data Security Scheme: Random Key Generation Approach “International Journal of Computer and Security 3 Issue 2 March/April 2009 Malaysia
  14. Naya. Nagy, Selim G. Akl, " One-timepads without prior encounter". Parallel Processing Letters (PPL), Volume: 20, Issue: 3(2010) pp. 263-273
  15. Yevgeniy Dodis and Joel Spencer. "On the (non)universality of the one-time pad". In Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science, pp. 376-385. IEEE Computer Society, 2002
  16. Fei. Gao, Su-Juan. Qin, Qiao-Yan. Wen, Fu-Chen. Zhu, "One-time pads cannot be used to improve the efficiency of quantum communication". Physics Letters A, Volume 365, Issues 5–6, 11 June 2007, Pages 386–388
  17. «One-Time Pad Cryptosystem». ۲۷ مارس ۲۰۰۹. بایگانی‌شده از اصلی در ۱۲ ژوئن ۲۰۱۸. دریافت‌شده در ۱۸ خرداد ۱۳۹۷.
  18. Rijmenants، Dirk (۲۲ ژانویه ۲۰۱۶). The Complete Guide To Secure Communications With The One Time Pad Cipher (ویراست ۷٫۴).