تولید کلید: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
Nadergharibianfard (بحث | مشارکت‌ها)
جزبدون خلاصۀ ویرایش
خط ۵:
 
از آنجایی که [[الگوریتم]]<nowiki/>‌های کلید عمومی کندتر از الگوریتم‌های متقارن هستند، سیستم‌های مدرن مانند [[امنیت لایه انتقال|TLS]] و [[پوسته امن|SSH]] از ترکیب این دو بهره می‌برند. یک طرف کلید عمومی طرف مقابل را دریافت کرده و داده‌های کوچکی را رمزنگاری می‌کند (که می‌تواند کلید متقارن یا بخشی از داده‌ها جهت تولید باشد). باقی‌مانده مبادله از یک الگوریتم (معمولاً سریع‌تر) کلید متقارن برای رمزنگاری استفاده می‌کند.
رمزنگاری رایانه‌ای از اعداد برای کلیدها استفاده می‌کند. در برخی از موارد کلیدها به صورت تصادفی توسط یکی از روش‌های [[تولید اعداد تصادفی]] (RNG) یا [[ساخت اعداد شبه تصادفی]] (PRNG)، تولید می‌شود. ساخت اعداد شبه تصادفی یک الگوریتم [[رایانه|کامپیوتری]] است که داده‌هایی را تولید می‌کند که در تحلیل‌ها، تصادفی به نظر می‌آیند. PRNGهایی که از آنتروپی سیستم برای تغذیه داده‌ها استفاده می‌کنند به صورت کلی نتایج بهتری را ایجاد می‌کنند، چرا که حدس شرایط اولیه برای مهاجمین در PRNGها بسیار دشوارتر است. در شرایط دیگر، کلید براساس یک کلمه‌عبور ایجاد می‌شود و یک الگوریتم تولید کلید معمولاً شامل تابعی درهم‌ساز رمزنگاری مانند SHA-۱ می‌شود.
 
ساده‌ترین روش برای خواندن یک داده رمزنگاری شده، بروت‌فورس است – در این روش کافی است تمامی اعداد تا بیشترین طول کلید بررسی شود. بنابراین استفاده از طول مناسب کلید بسیار اهمیت دارد. طول کلید بیشتر، زمان بیشتری را برای شکستن می‌طلبد و بورت‌فورس را تقریباً غیرممکن می‌کند.