بخشی از مقاله
"بررسی الگوریتم های رمزنگاری کوانتومی"
چکیده
رمزنگاری کوانتومی استفاده مکانیک کوانتومی به خصوص ارتباطات کوانتومی و محاسبات کوانتومی برای اجرای عملیات رمز نگاری و شکستن سیستمهای رمز گذاری شده را توصیف میکند. ظهور محاسبات کوانتومی در راستای امنیت کامپیوترها، موسسات را برآن داشته تا تحقیقات و توسعه را برای دفاع در مقابل این قدرت جدید کامپیوتر آغاز کنند. بسیاری از تکنیکهای امنیتی که امروزه در حال استفاده هستند بر این اساس کار میکنند که بدست آوردن عامل های عداد بزرگ برای کامپیوترهای مدرن امروزی کار مشکلی است. با استفاده از الگوریتم خاصی مثل الگوریتم Peter Shor کامپیوتر کوانتومی میتواند عاملهای یک عدد بزرگ را با پیچیدگی زمانی چند جملهای بدست آورد در صورتی که کامپیوترهای کلاسیک در زمان توانی عاملها را بدست میآورند. اگر اقدامات مناسب همزمان با تولید کامپیوترهای کوانتومی انجام نشود، دولتها و تشکیلات اقتصادی بزرگ از نظر امنیتی ضربه میخورند و مقدار زیادی از دادههای رمزشده از دست می روند.
برای انتقال امن اطلاعات، یا تکنیک های کوانتومی، مثل توزیع کلید مبتنی بر کوانتوم (QKD) که ارتباطی امن براساس فیزیک کوانتوم فراهم می سازد استفاده می شود و یا تکنیکهای رمز نگاری موجود برای مقابله با ابزارهای کوانتومی تغییر پیدا می کند که به الگوریتم های پست کوانتومی معروف هستند، چهار راهکار منتخب از این نوع وجود دارد که در مقابل کامپیوترهای کوانتومی مصونیت ایجاد میکند. متدها شامل: "کدهای تصحیح خطا"، "تابع "hash ،" سیستمهای رمزنگاری لاتیس" و "رمزنگاری کلید عمومی چند متغیره" هستند.
واژه های کلیدی: رمزنگاری کوانتومی، RSA، ، کامپیوترهای کوانتومی، توزیع کلید مبتنی بر کوانتوم، پست کوانتوم
-1 مقدمه
رمزنگاری داده ها در سیستم های IT امروزی با تکیه بر رمزنگاری کلید عمومی کار می کنند. مفهوم رمزنگاری کلید عمومی به وسیله Whitfield Diffie و Martin Hellman در سال 1976 معرفی شد.[1] این روش جدید رمزنگاری دو هدف عمده داشت رمزنگاری و امضای دیجیتال. این متد جدید رمزنگاری مستلزم این بود که هر فرد (یا سیستم ارتباطی) یک جفت کلید داشته باشد، یک کلید عمومی و یک کلید خصوصی، کلید عمومی بین دو طرف به اشتراک گذاشته می شود و برای تشخیص هویت کابر نهایی و استفاده می شود.در حالی که کلید خصوصی یک راز باقی می ماند و هرگز انتقال داده نمی شود.
اطلاعات رمز شده با استفاده از کلید عمومی فرستاده می شود تا منبع ارسال اطلاعات شناخته شود اما تنها ی ک دریافت کننده که کلید خصوصی را در اختیار دارد قادر به رمزگشایی کردن پیام است.
متاسفانه کلید خصوصی که نگهدارنده محرمانگی است بوسیله الگوریتم ریاضی پیچیده ای به کلید عمومی مرتبط می شود. بنابراین، این یک ضعف برای این سیستم محسوب می شود. این ضعف با افزایش پیچیدگی حل الگوریتم برای سیستم های کامپیوتری رایج، کمتر وکمتر می شود.
حتی هنگامی که از تکنیک a.k.a) brute force به صورت سیستماتیک استفاده کردن از هر ترکیبی از حروف ، اعداد و سمبل ها) هم استفاده می شود، حتی بوسیله اکثر سیستم های کامییوتری قدرتمند امرزی، یک متن رمزشده قو ی توسط سیستم رمزنگاری کلید عمومی غیر قابل دستیابی باقی مانده است. پیچیدگی رسیدن به یک راه حل به خاطر عدم توانایی پردازنده های امروزی در بدست آوردن عامل های اعداد صحیح بزرگ ، افزایش پیدا میکند. قویترین انواع رمز نگاری های امروزی با تکیه بر این موضوع عمل می کنند.
برای روشنتر شدن موضوع بهتر است بدانید که محققان محاسبه کرده اند که برای بدست آوردن عامل های یک عبارت 786 بیتی RSA با استفاده از متد number field sieve factoring با کمک یک پردازنده 2GHz AMD تک هسته ای با 2G RAM، برای پردازش به زمانی بالای 1500 سال نیاز دارند.[2] این مدت زمان طولانی است که شکستن کدهای رمز شده امروزی را به یک کار غیر ممکن تبدیل کرده است.
کامپیوتر های کوانتومی با ایجاد وسیله برای شکستن پیچیده ترین سیستم رمزنگاری امروزی، اولین خطر جد ی را متوجه این سیستم ها ساختند. با استفاده از اتم ها به عنوان شبه بیتهای (pseudo bits) اطلاعات دیجیتال، پردازشها ی باینری می توانند به روش پیشرفته تر از آنچه امروزه امکانپذیر است، انجام شود. بیتهای کوانتومی یا کیوبیتها می توانند همانند بیتهای کلاسیک مقادیر 0 و 1 بگیرند. پیچیدگی، زمانی بالا میرود که این کیوبیتها می توانند هر مقداری بین 0 و 1 را در آن واحد در خود نگهدارند. این قابلیت باعث شده است تا یک کیوبیت به تنهایی قادر باشد هر مقدارممکنی بین مقادیر 0 و 1 را به صورت همزمان نشان دهد، بنابراین محاسبات می تواند به طور موازی روی هریک از این مقادیر انجام شود. در این مقاله ما تاریخچه محاسبات کوانتمی را شرح خواهیم داد همچنین کاربرد های عملی کامپیوترهای کوانتمی و اینکه چگونه روی سیستم های رمزنگاری امروزه تاثیر میگذارند را بررسی میکنیم و اینکه کامپیوترهای کوانتمی چگونه سیستم های جدید را شک ل دهی میکنند را شرح خواهیم داد. قبل از هر چیز مروری خواهیم داشت به الگوریتم رمزنگاری .RSA
-2 رمزنگاری کوانتومی
رمزنگاری کوانتومی استفاده مکانیک کوانتومی به خصوص ارتباطات کوانتومی و محاسبات کوانتومی برای اجرای عملیات رمز نگاری و شکستن سیستم های رمز گذاری شده را توصیف می کند. استفاده از رمز نگاری کلاسیک (غیر کوانتومی) برای حفاظت در برابر حمله کنندگان کوانتومی نیز به عنوان رمزنگاری کوانتومی در نظر گرفته می شود. به این حالت رمز نگاری پست-کوانتومی میگویند.
نمونههایی از رمزنگاری کوانتومی استفاده از ارتباطات کوانتومی برای رد و بدل کردن مخفیانه کلید) توزیع کلید کوانتومی (یا استفاده از رایانههای کوانتومی برای شکستن انواع گوناگون کلیدهای عمومی و امضاهای دیجیتال میباشد.
زنگاری کوانتومی اولین بار توسط Stephen Wiesner در اوایل دهه ی 1970 ارائه شد که مقاله ی وی در این زمینه در سال 1983 به چاپ رسید و در سال 1990 یک دانشجوی دوره ی دکتری دانشگاه oxford به نام Artur Ekert روش دیگری برای رمزنگاری کوانتومی ارائه داد. همان طور که گفتیم رمزنگاریِ کوانتومی تنها برای تولید و توزیعِ کلید استفاده می شود و نه برای انتقال اطلاعات. این کلید در مراحل بعدی می تواند با هر الگوریتم رمزگذاری (یا رمزگشایی) برای تبدیل پیام به رمز یا برعکس استفاده شود. برخلاف رمزنگاری کلاسیک که به دشواری انجام عملیات ریاضی به خصوصی وابسته است، نمی تواند شنودکننده (فردی که از راه های غیرمجاز میخواهد به اطلاعات دسترسی یابد) را آشکارسازی نماید و پنهان ماندن کلید را تضمین کند، رمزنگاری کوانتومی که بر پایه ی اصول مکانیک کوانتومی استوار است از بین بردن تمامی این مشکلات را وعده
میدهد.
-3 تاریخچه محاسبات کوانتمی
ایده کامپیوترهای کوانتمی در اوایل دهه 1980 شروع شد و توسط Paul Benioff، Charles Bennett ، David Deutsch ، Richard Feynman و Yuri Manin تحقق پیدا کرد .[4]ایده اصلی چنین سیستمی تئوری محض بود و دانشمندان برای پایه گذاری این ایده سالها روی مبحث تئوری کوانتوم و علوم اطلاعات تحقیقات انجام دادند.
دانشمندان پیشبینی کردند که اگر تکنولوژی طبق قانون مور((Moor (بهبود های تکنیکی در کوچک سازی منجر به این خواهد شد که هر 18 ماه چگالی ترانزیستور هایی که رو ی مدارات مجتمع قرار میگیرد دو برابر شود ) به پیش رود. سایز مدارات به اندازه ای نه خیلی بیشتر از چند اتم خواهد رسید. در این سایز، کار کردن با مدارات مجتمع از قوانین مکانیک کوانتومی تبعیت خواهد کرد. بنابراین محققان شروع کردند به طرح این سوال که آیا نوع جدیدی از کامپیوترها می تواند با دانش فیزیک کوانتوم اختراع شود؟
در سال Rechard Feyman 1982 مدل کوچکی ایجاد کرد تا نشان دهد چگونه یک سیستم کوانتومی می تواند کار کند و برای کارهای محاسباتی مورد استفاده قرار گیرد.اساسا یک بیت کلاسیک در محاسبات برای نمایش دو وضعیت متفاوت از ماشین پردازش اطلاعات استفاده می شود. یک بیت می تواند مثل یک کلید برق در نظر گرفته شود که دو حالت خاموش و روشن دارد. وقتی خاموش است گفته میشود بی ت مقدار صفر دارد و وقتی روشن است گفته میشود مقدار یک دارد. بیت های کامپیوترهای کوانتومی یا کیوبیتها میتوانند در آن واحد یک 0 یا یک 1 باشند. ذره ای که چنین وضعیت کوانتومی دارد گفته میشود در فرا وضعیت ( (superposition قرار گرفته است. هرچند هنگام مشاهده ذره توسط شخص یا چیز دیگری، این ذره فقط یک مقدار را نشان می دهد. برای نمایش یک سیستم n کیو بیتی روی یک کامپیوتر کلاسیک نیاز به ذخیره 2n ضریب مختلط است. این حقیقت مشخص میکند که کیوبیت هامی-توانند به صورت توانی اطلاعات بیشتری نسبت به همتای کلاسیک خود، در خود نگهداری کنند.
مزیت سرعت کامپیوتر های کوانتومی بر کامپ یوترهای کلاسیک تا اوایل دهه 1990 درک نشد. تا اینکه david Deutsch و Richard Jozsa نشان دادند که کامپیوتر کوانتمی از تابعی به صورت : 1},،1}n {0،f : { 0 استفاده میکند. ما میتوانیم مطمئن باشیم که تابع یک مقدار ثابت 0 یا 1 دارد یا در وضعیت تعادل ( در نیمی از نتایج 0 و در نیمی دیگر 1 را برمیگرداند ) قرار میگیرد.[4] الگوریتم deutsch & Jozsa پایه ای شد برای شخصی به نام Peter Shor تا یکی از معروفترین ومهمترین الگوریتم های کوانتومی که جهان محاسباتی تا به حال به خود دیده است را بنا نهد. در سال 1994 ریاضی دان Peter shor یک الگوریتم کوانتومی را برای بدست آوردن عاملهای اعداد صحیح تدوین کرد که برای استفاده روی کامپیوتر کوانتومی طراحی شده بود. بدست آوردن عامل های اعداد صحیح در اصل به این صورت است : " پیدا کردن عامل های اول عدد صحیح داده شده" shor پی برد که با استفاده از تئوری او یک کامپیوتر کوانتومی می تواند به صورت کارا مسئله محاسبه عاملهای اول اعداد بزرگ را حل کند.[4]
تئوری کوانتومی shor دارای پیچیدگی زمانی چند جمله ای است در صورتی که الگوریتم کلاسیک محاسبه عاملها ،غربالگری (the general number field sieve)، عامل های عدد N که L بیت دارد را در زمان O(exp(cL 1/3 log2/3 L)) بدست می آورد. الگوریتم با مشخص کردن پریود تابع f(x) = ax mod N کار می کند که a یک عدد تصادفی ست که بوسیله کامپیوتر کوانتومی استفاده می شود و هیچ عامل مشترکی با N ندارد. بعد از بدست آوردن این پریود با استفاده از تکنیکهای نظریه اعداد می توانیم عاملهای N را با احتمال موفقیت بالایی بدست آوریم. [5]
در سال 2001 الگوریتم shor بوسیله محققان IBM به تست گذاشته شد که از تکنیک های اتاق تشدید مقناطیسی مایه هسته ای برای دستکاری هسته در یک ملکول که به عنوان بیت-های کوانتمی استفاده شد.[6]
محققان از یک کامپیوتر اولیه کوانتمی که قادربه اعمال الگوریتم shor بود استفاده کردند واین کامپیوتر عامل های عدد 15 را 3 و 5 بدست آورد. آنها تاکید کردند که تجربه آنها می تواند در مقیاس بزرگتری با سیستم بزرگتری با بیش از 7 کیوبیت از نوعی که آنها استفاده کردند، انجام شود.اما این موضوع زمینه ای برای نشان دادن تکنیک هایی برای کنترل و مدل کردن کامپیوتر های کوانتومی در آینده خواهد بود.
رمز نگاری کوانتمی، جلودار اهداف برای ایجاد کامپیوتر های کوانتمی از اوایل دهه 1980 بود. به خاطر نوع رفتاری که کیو بیت ها هنگام مشاهده دارند، امکان ایجاد نوع جدیدی از ارتباط کوانتومی بین دو طرف ارتباط را ایجاد کرده است. در حالی که قبلا انتقال اطلاعات به این صورت بود که دریافت کننده یک کلید رمز برای رمزگشایی یک متن رمز شده در اختی ار داشت، محققان توانستند از فوتون ها برای فرستادن متن و تشخ یص اینکه آیا متن در طول راه دیده شده یا خیر استفاده کنند. این متد نمی تواند از خوانده شدن متن توسط شنود گرها جلوگیری کند اما می تواند روشی را برای فرستنده و گیرنده ایجاد کند که بفهمند آیا پیام در بین راه توسط شخص یا چیزی مورد حمله قرار گرفته شده است یا خیر.
یکی از قدیمی ترین ایده های مربوط به محاسبات کوانتمی، رمزنگاری کوانتمی منتسب به Stephen Wiesner در دهه 1960 است. Wiesner یک تئوری را توسعه داد که وسیله ای برای جلوگیری از جعل پول بود و از قوانین فیزیک به عنوان اصل محافظت استفاده می کرد.[4] متد او با تکیه بر اطلاعاتی کار میکرد که در وضعیت ها ی کوانتمی کد شده بود و بدین وسیله قادر بود از دسترسی هر شریک خارجی جلوگیری کند. به آن اطلاعات بدون اخلال در وضعیت گفته می شود .
این خاصیت اطلاعات کوانتمی طلیعه ای به روش جدید تبادل اطلاعات است و شرکت ها در حال تحقیق و بررسی هستند تا به کاربران این امنیت را بدهد که اگر اطلاعات مهمشان در بین راه متوقف شد یا توسط مستمعین خارج از تبادل مشاهده شد، اطلاع پیدا کنند.
در سال 2002 و 2003 یک شرکت سوئیسی به نام id Quantique و یک شرکت آمریکایی به نام MagiQ technologies، هر دو با هم محصولات ارتباطات تجاری ایجاد کردند که از این تکنولوژی برای انتقال و دریافت پیام در آن استفاده کردهاند. [4] این دو شرکت چنین عنوانی را ثبت کرده اند: بازاریابی خیلی اولیه سیستم های توزیع کلید کوانتمی.
این می تواند متدی ترجیحی برای ارتباطات امن در آینده باشد و جایگزین کلید خصوصی استفاده شده در سیستم توسط دریافت کننده، بر اساس معماری مشهور RSA باشد.
سازمان های بزرگ بررسی سیستم های کوانتمی را شروع کرده اند، شرکت هایی مثل - Hewlett-Packard,Microsoft, IBM, Lucent, Toshiba and NEC
هر کدام برنامه تحقیقاتی فعالی در پیش گرفتهاند تا دریابند که چگونه رمزنگاری کوانتمی میتواند در مدل های تجاری آتی بکار رود.[4]با توجه به تحقیقات گذشته فوقالذکر در مورد سیستم های کوانتمی، " محدوده کمی ازمسالِی مربوط به این پیشرفت ها مبهم باقی مانده است. اما تجربه نشان داده است که صنعت زمان زیادی را برای جابجایی سیستم های قدیمی نیاز دارد" این گفته Andrea Simmons از هفته نامه کامپیوتر است.[8]
این درست نیست که بگوییم " اگر کامپ یوترها ی کوانتمی بیایند آیا ما آماده هستیم یا خیر؟ " بلکه باید بگوییم "زمانی که کامپیوترهای کوانتمی می آیند ما آماده هستیم یا خیر؟ ".
-4 محاسبات کوانتومی و الگوریتم های پست کوانتومی
متخصصان رمزنگاری توجه خود را معطوف به محاسبات کوانتومی کردهاند که ممکن است کاربرد آن خیلی دور نباشد. خیلی از خبرگان رده بالا ی رمز نگاری مرتبط با صنعت IT پیشبینی کردهاند که یک کامپیوتر کوانتومی در مقیاس کامل (full-scale) در کمتر از 10 سال آتی ساخته خواهد شد.[9] کنفرانس Post-Quantum ) PQCrypto (Cryptography در سال 2006 برگزار شد تا خطراتی را که دنیای امنیت کامپیوتری با ظهور موفق کامپیوترهای کوانتومی با آن مواجه می شوند را خاطرنشان کنند. محققان از سرتاسر جهان درشهر لون در بلژیک گرد هم آمدند تا در مورد جایگزین های ممکن برای سیستم های رمزنگاری پراستفاده در جهان بحث کنند. دو متد فراگیر امروزی RSA و ECC هستند .[8] که هر دوی این متدها برای ایجاد ارتباط امن بین دو طرف،براساس معماری کلید عمومی و امضای دیجیتال عمل می کنند.