secp256k1 — جستجوی آموزشی d در بازهٔ کوچک (BSGS Window)
مدیریت ورکرها (Mother/Worker):
آدرس درخواست کار: https://landing.exzix.com/tabdil/logaritm2.php?action=request_job
آدرس ارسال نتیجه: https://landing.exzix.com/tabdil/logaritm2.php?action=submit_result
پارامترهای الزامی هر درخواست: secret (همان API Secret) و worker (نام دلخواه).
برای ساخت ورکر جدید، فایل tabdil/logaritm_worker.php را روی هاست مقصد کپی کن، آدرس مادر ($masterUrl) و $apiSecret را تنظیم کن و اسکریپت را اجرا یا Cron کن.
هر بار که ورکر کار جدیدی میگیرد، مقدار offset بهطور خودکار جلو میرود و تعداد ورکرها محدودیتی ندارد.
اگر فیلد offset پایان را پر کنی، API بعد از رسیدن به آن مقدار پیام «No job» به ورکر میدهد و جستجو متوقف میشود.
گزارش همهٔ بازههای تخصیص دادهشده و کاملشده در جدول دیتابیس logaritm_range_events ذخیره میشود.
میتوانی هنگام درخواست کار، پارامتر mode=random یا mode=sequential بفرستی؛ اگر مقدار خالی باشد، حالت تعیینشده در فرم مادر استفاده میشود.
برای هماهنگی قدرت سرورها، پارامتر اختیاری bits را هم میتوانی به درخواست job اضافه کنی تا هر ورکر اندازهٔ بازهٔ خودش را تعیین کند (فقط در حالت sequential و تا سقف مقداری که در فرم مادر ذخیره شده).
این اجرا با استفاده از آخرین دادهٔ ذخیرهشده انجام شد.
آخرین دادهٔ ذخیرهشده:
Px: 105375472556297536735285251580242662847958688160562361671156223086759899067855
Py: 84058201501225364660944553681450495737476878048515239639790126331814760641211
bits: 40
روش تخصیص بازه: sequential
offset فعلی: 7881299347898369
حد توقف offset: 9994873083863346
offset پایه برای محاسبهٔ قطعات: 1
تعداد کارگرها: 1 (شناسهٔ فعلی: 1)
آفست آماده برای نوبت بعد: random
آخرین بازه: از 932110982447105 تا 932145342185472
آخرین اجرا: 2025-12-13T05:57:19+00:00
API Secret فعلی: 2
مسیر فایل ذخیرهسازی: db:tabdil.logaritm_state
خلاصهٔ پردازشها:
موارد یافتشده: 42
قطعات تکمیلشده (تجمیعی): 95088
آمار ورکرها:
| نام ورکر | تخصیص | اتمام | یافته | آخرین فعالیت |
| ir1 |
77 |
66 |
1 |
2025-11-21T17:57:29+00:00 |
| pardazesh |
597 |
523 |
30 |
2025-12-07T17:46:55+00:00 |
| worker-1 |
203129 |
202760 |
8 |
2025-12-13T05:57:20+00:00 |
| win |
78 |
67 |
1 |
2025-12-06T07:53:22+00:00 |
| worker-sqlite |
20 |
17 |
2 |
2025-12-06T20:03:55+00:00 |
آخرین گزارش از ورکر:
شغل: job_1398de772692 (ورکر: worker-1)
بازه: 932110982447105 → 932145342185472 (bits: 35)
وضعیت: چیزی پیدا نشد
مدت تخمینی: 1.2291679382324 ثانیه
زمان ثبت: 2025-12-13T05:57:20+00:00
راهنمای تست امن:
- یک عدد کوچک (مثلاً
d=123456) بردار و با تابعی بیرونی P = d·G بساز (یا از همین کد، بخش mulP را موقتاً برای ساخت P استفاده کن).
- مختصات
P را اینجا وارد کن، offset=0 و bits را طوری بگذار که بازه شامل d باشد (برای d=123456، مثلاً bits=17).
- کد باید همان d را در بازهٔ محدود برگرداند.
پیچیدگی زمانی/حافظه ≈ \(O(2^{bits/2})\). برای bits=24 حدود 4096 baby-step ذخیره میشود.
تذکر مهم امنیتی:
- ECDLP روی secp256k1 با بازهٔ کامل مرتبهٔ گروه غیرعملی است؛ این ابزار صرفاً برای آموزش در بازههای کوچک است.
- استفادهٔ غیرمجاز/غیراخلاقی ممنوع است. این کد هیچگاه توانایی شکستن کلیدهای واقعی را ندارد.