تبلیغات
اموزش کامپیوتر و اخبار تکنولوژی اموزش کامپیوتر|ترفند کامپیوتربررسی لپ تاپ|بررسی تخصصی لپ تاپ|بررسی موبایل|بررسی تخصصی موبایل|بررسی تبلت|بررسی تخصصی گوشی|بررسی تخصصی اسمارت فون ها|اموزش نرم افزار|اخبار کامپیوتر|اخبار فناوری|دانلود کتاب|اموزش برنامه نویسی|اموزش افیس|اموزش فتوشاپ|قیمت لپ تاپ|تکنولوژی

Great! The file uploaded properly. Now click the 'Verify my file' button to complete the process.

Logo RSS
هدف من از نوشتن این مطالب این است که بتوانم,اندک اطلاعات خود را در اختیار شما دوستان خودم بگذارم.امیدوارم شما هم با نظراتتان انگیزه من را در نوشتن بیشتر کنید.
alit655@yahoo.com

اموزش کامپیوتر و اخبار تکنولوژی

پنجشنبه 11 مهر 1392
رمزنگاری کوانتومی یکی از ابزارهای شگفت‌ا%:/.,DA
شیوه بنیادین (توجه: ریاضی دارد!)
ویژگی اصلی یک سیستم کلید همگانی/خصوصی آن است که کسی نتواند کلید خصوصی را به‌کمک کلید همگانی به دست آورد. الگوریتم‌های RSA (با سرنام سه مخترع آن‌ها نام‌گذاری شده‌اند) نیز یکی از روش‌های ساختن این گونه کلیدها هستند. پس ببینیم چگونه کار می‌کنند.
نخست دو عدد اول p وq را انتخاب کنید. فرض کنیم p=13 و q=17 باشد. این دو را در هم ضرب می‌کنیم: p×q=221. یک عدد دیگر نیز لازم داریم که از ضرب کردن p-1 در q-1 به دست می‌آید: p-1)×(q-1)=192)
اکنون در بازه 1 تا 192، یک عدد برگزینید، با این شرط که ب‌م‌م آن با 221، برابر با یک باشد. بیایید 7 را برگزینیم.
اکنون هنگام آن است که با استفاده از این عددها، کلیدمان را حساب کنیم. برای این کار، به طور متناوب حاصل‌ضرب p-1)(q-1)(1,2,3,...) + 1) را حساب کنید تا به عددی برسید که بر عددی که پیش‌تر انتخاب کردیم (7) بخش‌پذیر باشد. رقم‌های یک، دو، سه و بالاتر که درون پرانتز هستند، عددهای 193، 385، 576 و… را به دست می‌دهند. 385 بر 7 بخش‌پذیر است (با خارج قسمت 55).
اکنون دو کلید داریم: {7 و 221} و {55 و 221}. اما بدون دانستن عددهای اولی که برای حساب کردن 221 به کار رفته‌اند، نمی‌توان هیچ یک از این دو کلید را (به طور مستقیم) برای یافتن دیگری به کار برد. اما حاصل‌ضرب آن دو عدد اولی که برای ساختن این کلید به کار رفته را می‌دانید: 221. پس می‌توان به سادگی با تجزیه کردنش به عامل‌های اول، آن دو را یافت.
اما گویا این کار آسان نیست. نمودار زیر زمانی را که کامپیوتر من برای تجزیه کردن یک عدد به عامل‌های اولش نیاز دارد، نشان می‌دهد. این برنامه یک الگوریتم ساده brute force است که بهینه‌سازی هم نشده و زمان‌های نشان‌ داده ‌شده احتمالاً بیشتر صرف بارگذاری پایتون و کتاب‌خانه‌های مورد نیاز می‌شوند. اما خود مقدارهای زمانی چندان مهم نیستند. چیزی که باید مورد توجه قرار گیرد، آهنگ افزایش زمان مورد نیاز با بزرگ شدن عدد است.
البته این تنها نخستین پله است. هکر هنوز باید عدد دوم را حدس بزند. این کار به طور کلی بسیار آسان‌تر است. در جهانی ایده‌آل، همچنان که عدد مورد مطالعه به اندازه یک مرتبه بزرگی رشد می‌کند، زمان مورد نیاز برای یافتن کلید نیز دست‌کم به اندازه یک مرتبه بزرگ‌تر می‌شود. اما حتی برای اسکریپت ساده من، اگر بخواهیم زمان محاسبه (تجزیه) به اندازه یک مرتبه بزرگی رشد کند، دو عامل اول عدد مورد مطالعه باید یک مرتبه بزرگ شوند (یعنی خود آن عدد به اندازه دو مرتبه بزرگ‌تر شود).
برگ برنده ما آن است که زمان مورد نیاز برای محاسبه کلید با تقریب بسیار خوبی مستقل از اندازه عددهای اولی است که برای ساختن کلید به کار رفته‌اند. پس همیشه می‌توانیم عددهای اولی را چنان بزرگ برگزینیم که تجزیه‌کردن حاصل ضرب آن‌ها غیرعملی شود. به این دلیل است طول کلیدهایی که در تولیدگرهای نامتقارن کلیدها به کار می‌روند، چنین بلند هستند. شور وارد می‌شود
بسیار خوب، اسکریپت من خیلی ساده‌لوحانه بود. دیگران می‌توانند راه‌هایی برای بهینه‌سازی آن بیابند و به‌طور قطع نیز چنین کرده‌اند. اما در نهایت هیچ‌کدام از این بهینه‌سازی‌ها در برابر جفتی از عددهای اول به قدر کافی بزرگ، برنده نمی‌شوند. این همان جایی است که فناوری‌های اطلاعات کوانتومی نقش خود را ایفا می‌کنند. شور (Shor) دریافت که یافتن عامل‌های اول یک عدد، کاری است که یک کامپیوتر کوانتومی شاید بتواند با کارایی خوب انجام دهد. از آن زمان تاکنون، الگوریتم شور لولویی است که هم فناوری QKD و هم رمزنگاری کلاسیک را به پیش رانده ‌است.
خوب، این الگوریتم شور چگونه کار می‌کند؟ راستش، توضیح دادنش به راستی دشوار است. من هم اگرچه قدری درباره مکانیک کوانتومی می‌دانم، رهیافتم به آن کاملاً متفاوت با کسانی بوده ‌است که فناوری اطلاعات کوانتومی را مطالعه می‌کنند. پس نیاز به گفتن ندارد که توصیفی که به دنبالش می‌آید، ابتدایی خ:/..اهد بود.
فرض کنید حاصل ضرب دو عدد اول را دارید، مثلاً 221. حالا در طراحی بازی‌مان آن عدد را به عنوان نقطه پایانی تعیین می‌کنیم: عدد (صحیح) بزرگ‌تری را نمی‌توان برگزید. اگر دو عدد را در هم ضرب کنید و عددی بزرگ‌تر از 221 به دست دهد، آن را به شیوه زیر برمی‌چینیم: فرض کنید 15 و 15 را انتخاب کرده‌ایم:
15×15=225
225-221=4 اما اگر 2 را در 2 ضرب کنیم، حاصل 4 است که نیازی نیست آن را برچینیم. می‌توانیم آن را در 7 ضرب کنیم و باز هم نیازی به برچیدنش نیست. اما 2 به توان 8 با این شیوه برچینش، 35 را به دست می‌دهد. بسیار خوب؟
این یک بازی اعداد است، اما از دید فیزیکی، شبیه این است که بپرسیم موج‌ها چگونه در یک حفره نوری جای می‌گیرند. ایده اصلی این است که شمار صحیحی از نیم‌طول ‌موج‌ها باید در میان دو آینه رو‌به‌روی هم بگنجند تا آن طول موج نور یک حالت (mode) را ایجاد کند. اگر طول موج کمی بیشتر یا کمتر از این مقدار باشد، هنگامی که از یک آینه به دیگری می‌رود و سپس بازمی‌گردد، فاز آن کمی با فاز نخستینش متفاوت خواهد بود. در نتیجه آن موج به طور هم‌فاز با خودش جمع نخواهد شد و تا حدودی هم با خودش تداخل مخرب ایجاد می‌کند. در‌ نهایت، این گونه طول موج‌ها به تدریج محو می‌شوند و میان دو آینه نمی‌مانند، در حالی که آن‌ها که (با مضرب صحیحی از نیم‌طول‌ موج) میان دو آینه می‌گنجند، تقویت شده و افزایش می‌یابند.
به بیان دیگر، هر طول موجی که اندازه آن دقیقاً با سیستم منطبق نباشد، هر بار که درون حفره رفت‌وآمد می‌کند، کمی فاز اضافه برمی‌گیرد. الگوریتم شور‌کار تجزیه‌کردن عددهای بزرگ را برمی‌گیرد و آن را تبدیل به این مسئله می‌کند که حساب کنیم موجی که میان دو آینه در رفت‌و‌آمد است، چه قدر فاز اضافه برمی‌گیرد. اگر دو عددی که در هم ضرب می‌شوند زیادی بزرگ یا کوچک باشند، مقداری نادرست خواهند ساخت. در پیاده‌سازی فیزیکی چنین مسئله‌ای، این یک خطای فازی است و به تداخل ویران‌گر می‌انجامد.
در عمل (نه، راستش هنوز کسی چیزی فراتر از یک مدل اسباب‌بازی این را نساخته‌است)، از یک الگوریتم کلاسیک استفاده می‌کنیم تا فهرستی از عامل‌های اول بالقوه بسازیم. پس برای 221 زوج‌هایی مانند 11 به توان 2 را حذف می‌کنید و به فهرستی از عامل‌هایی که ممکن است 221 را بسازند، می‌رسید. بخش کوانتومی مسئله متکی بر این است که یک بیت کوانتومی (کیوبیت) می‌تواند یک برهم‌نهی (ترکیب) از مقدارهای مختلف باشد. به جای حالت‌های صفر و یک منطقی، کیوبیت مقداری میان 0 و 1 را برمی‌گیرد که نشان‌دهنده احتمال 1 بودن مقدار کیوبیت (1 منطقی) به دنبال اندازه‌گیری حالت آن است.
سپس کنش‌هایی کوانتومی احتمال یک بودن هر کیوبیت را تغییر می‌دهند. رشته‌ای از هشت کیوبیت می‌تواند هر مقداری را از 0 تا 255 به‌طور موازی نمایش دهد. اما اگر بخواهید مقدار ارزشی یک رجیستر کیوبیتی را اندازه بگیرید، تنها یک مقدار به دست خواهیدآورد که شانس به دست آوردن آن با دامنه احتمال کیوبیت‌های درون آن رجیستر برابر است.
همچنان که الگوریتم شور را اجرا می‌کنیم، کیوبیت‌ها رشته‌ای از عمل‌ها را از سر می‌گذرانند که به تداخل حالت‌های‌شان می‌انجامد. سرشت این تداخل (سازنده یا ویران‌گر بودنش) وابسته به این است که مقدار ثبت شده در رجیستر، فاکتوری از عدد مورد مطالعه (در این مورد، 221) باشد یا نه. تداخل ویران‌گر از احتمال این‌که در پی اندازه‌گیری حالت رجیستر، آن مقدار (221) به دست آید، می‌کاهد و تداخل سازنده بر این احتمال می‌افزاید. چون همه عامل‌های اول ممکن را هم‌زمان می‌آزماییم، این فرآیند می‌تواند بسیار تندتر از شیوه‌های کنونی یافتن عامل‌های اول باشد.
بیایید یک پیامد استفاده از فاز موج برای حساب‌کردن عامل‌های اول را در نظر بگیریم. عامل‌های اول 221، دو عدد 17 و 13 هستند. در الگوریتم کلاسیک می‌توانیم مسئله یافتن دومی را حذف کنیم. اما 2 و 111 چه‌طور؟ لابد می‌گویید: «صبر کن، این‌ها که عامل‌های اول 221 نیستند، حاصل ضربشان 222 است». اما درباره‌اش فکر کنید: الگوریتم‌های کوانتومی احتمالی هستند. در این مورد، 17 و 13 بالاترین احتمال را دارند. اما خطای فاز 2 و 111 به عنوان پاسخ این مسئله تنها 0.5 درصد است. احتمال آن‌که الگوریتم شور پاسخی نادرست به دست دهد، به نسبت بالا است، متأسفانه تا حدی که نزدیک به یافتن پاسخی خطا است (اگرچه یافتنش آسان است، چون به تندی می‌توان حساب کرد که 2 در 111 برابر با 222 است). این مسئله به‌احتمال در رمزگردانی یک پیام چندان به درد نمی‌خورد، پس باید برای افزودن بر شانس یافتن پاسخ درست کاری کنیم.
این کار را به دو راه می‌شود، انجام داد: می‌توان محاسبه یکسانی را بارها و بارها تکرار کرد و سپس با استفاده از آمار پاسخ‌ها، محتمل‌ترین پاسخ را یا%:/.'D8
Smile
clean word remove format superscript Subscript Cut Copy Paste Horizontal Rule Ordered List Unordered List Outdent Indent Insert Link Remove Link
Undo Redo Bold Italic Underline strikethrough Align Right Center چینش چپ Justify Full Justify Full Justify Full
Text Color
Background Color
Add Image
Insert Table
Insert Aparat


آخرین مطالب
» نقد و بررسی تلویزیون ال ای دی اسمارت 55 اینچ سامسونگ JU6990 ( پنجشنبه 3 دی 1394 )
» نقد و بررسی تلویزیون ال ای دی سامسونگ مدل Samsung LED 55JSC9990 ( شنبه 28 آذر 1394 )
» HTC One X Plus ( سه شنبه 8 مهر 1393 )
» نقد و برسی گوشی لومینا قسمت دوم ( دوشنبه 24 شهریور 1393 )
» نقد و بررسی تخصصی و مشخصات گوشی نوکیا لومیا Nokia Lumia 925 ( سه شنبه 23 مهر 1392 )
» نقد و بررسی تخصصی گوشی ال جی LG Optimus 4X HD ( سه شنبه 23 مهر 1392 )
» 5 بازی که می توانند بهترین های سال 2013 باشند! ( دوشنبه 22 مهر 1392 )
» لینوکس ( دوشنبه 22 مهر 1392 )
» 24 ترفند برای یادگیری زبان دوم ( دوشنبه 22 مهر 1392 )
» نقد و بررسی تخصصی و مشخصات گوشی HTC Butterfly ( دوشنبه 22 مهر 1392 )
» نقد و بررسی تخصصی و مشخصات اپل ایفون Apple Iphone 4s | قسمت دوم ( دوشنبه 22 مهر 1392 )
» نقد و بررسی تخصصی و مشخصات گوشی اپل ایفون Apple iphone 4s | قسمت اول ( دوشنبه 22 مهر 1392 )
» چگونه یک ریکاوری دیسک برای ویندوز ۸ بسازیم؟ ( دوشنبه 22 مهر 1392 )
» نقد و بررسی تخصصی و مشخصات لپ تاپ ایسر Acer Aspire 5750G ( یکشنبه 21 مهر 1392 )
» مایکروسافت چرا ویندوز RT را ارائه کرده ؟ ( یکشنبه 21 مهر 1392 )
نظرسنجی
شما از کدام طریق وارد این وب شده اید؟

آمار بازید
کل بازدید ها :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل مطالب :
آخرین بروز رسانی :
درباره ما

هدف من از نوشتن این مطالب این است که بتوانم,اندک اطلاعات خود را در اختیار شما دوستان خودم بگذارم.امیدوارم شما هم با نظراتتان انگیزه من را در نوشتن بیشتر کنید.
alit655@yahoo.com

ایجاد کننده وبلاگ : علی تعالی