بخشی از مقاله
بكارگيري محاسبه مولكولي با استاندارد رمزگذاري دادهها
اخيراً، بونه، دال ووس وليپتون، استفاده اصلي از محاسبه مولكولي را در جمله به استاندارد رمزگذاري (دادهها) در اتحاد متحده توضيح دادند (DES). در اينجا، ما يك توضيح از چنين حملهاي را با استفاده از مدل استيگر براي محاسبه مولكولي ايجاد نموده ايم. تجربه ما پيشنهاد ميكند كه چنين حملهاي ممكن است با دستگاه table-top ايجاد شود كه بصورت تقريبي از يك گرم PNA استفاده ميكند و ممكن است كه حتي در حضور تعداد زيادي از اشتباهها موفق شود:
مقدمه :
با كار آنها در زمينه DES بته، رانودرس وليبتون [Bor]، اولين نمونه از يك مشكل علمي را ايجاد نمودند كه ممكن بود براي محاسبه مولكولي آسيبپذير باشد. DES يكي از سيستمهاي Cryptographic مي باشد كه به صورت گسترده مورد استفاده قرار ميگيرد آن يك متن رمزي 64 بيتي را از يك متن ساده 46 بيتي و تحت كنترل يك كليد 56 بيتي ايجاد مينمايد.
در حاليكه اين بحث وجود دارد كه هدف خاص سختافزار الكترونيكي [Wi] يا سوير كاميپوترهاي همسان بصورت گسترده، اين امري ميباشد كه DES را به يك ميزان زماني منطقي بشكند، اما به نظر ميرسد كه دستگاههاي متوالي قدرتمند امروزي قادر به انجام چنين كاري نيستند. ما كار را با بوته ان ال دنبال كرديم كه مشكل شكست DES را موردتوجه قرار داده بود و اخيراً مدل قويتري را براي محاسبه مولكولي پيشنهاد داده بود [Ro]. در حاليكه نتايج ما اميد بخش بود، اما بايد بر اين امر تأكيدي نموديم كه آساني اين امر نيز بايد سرانجام در آزمايشگاه تصميم گرفته شود.
در اين مقاله، به اصطلاح ما محله متن ساده- متن رمزدار مورد توجه قرار ميگيرد و اميد اين است كه كليدي كه براي عملكرد 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 ممكن سا كه در هشت عمكرد مستقل محاسبه شود، هر يك از آنها يك جانك 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] توضيح داده شد، ممكن است بعنوان يك فضاي كاري رباتيك همسان توضيح داده شود. آن شامل يك فضا براي لولهها ( )لولههاي دادهها، لولههاي استيكر و لولههاي اجرا كننده تعدادي رباتيك (دستهها، پمپها، گرم كننده، سرد كننده، اتصال كننده و غيره) و يك ريزپردازنده ميباشد. اين ريزپردازنده و رباتيكها را كنترل ميكند. دوويس ات ال پذيرفت كه تركيبات رباتيكها و دادهها و لولههاي عملكردي ممكن است به صورتي ترتيب يابند كه هر يك از چهار عملكرد را اجرا كنند: جداسازي، تركيب، تنظيم و پاك كردن.
ما ميپذيريم كه رباتيكها قادر هستند كه يك سري گسترده از عملكردها را انجام دهند:
(1) جداسازي همسان: رباتيكها ميتوانند، DNA را از هر يك از 32 لوله داده به دو لوله داده بيشتر تجزيه كنند و در يك لحظه از 32 لوله عملكرد مجزا استفاده كنند.
(2) تركيب همسان: رباتيكها ميتوانند DNA را از 64 لوله اطلاعاتي متفاوت به يك لوله داده و در يك لحظه تركيب كنند. ما ميپذيريم كه لوله عملكردي خالي كه براي تركيب در [Ro] استفاده ميشود، فقط يك اتصال گسترده ميباشد كه قسمتي از رباتيكها ميباشد.
(3) تنظيم همسان: رباتيكها ميتوانند از يك لوله استيكر با استيكرهاي SK استفاده كنند و بيت Bk را در مجموعههايي كه داراي 64 لوله داده متفاوت ميباشد، در يك لحظه، تنظيم كنند. ما ميپذيريم كه لوله عملكردي استيكر براي تنظيم در [Ro] مورد استفاده قرار ميگيرد و فقط نوعي فيلتر ميباشد كه ميتواند در رباتيكها ايجاد شود.
(4) پاك كردن: رباتيكها ميتوانند تمام بيتهاي فضاي كاري را در تمام مجموعهها در يك لوله اطلاعاتي پاك كنند. ما ميپذيريم كه استيكرها در فضاي كاري، به طور همزمان، پاك ميشوند. از اين رو قطعههاي فضاي كاري ممكن است با استفاده از به اصطلاح مناطق ضعيف اجرا شوند. [Ro] دو باره، ما ميپذيريم كه لوله عملياتي استيكر براي پاك كردن در [Ro] مورد استفاده قرار ميگيرد، و فقط نوعي فيلتر است كه ميتواند در رباتيكها ساخته شود.
ما چهار عملكرد بالا را انجام ميدهيم و از لولههاي اطلاعاتي كه ممكن است مجموعههاي حافظه DNA را نگهدارد، استفاده ميكنيم. لولههاي استيكر (به منظور محاسبه) منبع خاصي از استيكر Sk ميباشند كه لولههاي عملكرد مجزا براي قطعه خاص Bk نگهداشته ميشوند.
در بخشهاي فرعي ما توضيح ميدهيم، از الگوريتم مولكولي اجرايي و كاربردي استفاده ميشود كه از اين عملكردها استفاده ميكند و براي اهداف تخمين زمان و مكان مورد نياز براي دستگاه استيكر مورد استفاده قرار ميگيرد ما سه منبع كيفيتي زير را دنبال مي كنيم.
(1) مراحل كامل: ما تاداد مراحل را بعنوان تعداد تجزيههاي همسان، تركيبهاي همسان، تنظيمها و پاك كردنهاي همسان تعريف ميكنيم كه بعد از شروع عملكرد داراي تجربههاي پيچيدهاي است. ما عملكرد رباتيكها را در يك مقدار بزرگ از لولهها محاسبه ميكنيم كه داراي يك مرحله واحد ميباشد و فرايندهاي حركت اطلاعات و لولههاي عملكردي را ناديده ميگيريم.
(2) لولههاي داراي مكان كامل: ما تعداد جايگاه لولهها را مشخص مي كنيم كه براي تعداد لولههاي اطلاعاتي لولههاي استيكر و لولههاي عملكرد مجزا و در مدت محاسبه مورد استفاده قرار ميگيرد. تمام لولهها قابل استفاده دوباره ميباشند، بنابراين ما تنها نياز داريم كه كپيهاي يك لوله را داشته باشيم كه در صورتيكه نياز به استفاده از نوع خاصي از لولهها صورت گرفت، دوباره از آن استفاده كنيم. ما بايد توجه كنيم كه هرگز نياز نداريم كه لولههاي استيكر را اضافه كنيم، رباتيكهاي ما قادر ميباشند كه از يك لوله استيكر بيش از يكبار استفاده نمايند. اگر چه ما نياز خواهيم داشت كه لولههاي عملكردي مجزا را اضافه كنيم و بسياري از لولههاي اطلاعاتي را نيز اضافه كنيم، زيرا ما قصد داريم كه مجموعهها را در چندين لوله اطلاعاتي متفاوت و با همان بيت Bi در يك زمان تجزيه كنيم.
(3) حداكثر تعداد لولههاي فعال براي هر عملكرد وجود دارد. ما تعداد لولههاي فعال را براي هر زمان و در مدت محاسبه مشخص ميكنيم و تعداد لولههايي كه رباتيكها از جايگاه و به منظور پردازش استفاده ميكنيم، مشخص ميكنيم توجه كنيد كه حداكثر تعداد لولههاي فعال، چنان پاراليسم (Paralelism) را كه بوسيله الگوريتم ما مورد استفاده قرار ميگيرد، مشخص ميكند بنابراين اين آن بايد ساختار يا راليسم را با رباتيكهاي ما مرتبط سازد.
1-3 به اجرا درآوردن رشتههاي حافظه
در ابتدا ما بايد كليدهاي كدگذاري لوله اوليه را ايجاد نمائيد. هدف ما اين است كه هر رشته حافظه 256 را در يك كليد متفاوت ذخيره كنيم براي مثال، اين به صورت زير صورت ميگيرد:
(1) رشتههاي حافظه را در دو لوله A,B تقسيم كنيد.
(2) اضافي S1 تا S56 را به لوله A اضافه كنيد و به آنها اجازه دهيد تا 56 قطعه اول را در هر رشته اشباع كند.
(3) از تكميل كننده B براي جداسازي مجموعههاي حافظه در لوله A و از استيكرهاي اضافي استفاده كنيد.
(4) لوله B را به لوله A اضافه كنيد.
(5) لوله A را گرما و سرما دهيد كه استيكرها را ريانسيل (reaneal) سازد.
مجموعه حافظه ايجاد شده بوسيله اين فرآيند به نظر ميرسد كه بصورت منطقي با يك پراكندگي Poiso مدلسازي شده است. اين انتظار وجود دارد كه بصورت تقريبي %63 از كليدها ارائه خواهد شد كه بصورت ميانگين يكي در هر كليد است.
اگر ميخواهيد كه در مدت محاسبه هيچ اشتباهي صورت نگيرد، ما شانس منطقي داريم كه از كليدها براي كدسازي متني استفاده كنيم.
در واقع، شانس اين امر با استفاده از رشتههاي حافظهاي بيشتر افزايش مييابد.
براي اطمينان از اين امر كه 9510 از كليدها نمايش داده شدهاند و به طور ميانگين سه كيسي از يك كليد صورت گرفته است، بطور ساده، ما از سه برابر DNA استفاده ميكنيم اين موضوعات با جزئيات بيشتر در بخش 4 آمده است.
2-3 اجراي عملكردهاي پايهاي
همانطور كه در بخش 2 مبحث صورت گرفت الگوريتم رمزي كردن DES تركيبي از دو عملكرد ساده است.
x-or ها كه ورودي 2 بيتي را به خروجي 1 بيتي صورت ميدهند. باكسهاي- S كه ورودي 6 بيتي را به خروجي 4 بيتي طرحريزي ميكند.
محاسبه عملكرد x-or 1 بيتي به 2 بيتي در شكل (19 توضيح داده شده است هماكنون، ما محاسبه عمكرد x-or را توضيح ميدهيم كه بصورت جزئيتر Bj Bk= Bi ميباشد كه آن را بصورت عملكرد n-bit به m-bit عموميت ميدهيم.
A) تجزيه همسان نمونه داراي لوله اطلاعاتي ميباشد كه براي هر يك ميزان ممكن BiBj وجود دارد.
در ابتدا، آن بااستفاده از يك لوله عملكردي مجزا صورت ميگيرد كه مخصوص Bi مي باشد، سپس به صورت خاكستري در نظر گرفته شدهاند. روئيس ات ال، يك تجزيه واحد را مدلسازي كرد كه عملكرد داراي سه لوله فعال در يك لحظه بود. يك لوله اطلاعاتي منبع، لوله عملكردي مجزا و يكي از دو لوله اطلاعاتي تجزيه زا. كه آنها برداشته شده و بصورت پشت هم با رباتيكها پر شوند. به اين علت كه در يك لحظه (بصورت همزمان) سه لوله فعال است ، سه لوله اطلاعاتي مورد استفاده قرار ميگيرد. در مدت دومين جداسازي همسان بالا، شش لوله اطلاعاتي مورد استفاده قرار ميگيرد كه شش لوله فعال است.
براي عملكرد n-bit به m-bit اين امر به صورت زير عموميت مي يابد.
تجزيه همسان، نمونه n، از لولههاي اطلاعاتي n2 استفاده ميكند كه هر يك براي ميزان ورودي n-bit ميباشد. آن به لولههاي عملكردي تجزيه 1- i 2 براي تجزيه همسان نه ميزان (i تا) نياز دارد (بصورت كامل 1- n2) به اين علت كه تجزيه همسان n تا به لولههاي اطلاعاتي 1-n 2×3 نياز دارد لولههاي 1-n 2×3 فعال ميشود
B) تنظيم همسان Bkبه (1) با يك استيكر Sk براي تمام لولههايي كه مورد استفاده مي باشد.
براي يك x-or آن تنها زماني كاربردي است كه 10 يا 01= Bi Bj باشد، اما براي يك عملكرد كلي 1-2، اين ممكن است نياز باشد كه يك استيكر اضافي به هر سري فرعي از هميار لوله اطلاعاتي همسان اضافه شود. براي هر عملكرد n-bit به m-bit بصورت كلي، اين امر صورت ميگيرد:
تنظيم همسان يك سري فرعي (با امكان تفاوت) از لولههاياطلاعاتي n2 و m دفعه، از يك سري كامل از لولههاي استيكر m استفاده ميكند آن نياز به لولههاي فعال 1+ n 2 دارد. توجه كنيد كه سري فرعي لولههاي اطلاعاتي كه در تنظيم همسان استفاده ميشود، تنها با استفاده از الگوريتم ذخيره شده در ريز پردازندهها تعيين ميشود.
C) تركيب همسان محتوي تمام سيار لوله اطلاعاتي در يك لوله اطلاعاتي مي باشد آن به 5 لوله اطلاعاتي نياز دارد و بنابراين 5 لوله فعال است.
براي يك عملكرد n-bit و m-bit به اسفيورت كلي سازي صورت مي گيرد:
تركيب همسان، محتوي تمام لولههاي اطلاعاتي n2 به يك لوله اطلاعاتي تبديل ميشود آن به1+ n2 لوله اطلاعاتي و 1+ n 2 لوله فعال نياز دارد.
در انتهاي عملكرد x-or ها تمام DNA يي ما به يك لوله واحد برگشت:
بصورت كلي ميتوان گفت كه عملكرد n-bit به m-bit نيازمند به مراحر 1+n+m ميباشد، لولههاي عملكردي تجزيه 1- n2 (مخصوص براي لولههاي متفاوت) لولههاي استيكر m، حداكثر لولههاي اطلاعاتي 1-n 2×3 و حداكثر لولههاي فعال 1-n 2×3 مي باشد.