TGViewer
Kernel Space Kernel Space @kernelsp · 145 subscribers
Post #675 139
شاید بپرسید چرا که ما توانستیم با بدبختی یک ماشین تولید عدد رندوم بسازیم (البته با فرض اینکه کاملاً رندوم باشد، که در واقع در کامپیوتر و ریاضیات ما چیزی به نام «رندوم کاملاً» نداریم؛ بلکه در بهترین حالت، داریم چیزی به نام «شبه رندوم»، یعنی غیرقابل پیش‌بینی).

خب، چرا این عدد را به‌عنوان کلید استفاده نمی‌کنیم؟
ببینید، یک کلید باید حداقل طول مشخصی داشته باشد تا امنیت مناسبی فراهم کند. برای الگوریتم‌های رمزنگاری مدرن مانند AES، طول کلید باید حداقل 128 بیت باشد (که معادل 16 بایت است)، اما برای امنیت بیشتر، معمولاً از 256 بیت استفاده می‌شود. دلیل علمی این قضیه به توان محاسباتی دستگاه‌ها و احتمال شکستن کلید برمی‌گردد.

قدرت محاسبات یک CPU عادی:

یک CPU معمولی مانند Intel Core i7 می‌تواند در حدود 10 میلیارد عملیات در ثانیه انجام دهد. با توجه به این قدرت محاسباتی، اگر یک کلید 128 بیتی داشته باشیم، تعداد کل حالت‌های ممکن برابر با خواهد بود که معادل حدود 3.4 × 10^{38} حالت مختلف است.

اگر بخواهیم برای شکستن کلید 128 بیتی تمام این حالت‌ها را امتحان کنیم (با فرض اینکه هر عملیات یک ثانیه طول بکشد)، شکستن آن نزدیک به 10^{32} سال طول می‌کشد.

اما برای یک کلید 256 بیتی، تعداد حالت‌ها برابر با است که معادل 1.15 × 10^{77} حالت است، که این تعداد آن‌قدر زیاد است که حتی با قدرت محاسباتی حال حاضر هم عملاً غیرقابل شکستن است.


این مقایسه نشان می‌دهد که طول کلید تأثیر زیادی در امنیت دارد و تولید کلیدهای طولانی و ایمن از چالش‌های اصلی در رمزنگاری است.

هزینه و سختی تولید عدد رندوم طولانی:

تولید یک عدد رندوم طولانی (مثلاً 256 بیت) در دنیای کامپیوتر بسیار سخت و هزینه‌بر است. برای تولید یک کلید رندوم که واقعاً از نظر محاسباتی سخت باشد، ماشین‌های تولید عدد رندوم نیاز به منابع سخت‌افزاری خاص دارند. به همین دلیل، استفاده از سیستم‌های تولید کلید معمولاً با استفاده از یک seed رندوم کوتاه شروع می‌شود، مثلاً یک عدد 64 بیتی یا 128 بیتی (که مثلاً از زمان، ورودی‌های تصادفی یا داده‌های سخت‌افزاری گرفته می‌شود) و سپس با استفاده از الگوریتم‌های ریاضیاتی پیچیده، این seed به یک کلید طولانی‌تر تبدیل می‌شود.

به‌طور مثال، مقدار seed می‌تواند به صورت تصادفی از 128 بیت شروع شود و سپس با استفاده از الگوریتم‌هایی مانند SHA-256 یا HMAC، کلیدهایی با طول 256 بیت (و حتی بیشتر) تولید می‌شود. این کلید سپس با پیام XOR می‌شود تا پیام رمزنگاری شده تولید گردد.

در واقع، این الگوریتم‌ها اجازه می‌دهند که از یک seed کوچک، یک کلید بلند و امن برای رمزنگاری تولید کنیم، بدون اینکه نیاز به ذخیره یا پردازش حجم زیادی از داده‌های رندوم داشته باشیم."

در نتیجه:

تولید کلیدهای رندوم طولانی با هزینه بالا و پیچیدگی‌های زیادی همراه است، به همین دلیل از الگوریتم‌های مبتنی بر seed و فرمول‌های پیچیده استفاده می‌شود تا ضمن داشتن امنیت بالا، هزینه‌ها و پیچیدگی‌ها کاهش یابد.
  • ❤ 2
More from @kernelsp
  1. Oct 15, 2026آیا الان با این برنامه کپی شده توسط هوش مصنوعی شرکت ادوبی بدبخت و ورشکست میشه و جمع می‌کنه…
  2. Oct 15, 2026لبنان مجوز فعالیت بانک صادرات رو لغو کرد 😁
  3. Oct 15, 2026آدرس سایت و لینک دانلود برنامه های این بابا getartcraft.com
  4. Oct 15, 2026کنسول PS5 رو یه جور jail break کردن که با وکیل رفته شکایت از استور های مربوط 😂 فردا خبرشو…
  5. Oct 15, 2026چک کردم برای همه توزیع های لینوکس خروجی زده و میتونید نصب و استفاده کنید ، حتی مک و freebs…
  6. Oct 15, 2026یه قضیه جالب و خنده داری پیش اومده که باعث شده سهام adobe یکم سقوط کنه گفتم بیام بهتون بگم…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →