بخشی از مقاله
بكارگيري محاسبه مولكولي با استاندارد رمزگذاري دادهها
بكارگيري محاسبه مولكولي با استاندارد رمزگذاري دادهها
لئونارد ام. المان، ياول دبليو، كي، روتمود، سام روئيس، اريك وينفري
آزمايشگاه براي علم مولكولي
دانشگاه كاليفرنياي جنوبي و
بخش علم كامپيوتري
دانشگاه كاليفرنياي جنوبي
محاسبه و انتخاب سيستمهاي عصبي
موسسه تكنولوژي كاليفرنيا
اخيراً، بونه، دال ووس وليپتون، استفاده اصلي از محاسبه مولكولي را در جمله به استاندارد رمزگذاري (دادهها) در اتحاد متحده توضيح دادند (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 تا B1
60 ذخيره ميكنيم (مجاور با كليد)
در حاليكه 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 مي باشد.
در اين امر، ما ميتوانيم ببينيم كه يكي از كميتهاي منبعي مورد علاقه، حداكثر تعداد لولههاي فعال مي باشد كه هماكنون مشخص شده است. يك بيت-6 به بيت-4 در جعبه (S-box)s ، بزرگترين عملكرد استفاده نميكنيم. (عملكرد ديگري كه در الگوريتم مورد استفاده قرار گرفت، Clear و پاك كردن) ميباشد كه تنها از يك لوله فعال استفاده ميكند.
تعداد لولهها و جايگاه آنها، مجموعه اطلاعاتي است، لولههاي تجزيه و استيكر مورد استفاده قرار ميگيرد، اما و به آساني ما نمي توانيم تعداد آنها را براي يك باكس- s محاسبه كنيم و بايد آنها مورد محاسبه قرار گيرند. لولههاي دادهها، قابل مبادله با يكديگر ميباشند. بنابراين ما ميدانيم كه حداكثر تعداد استفاده شده در يك 96- S-box ، تعداد لولههاي شركت كنده در كل محاسبات باشد. در حاليكه لولههاي استيكر مجزا مشخص مي باشند، آنها با يك قسمت خاص از مجموعههاي حافظه مرتبط ميباشند
براي محاسبه لولههاي جايگاهي، ما نياز به توجه بيشتر به الگوريتم مولكولي داريم:
بنابراين در بخش فرعي ديگرما توجه ميكنيم كه چگونه x-or و S-box براي DES تركيب شده محاسبه ميشوند و تعداد كامل مراحل را محاسبه ميكنيم و در رابطه با روشهايي كه براي لولههاي عملكردي مجزا و لولههاي استيكر مورد استفاده قرار ميگيرند تا تعداد كامل لولههاي جايگاهي را به حداقل برسانند، بحث ميكنيم.
3-3- محاسبه متون رمزدار :
ما واحد پايهاي محاسبه را در الگوريتم مولكولي خود مرور كرديم كه يك چانك 4 بيتي مي باشد كه با استفاده از تركيب x-or ها وS-box ها كه داراي 16 بيت ورودي ميباشد، محاسبه ميشود. براي هر چانك در نظر گرفته شده تركيبات آنها 16 بيت ورودي ميباشد كه براي هر مجموعه حافظه يكسان ميباشد. جايگاههاي بيتهاي ورودي كدگذاري سخت در ريز پردازنده ها مي باشد و مقادير دقيق آن در دنباله كار ناديده گرفته مي شود. از توجه به عمكردهاي n-bit به m-bit ما ميدانيم كه چهار مرحله براي محاسبه يك x-or و 11 مرحله براي محاسبه يك S-box نياز است.
در ادامه، يك چانك را محاسبه ميكنيم كه داراي 51 مرحله به اينصورت ميباشد 51=4×4+11+4×6 بعد از آنكه يك چانك محاسبه شد، اگر فضاي كاري دوباره استفاده شود آن بايد پاك شود. براي تكميل حاسبه چانكها به اين صورت نياز است 128=8×16، و پاك كردن فضاي كاري 127 دفعه صورت ميگيرد. بنابراين عدد كامل مورد نياز مراحل 6655 مي باشد. در مدت
محاسبه يك x-or يك لوله عملكردي مجزا نياز است تا اولين بيت را جدا كند و دو لوله عملكردي مجزا نياز است تا دومين بيت (بصورت همسان) را جدا كند. براي اقتصادي كردن لولههاي عملكردي مجزا در زمانيكه x-or در حال انجام است، ما از مجموعه حافظه و تعداد لولههاي كم استفاده ميكنيم. براي هر x-or شامل يك بيت Ri-2 ميباشد كه 448 امكان از R1,….R14 وجوددارد. و يك بيت از فضاي كاري B578,…. B578 (كه تنها 4بيت است)، ما در ابتدا، Ri-2 را تجزيه ميكنيم و سپس بيت فضاي كاري را جدا ميكنيم. براي هر x-or كه شامل يك بيت در Ri-1 ميباشد (كه داراي 480
امكان از R1,….R15 وجود دارد) و Ki (كه 56 امكان را دارد) ما در ابتدا Ri-1 و سپس بيت كليدي را جدا ميكنيم در ادامه براي هر يك از بيتها از R1…R15 يك لوله عملكردي جدا باي بيت مورد نياز است و براي هر بيت K و هر بيت B575,…. B578 دو لوله عملكردي مجزا براي آن بيت مورد نياز است بنابراين و بطور كلي اين بيتها نيازمند به لولههاي عملكردي مجزا مي باشند كه به اين صورت محاسبه مي شود: 600=4×2+56×2+480 عملكرد جعبههاي (S-boxes) s روش ديگري را توضيح ميدهد كه ما يكسري لولههاي عملكردي تجزيهاي را دارا مي باشيم. محاسبات فرعي استفاده شده و پشت هم نياز ندارد كه ما يك بيت جديد را در هر دفعه كه آنها اجرا ميشوند، استفاده كنيم (و در نتيجه از لوله عملكردي مجزاي ديگري استفاده كنيم)
بجاي آن، ورودي و خروجي در يك منطقه، از مجموعه حافظه ذخيره
ميشوند كه در اجراي بعدي مورد استفاده قرار مي گيرند. جايگاه ورودي براي جعبههاي S در شش فضاي كاري اول ذخيره ميشود و خروجي درچهار فضاي كاري آخر ذخيره ميشود. بنابراين، اگر چه هشت جعبه S متفاوت (براي هر چانك يك عدد) وجود دارد، اما همه آنها از همان لولههاي عملكردي و استيكر مجزا استفاده مي كنند (تحت كنترل ريزپردازنده ميباشند و براي هر جعبه (S-box) s استيكرها به صورت متفاوت بكار ميروند. جعبه (S-boxes) s نياز به لولههاي عملكردي مجزا با 63 تاي اضافي دارد كه DNA را در تمام دستههاي 6 بيتي B569,…. B574 جدا كند.
بنابراين براي تكميل مرحله توليدمتن رمزگذاري شده الگوريتم، ما به 663 عملكردي مجزا نيازمند هستيم، بصورت كلي، 522= 10+512 لوله استيكر نياز است تا استيكرهايي كه براي نوشتن نتايج واسطه وبيتهاي فضاي كاري مورد استفاده قرار ميگيرد، نگهداري كند. بزرگترين عدد لولههاي اطلاعاتي استفاده شده در مدت محاسبه 96 ميباشد كه در مدت مرحله جداسزي بدست آمده است. بطور كلي لولههاي جايگاهي كه براي محاسبه متون رمزدار مورد نياز مي باشد به اين صورت محاسبه مي شود : 1271= 96+512+663
4-3 انتخاب متن رمزدار در نظر گرفته شده و خواندن كليد درست
زمانيكه متون رمزي محاسبه ميشود كليد مورد نظر بوسيله بررسي و مناسب با متن كدگذاري شده انتخاب ميشود و براي ملبيدا كردن كليد بندي مورد استفاده قرار ميگيرد. آن به يك مرحله مجزاي 64 تايي نياز دارد در زمان تجزيه مجموعه مورد نظر، اين لازم است كه كليد آن خوانده شود. خواندن آن با استفاده از كدگذاري درختي دو تايي و بررسي مولكولي واحد صورت ميگيرد كه در [Ro] توضيح داده شد. اگرچه اين امر مشخص نيست كه چنين نظريهاي در آزمايشگاه بصورت كامل موثر باشد در زير ما دو نظريه اضافي را توضيح ميدهيم كه هر يك از آنها شامل اصلاح روشهايي ميباشد كه در بخشهاي قبل توضيح داده شد.
در اولين نظريه رشتههاي حافظه 5 بيوتينيليد (biotinylate) شدهاند در زمانيكه متون رمزدار محاسبه ميشود كه در بخشهاي قبل توضيح داده شد، مجموعه هاي حافظه en mass را به شكل رشتهاي واحد انتقال ميدهند. يك روش براي انجام آن به اينصورت است:
(1) براي هر استيكر S0, S120 يك استيكر جديد صفر ايجاد ميشود، Si `3 و `5 در mers-8 را با si تقسيم ميكند، در mer-4 مياني از آن تمايز مييابد.