آزمایشگاه برای علم مولکولی
دانشگاه کالیفرنیای جنوبی و
بخش علم کامپیوتری
دانشگاه کالیفرنیای جنوبی
محاسبه و انتخاب سیستمهای عصبی
موسسه تکنولوژی کالیفرنیا
اخیراً، بونه، دال ووس ولیپتون، استفاده اصلی از محاسبه مولکولی را در جمله به استاندارد رمزگذاری (دادهها) در اتحاد متحده توضیح دادند (DES). در اینجا، ما یک توضیح از چنین حملهای را با استفاده از مدل استیگر برای محاسبه مولکولی ایجاد نموده ایم. تجربه ما پیشنهاد میکند که چنین حملهای ممکن است با دستگاه table-top ایجاد شود که بصورت تقریبی از یک گرم PNA استفاده میکند و ممکن است که حتی در حضور تعداد زیادی از اشتباهها موفق شود:
مقدمه :
با کار آنها در زمینه DES بته، رانودرس ولیبتون [Bor]، اولین نمونه از یک مشکل علمی را ایجاد نمودند که ممکن بود برای محاسبه مولکولی آسیبپذیر باشد. DES یکی از سیستمهای[1] Cryptographic می باشد که به صورت گسترده مورد استفاده قرار میگیرد آن یک متن رمزی 64 بیتی را از یک متن ساده 46 بیتی و تحت کنترل یک کلید 56 بیتی ایجاد مینماید.
در حالیکه این بحث وجود دارد که هدف خاص سخت افزار الکترونیکی [Wi] یا سویر کامیپوترهای همسان بصورت گسترده، این امری میباشد که DES را به یک میزان زمانی منطقی بشکند، اما به نظر میرسد که دستگاههای متوالی قدرتمند امروزی قادر به انجام چنین کاری نیستند. ما کار را با بوته ان ال دنبال کردیم که مشکل شکست DES را موردتوجه قرار داده بود و اخیراً مدل قویتری را برای محاسبه مولکولی پیشنهاد داده بود [Ro]. در حالیکه نتایج ما امید بخش بود، اما باید بر این امر تأکیدی نمودیم که آسانی این امر نیز باید سرانجام در آزمایشگاه تصمیم گرفته شود.
در این مقاله، به اصطلاح ما محله متن ساده- متن رمزدار[2] مورد توجه قرار میگیرد و امید این است که کلیدی که برای عملکرد encryption (رمزدار کردن) مورد استفاده قرار میگیرد، مشخص شود. سادهترین نظریه برای این امر، تلاش بر روی تمام کلیدهای 256 میباشد که رمزسازی را برای یک متن ساده تحت هر یک از این کلیدها انجام دهیم تا متن رمزدار را پیدا نمائیم. به طور مشخص، حملات کار امر مشخص نمی باشد و در نتیجه یک نیروی کامل برای انجام آن در اینجا لازم است.
ما، کار خود را با توضیح الگوریتم آغاز کردیم تا حمله متن رمزدار- متن ساده را به منظور شکستن DES در یک سطح منطقی بکار بریم. این به ما اجازه میدهد تا عملکردهای اصلی را که برای اجرا در یک دستگاه استیکر (Sticker) نیاز داریم و بعنوان یک نقشه مسیر برای آنچه که باید دنبال کنیم عمل میکنند تشخیص دهیم.
(2) الگوریتم مولکولی : بصورت تقریبی، بار رشتههای حافظهای DNA همان یکسان 256 [Ro] شروع کنید که هر یک دارای طول نئوکلیتد 11580 میباشد. ما فکر میکنیم که هر رشته حافظه دارای 5792 قطر پشت سر هم باشد (به مناطق [Ro] برگردید) B0,B1,B2,…B578 هر یک طول به میزان 20 نئوکلتید دارد. در یک مدل استیکر که اینجا وجود ادر 579 استیکر وجود ارد S0, S1, …S578 که هر یک برای تکمیل هر قطعه میباشد (ما به رشتههای حافظه با استیکرهای S بعنوان پیچیدگیهای حافظهای میباشد برمیگردیم) زیرا، ما به این امر توجه میکنیم که هر رشته نماینده یک حافظه 579 بیتی باشد، در بعضی از مواقع از Bi استفاده میکنیم که به بیتی که نماینده Bi میباشد، برمیگردد. قطعه B0 هرگز تنظیم میشود و بعداً در اجرای الگوریتم استفاده میشود (بخش فرعی 1-3) قطعههای B1 تا B56 رشتههای حافظهای می باشد که برای ذخیره یک کلید مورد استفاده قرار میگیرد، 64 قطعه بعدی، B57….B120 سرانجام بر اساس متن رمزگذاری کدگذاری میشود و بقیه قطعهها برای نتایج واسطه ودر مدت محاسبه مورد استفاده قرار میگیرد. دستگاه استیکر که رشتههای حافظه را پردازش میکند، متون رمزدار را محاسبه میکند که تحت کنترل یک ریز پردازنده انجام می گیرد. به این علت که در تمام نمونهها، متن ساده یکسان است؛ ریز پردازنده کوچک ممکن است که آن را ذخیره سازد، ما نیاز نداریم که متن ساده را در رشتههای حافظه نشان دهیم. هماکنون یک جفت متن رمزدار- متن ساده را در نظر بگیرید، الگوریتم اجرا شده در سه مرحله می باشد.
(1) مرحله ورودی: رشتههای حافظه را به اجرا درآورید تا پیچیدگیهای حافظه ای را ایجاد نماید که نماینده تمام 256 کلید میباشد .
(2) مرحله رمزی کردن : در هر پیچیدگی حافظه، متن رمزدار محاسبه کنید که با رمز کردن متن ساده و تحت کلید پیچیدگی همسان است.
(3) مرحله بازدهی: پیچیدگی حافظه ای که متن رمزدار آن با متن رمزدار مورد نظر تطبیق دارد، انتخاب نمایند و کلید تطبیقی با آن را بخوانید.
قسمت عمده کار در مدت مرحله دوم صورت میگیرد که رمزگذاری دادههای DES صورت میگیرد، بنابراین ما این مراحل را در زیر مختصر کردهایم. هدف ما بر روی این امر است که شرح دهیم چگونه DES در یک کامپیوتر مولکولی اجرا میشود و برای این امر، نشان دادن دقیق همه جزئیات در DES لازم نیست (برای جزئیات [Na] را ببینید)
ما به جای این جزئیات بر روی عملکردهای ضروری که برای DES نیاز است، توجه داریم که آن چگونگی عملکردها رانشان می دهد که با یکدیگر مرتبط می شوند تا یک الگوریتم کامل را ایجاد نمایند.
DES، یک رمزنویسی با 16 دروه است در هر دوره، یک نتیجه واسطه 32 بیتی جدید ایجاد میشود آن به این صورت طرحریزی شده است R1….R16. ما R16, R15 را در جایگاههای B57 تا B160 ذخیره میکنیم (مجاور با کلید)
در حالیکه R10….R12 در جایگاههای B121 تا B568 ذخیره میشوند لزوماً R15, R16 با هم در نظر گرفته می شوند تا متن رمزدار مورد نظر را ایجاد نمایند ما متن رمزدار را مجاور با کلید رمزگذاری میکنیم به این امر بدلایل اجرایی می باشد که در بخش فرعی 4-3 آمده است.
32 بیت چپ و 32 بیت راست متن ساده به عنوان R0, R-1 در نظر گرفته میشوند و برای کنترل کردن میکور پروسورهای ریز پردازندهها می باشد. بیتهای B569 تا B578 بعنوان یک فضای کاری مورد استفاده قرار میگیرد و در مدت محاسبه نوشته و پاک میشود. بنابراین بجز بیتهای دیگر که بصورت یکبار نوشتن میباشد این بیتها میتوانند پاک و دوباره نوشته شود برای دلایل اجرایی، همیشه ما کل فضای کاری را یکبار پاک میکنیم.
صورت خاص ، Ri از Ri-2, Ri-1 و بوسیله محاسبه زیر بدست میآید.
R1= Ri-2 S(ELKi-1) Ki)
در اینجا ، دلالت بر موارد خاجر از این میزان یا (x-or) میکند، Ki به یک انتخاب وابسته دایره وار 48 بیتی از کلید میکند، E به عملکرد گستردهای که دارای 32 بیت از Ri-1 میباشد دلالت میکند و آنها را محدوده 48 بیتی تکرار میشوند، S نیز به عملکرد S دلالت می کند که یک ورودی 48بیتی میباشد و در یک بازده 32 بیتی طرحریزی شده است. عملکرد S,E و انتخاب Ki دارای کدگذاری سختی میباشد، و آن مانند متن سادهای که به ریز پردازنده وارد شود، میباشد.
در واقع، عملکرد S میتواند درهشت عملکرد مستقل 6 بیتی تجزیه شود که آن معروف به باکسهای (S-boxes)s میباشد. زیرا هر Ri ممکن سا که در هشت عمکرد مستقل محاسبه شود، هر یک از آنها یک جانک[3] 4 بیتی ایجاد مینماید. یک جانک در نظر گرفته شده عملکرد 16 بیت ورودی میباشد که 6 بیت Ri-1 ، 6 بیت Ki و 4 بیت Ri-1 میباشد ما محاسبه جانک را در زیر توضیح میدهیم.
(1) 6 بیت Ri-1 و 6 بیت Ki ، x-ored میباشند که یک نتیجه 6بیتی را ایجاد مینماید که سپس در جایگاههای فضای کاری B569,…. B574 ذخیره میشوند.
(2) یکی از عملکردهای باکس – S در بیتهای B569,…. B574 بکار گرفته میشود و نتیجه 4- بیت در جایگاههای فضای کاری B575,…. B578 ذخیره میشود.
(3) بیتهای B575,…. B578 ، x-roed با 4 بیت Ri-2 میباشند که جانک مورد نظر Ri را ایجاد میکنند و سپس در چهار قطعه مناسب بیتهای واسطه B56,…. B568 ذخیره میشوند.
(4) اگر چانک محاسبه شده ، آخرین چانک R16 نباشد، کل فضای کاری، بیتهای B569,…. B578 به منظور استفاده آمیزه پاک می شوند.
جایگاهها در هر مجموعه، حافظه دارای 16 بیت ورودی نیاز دارند تا چانک مورد نظر را محاسبه کنند که آن به تعداد چانک (8و....و1) و تعداد دوره (16و.... و1) وابسته است، اگر چه مقدار 1/0 از این بیتها از یک مجموعه حافظه تا مجموعه دیگر متفاوت است. ریزپردازندههای کنترل میدانند که کدام جایگاهها دارای این بیتها (آنها کدگذاری سخت میباشند) میباشد و همچنین x-or یا s-bos را که برای بکارگیری مورد نیاز است، میشناسند. سپس ما میبینیم که کدگذاری یک متن ساده با DES به فرآیند (1) انتخاب 2 بیتی، تولید x-pr آنها، و نوشتن نتایج در یک بیت جدید یا (2) انتخاب 6 بیتی، بکارگیری یک S-box و نوشتن نتایج در 4 بیتی وارد میشود.
(3) اجرا:
هماکنون، ما به اجرای الگوریتم در یک دستگاه استیکر برمیگردیم. چنین دستگاهی، همانطور که در [Ro] توضیح داده شد، ممکن است بعنوان یک فضای کاری رباتیک همسان توضیح داده شود. آن شامل یک فضا برای لولهها[4]( )لولههای دادهها، لولههای استیکر و لولههای اجرا کننده تعدادی رباتیک (دستهها، پمپها، گرم کننده، سرد کننده، اتصال کننده و غیره) و یک ریزپردازنده میباشد. این ریزپردازنده و رباتیکها را کنترل میکند. دوویس ات ال پذیرفت که ترکیبات رباتیکها و دادهها و لولههای عملکردی ممکن است به صورتی ترتیب یابند که هر یک از چهار عملکرد را اجرا کنند: جداسازی، ترکیب، تنظیم و پاک کردن.
ما میپذیریم که رباتیکها قادر هستند که یک سری گسترده از عملکردها را انجام دهند:
(1) جداسازی همسان: رباتیکها میتوانند، DNA را از هر یک از 32 لوله داده به دو لوله داده بیشتر تجزیه کنند و در یک لحظه از 32 لوله عملکرد مجزا استفاده کنند.
(2) ترکیب همسان: رباتیکها میتوانند DNA را از 64 لوله اطلاعاتی متفاوت به یک لوله داده و در یک لحظه ترکیب کنند. ما میپذیریم که لوله عملکردی خالی که برای ترکیب در [Ro] استفاده میشود، فقط یک اتصال گسترده میباشد که قسمتی از رباتیکها میباشد.
(3) تنظیم همسان: رباتیکها میتوانند از یک لوله استیکر با استیکرهای SK استفاده کنند و بیت Bk را در مجموعههایی که دارای 64 لوله داده متفاوت میباشد، در یک لحظه، تنظیم کنند. ما میپذیریم که لوله عملکردی استیکر برای تنظیم در [Ro] مورد استفاده قرار میگیرد و فقط نوعی فیلتر میباشد که میتواند در رباتیکها ایجاد شود.
(4) پاک کردن: رباتیکها میتوانند تمام بیتهای فضای کاری را در تمام مجموعهها در یک لوله اطلاعاتی پاک کنند. ما میپذیریم که استیکرها در فضای کاری، به طور همزمان، پاک میشوند. از این رو قطعههای فضای کاری ممکن است با استفاده از به اصطلاح مناطق ضعیف اجرا شوند. [Ro] دو باره، ما میپذیریم که لوله عملیاتی استیکر برای پاک کردن در [Ro] مورد استفاده قرار میگیرد، و فقط نوعی فیلتر است که میتواند در رباتیکها ساخته شود.
ما چهار عملکرد بالا را انجام میدهیم و از لولههای اطلاعاتی که ممکن است مجموعههای حافظه DNA را نگهدارد، استفاده میکنیم. لولههای استیکر (به منظور محاسبه) منبع خاصی از استیکر Sk میباشند که لولههای عملکرد مجزا برای قطعه خاص Bk نگهداشته میشوند.