Anophel | آنوفل
Open in Telegram
آنوفل | Anophel: دنیای بی پایان امکانات برای برنامه نویسان https://anophel.com پشتیبانی : @anophel_support
Show moreThe country is not specifiedThe category is not specified
271
Subscribers
No data24 hours
-17 days
-330 days
Number of Posts
Data loading in progress...
Reactions
Comments
Telegram Stars
TOP posts by
Data loading in progress...
Publication analysis
Posts | Views dynamics | |||||
🔶 خالق ++C، بیارنه استروستروپ، در گفتگوی اخیر خود ایده جایگزینی زبان های برنامه نویسی با زبان طبیعی را احمقانه دانست و نگاه متفاوتی به تبِ کد نویسی با هوش مصنوعی ارائه داد.
کد های تولید شده با هوش مصنوعی ناکارآمد، بیشازحد حجیم (Bloated) و پر از رخنههای امنیتی و باگ هستند. اعتبارسنجی و تأیید چنین کد هایی کابوس است؛ تا جایی که برنامه نویسان ارشد ترجیح میدهند بازنشسته شوند تا اینکه ناظر کدی باشند که با یک تغییر کوچک در پرامپت، زیرو رو میشود.
شاید ۷۰ یا ۸۰ درصد نرم افزار های دنیا کد های پیش پا افتاده و غیر حساس باشند، اما آن ۱۰ تا ۲۰ درصدِ بحرانی که عملکرد بالا (Performance) و پایداری ایمن (Safety-critical) میخواهند، جایی است که جهان روی آن میچرخد و هوش مصنوعی توان نوشتن آنها را ندارد.
زبان طبیعی ذاتاً مبهم است و برای شعر یا گفتگو طراحی شده، در حالی که مهندسی نرمافزار متکی بر تجرید دقیق (Abstraction) و منطق بدون ابهام است؛ به همین دلیل، انسان ها همچنان کد خواهند نوشت.
#خبر
@TheRaymondDev | 16 | 2 | 0 | 1 | Loading... | |
🔐 RSA-260 شکسته شده؟ این توییت دقیقاً چی میگه؟
امروز یه توییت دیدم که فقط نوشته بود:
4397328654844826923795068102505872571721883526553349659561256924505973939597593482272505698004801207988043088656411102133523080581 divides RSA-260
https://x.com/penlume/status/2095372672356212876?s=46
شاید در نگاه اول هیچ مفهومی نداشته باشه، ولی پشت همین یک جمله یک مفهوم خیلی جالب در رمزنگاری وجود داره.
بیایید از صفر ببینیم قضیه چیه.
RSA به چی تکیه میکنه؟
یکی از ایدههای اصلی RSA اینه:
ضرب کردن دو عدد اول بزرگ آسونه، ولی پیدا کردن اون دو عدد از حاصل
ضربشون خیلی سخته.
مثلاً:
61 × 53 = 3233
اگر بهت 61 و 53 رو بدم، ضربشون راحت انجام میشه.
اما اگر فقط 3233 رو داشته باشی و بگم:
3233 = ? × ?
باید فاکتورهای اولش رو پیدا کنی:
3233 = 61 × 53
RSA همین ایده رو در ابعاد بسیار بزرگ استفاده میکنه.
RSA-260 چیه؟
RSA-260 یک عدد بسیار بزرگ، حدوداً 260 رقم دهدهی، از مجموعهی چالشهای فاکتورگیری RSA است.
این عدد از ضرب دو فاکتور بزرگ ساخته شده:
N = P × Q
مشکل اینجاست که پیدا کردن P و Q از روی N بسیار سخت است.
حالا برسیم به اون توییت
عدد داخل توییت تقریباً 130 رقم داره.
نویسنده گفته:
D divides RSA-260
کلمهی مهم اینجا divides هست.
یعنی:
RSA-260 % D = 0
یا سادهتر:
RSA-260 بدون هیچ باقیماندهای بر این عدد تقسیم میشود.
اگر این عدد واقعاً یکی از دو فاکتور اصلی RSA-260 باشد، قضیه خیلی جدی میشود:
RSA-260
│
├── D
│
└── Q
یعنی:
RSA-260 = D × Q
و با داشتن D، فاکتور دیگر هم خیلی راحت به دست میآید:
Q = RSA-260 / D
چرا این مهمه؟
چون در RSA، اگر P و Q را داشته باشیم، میتوانیم اطلاعات لازم برای ساختن private key را محاسبه کنیم.
به شکل ساده:
N = P × Q
↓
Factorization
↓
P, Q
↓
Private Key
بنابراین اگر یک RSA modulus واقعاً factor شود، امنیت کلیدی که به آن modulus وابسته است عملاً از بین میرود.
اما یک نکته مهم!
اینکه کسی در توییتر نوشته:
D divides RSA-260
به تنهایی اثبات نمیکند که RSA-260 شکسته شده.
باید خود N را داشته باشیم و واقعاً بررسی کنیم:
N % D == 0
و بعد فاکتور دوم را حساب کنیم و ببینیم آیا فاکتورها معتبر هستند یا نه.
و «RSA شکسته شد» یعنی RSA کلاً مرده؟
نه!
اگر RSA-260 واقعاً factor شده باشد، به این معنی نیست که تمام RSAهای دنیا شکسته شدهاند.
مثلاً:
RSA-260
↓
~260 decimal digits
در حالی که RSA-2048:
2048 bits
~617 decimal digits
دارد.
بنابراین factor شدن یک modulus کوچکتر لزوماً به معنی توانایی factor کردن RSA-2048 نیست.
خلاصه
یک جملهی خیلی کوتاه در توییتر:
D divides RSA-260
ممکنه در واقع یعنی:
RSA-260 = D × Q
و اگر D واقعاً یکی از دو فاکتور اول باشد، یعنی factorization یک RSA بزرگ انجام شده.
همین مسئلهی به ظاهر ساده، یکی از پایههای امنیت RSA رو نشون میده:
محاسبهی P × Q آسانه؛ پیدا کردن P و Q از روی حاصلضرب، بخش سخت ماجراست.
و دقیقاً به همین دلیل چنین توییتی برای آدمهای حوزهی cryptography میتونه خیلی هیجانانگیز باشه. | 37 | 1 | 0 | 5 | Loading... |

