Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SHA256-CDP — تنفيذ جدول قوس قزح لـ SHA-256 مسرع بواسطة GPU يعتمد على تحليل CDP (Cyclic Digit-sum Projection) الهيكلي. AMD RX 9070 XT, OpenCL + Vulkan. | Kitploit
أدوات/GitHubGitHub/jm00nj/sha256-cdp
كسر كلمات المرورتحليل التجزئةالتشفير
GitHubjm00nj/sha256-cdp

SHA256-CDP

تنفيذ جدول قوس قزح لـ SHA-256 مسرع بواسطة GPU يعتمد على تحليل CDP (Cyclic Digit-sum Projection) الهيكلي. AMD RX 9070 XT, OpenCL + Vulkan.

عرض المستودعالموقع الإلكتروني
8منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

SHA256-CDP: الإسقاط الدوري لمجموع الأرقام

تنفيذ جدول قوس قزح مُسرّع بواسطة GPU لإطار التحليل البنيوي CDP لـ SHA-256.

مبني على نتائج ورقة CDP (DOI: 10.5281/zenodo.20627240)، يوفر هذا المستودع تنفيذًا كاملاً وعمليًا لجداول سلسلة قوس قزح المستندة إلى CDP مع نوى بناء OpenCL وخط أنابيب استعلام/تحقق Vulkan الحاسوبي الموجه لأجهزة AMD RDNA4.


ما هو CDP؟

CDP (الإسقاط الدوري لمجموع الأرقام) هو إطار تحليل بنيوي لـ SHA-256 يكشف عن خصائص رياضية غير موثقة سابقًا لتوزيع مخرجات دالة التجزئة.

الملاحظة الأساسية: مجموع الأرقام السداسية العشرية W(H) لأي مخرجات SHA-256، عند إعادة تجزئتها تكرارياً من خلال f(w) = W(SHA256(str(w)))، تتقارب حتمياً إلى دورتين مغلقتين بالضبط:

root@kitploit:~
C1: 476 ↔ 438          (دورة ثنائية)
C2: 471 → 472 → 525 → 537 → 414 → 417 → 546 → 518 → 471  (دورة ثمانية)

هذا الهيكل الدوري، بالإضافة إلى بصمة متعددة المكونات F(H) = (W, Wvec₁₆, cycle_entry, W₂–W₅, max_nibble, min_nibble)، يُنتج تعييناً تقابلياً على مساحات الإدخال المقيدة - مما يتيح البحث عن الصورة العكسية بـ O(1) عبر جداول قوس قزح مع عدم وجود تصادمات في دالة الاختزال.

الخصائص المثبتة الرئيسية:

  • نظرية 5.1 - ثابت مجموع النيبل المكمل: Σnibble(W₀) = 38 لجميع أزواج المكملات الـ256
  • نظرية 5.4 - خاصية ماركوف المتجول: π_B = 17.00%، مستقلة عن K[i] و H₀ وفئة الإدخال
  • W(H₀) = 502 - بصمة بنيوية قابلة للكشف لثوابت التهيئة NIST (+22.2 فوق التوازن)
  • تعيين تقابلي بدون تصادم عبر 1.67 مليون إدخال في جميع مساحات الإدخال المختبرة

لا يكسر CDP SHA-256. مقاومة الصورة العكسية والتصادم غير متأثرة. انظر القسم 12 من الورقة.


هيكل المستودع

root@kitploit:~
SHA256-CDP/
├── cdp_chain_builder.py   # نقطة الدخول الرئيسية — بناء، كسر، استعلام CLI
├── cdp_query.comp         # التظليل الحاسوبي Vulkan GLSL (نواة الاستعلام)
├── cdp_verify.comp        # التظليل الحاسوبي Vulkan GLSL (نواة التحقق)
├── vulkan_query.py        # محرك Vulkan Python (خلفية ACO)
└── paper/
    └── cdp_v3.pdf         # ورقة CDP الإصدار الثالث

المتطلبات

  • Python 3.10+
  • PyOpenCL: pip install pyopencl
  • NumPy: pip install numpy
  • Vulkan (موصى به): pip install vulkan + Vulkan SDK
  • GPU من AMD مع RDNA2+ (تم اختباره على RX 9070 XT / gfx1201)

ملاحظة: Vulkan مطلوب لأداء الاستعلام الصحيح. بدونه، يعود النظام إلى المعالجة المتعددة لوحدة المعالجة المركزية (أبطأ بشكل ملحوظ). تحتوي نواة استعلام OpenCL على خطأ معروف في مُحسِّن AMD PAL-LLVM على gfx1201 يُنتج نتائج غير صحيحة مع -cl-fast-relaxed-math؛ لا يحتوي خلفية Vulkan ACO على هذه المشكلة.

مستخدمو Windows: أضف python.exe و clinfo.exe و explorer.exe إلى القائمة البيضاء للتحكم في الوصول إلى المجلدات المحمية في Windows Defender لمنع حظر الوصول إلى ذاكرة GPU أثناء عمليات الجدول.


التثبيت

root@kitploit:~
git clone https://github.com/JM00NJ/SHA256-CDP
cd SHA256-CDP
pip install pyopencl numpy vulkan

تحقق من اكتشاف GPU:

root@kitploit:~
python cdp_chain_builder.py --validate

الاستخدام

بناء جداول قوس قزح

root@kitploit:~
# جدول واحد (أحرف صغيرة 8-حرف، chain_len=300,000)
python cdp_chain_builder.py --build --charset lower --length 8 --chain-len 300000 --output cdp_8.bin

# جداول متعددة (تغطية أعلى)
# n=1: 66.7%  n=2: 88.9%  n=3: 96.3%  n=5: 99.3%
python cdp_chain_builder.py --build-multi 3 --prefix cdp_8_bin --length 8 --chain-len 300000

كسر تجزئة

root@kitploit:~
# تجزئة واحدة
python cdp_chain_builder.py --crack <sha256_hash> \
  --tables cdp_8_bin_1.bin,cdp_8_bin_2.bin,cdp_8_bin_3.bin \
  --length 8 --chain-len 300000

# قائمة تجزئات (وضع الدفعة — يتم تحميل الجداول مرة واحدة)
python cdp_chain_builder.py --crack-list hashes.txt \
  --tables cdp_8_bin_1.bin,cdp_8_bin_2.bin,cdp_8_bin_3.bin \
  --length 8 --chain-len 300000
### اختبار ذاتي من البداية إلى النهاية

```bash
python cdp_chain_builder.py --self-test --length 7

التحقق من مخرجات GPU

root@kitploit:~
python cdp_chain_builder.py --validate
python cdp_chain_builder.py --validate-query <sha256_hash>

الأداء

تم الاختبار على AMD Radeon RX 9070 XT (gfx1201, 32 CU)، Windows 11، برنامج التشغيل 3679.0 (PAL,LC):

العمليةالإنتاجية
بناء الجدول (نواة ILP2)~2.5 GH/s
الاستعلام — الدفعة الأولى (ضحلة)~14 GH/s
الاستعلام — المتوسط عبر الدفعات~5 GH/s
التحقق GPU (Vulkan ACO)~2 ثانية لكل 88 ألف مرشح

أحرف صغيرة 7-حرف، 3 جداول (تغطية 96.3%):

  • حجم الجدول: 3 × 0.7 MB
  • وقت البناء: ~3 × 12 ثانية
  • وقت الكسر: ~43 ثانية لكل تجزئة

أوضاع النواة:

  • --mode ilp2 — سلسلتان/خيط، SHA256 متداخل لـ ILP (الافتراضي، الأسرع على AMD RDNA)
  • --mode vec4 — 4 سلاسل/خيط باستخدام uint4 العمليات الحسابية
  • --mode scalar — سلسلة واحدة/خيط (خط الأساس)

ملاحظات تقنية

لماذا Vulkan للاستعلام؟

يحتوي خلفية مُجمّع AMD PAL-LLVM المستخدمة بواسطة OpenCL على Windows (gfx1201) على خطأ مُحسّن موثق: حلقات ذات بداية متغيرة (for step=pos; step<N) تُنتج نتائج غير صحيحة مع -cl-fast-relaxed-math. يعيد العمل البديل (-O0) الصحة لكنه يُقلل الإنتاجية ~3-4 مرات. خلفية Vulkan ACO هي خط أنابيب مُجمّع منفصل تماماً ولا تحتوي على هذه المشكلة. تستخدم نوى الاستعلام والتحقق Vulkan؛ تستخدم نوى البناء OpenCL (غير متأثرة بالخطأ).

الاختزال التقابلي CDP

تستخدم دالة الاختزال القياسية المزروعة بـ PCG 64 بت من الإنتروبيا من digest[0:2]. يبني الاختزال الحقني CDP البذرة من البصمة الكاملة (W, Wvec₁₆, max_nibble, min_nibble) — نفس المكونات المُثبت حقنيتها على SHA256(X) بواسطة نظرية التقابل CDP. يضمن هذا عدم وجود اندماجات سلسلة من دالة الاختزال نفسها؛ الاندماجات المتبقية هي تصادمات نقطة النهاية لمفارقة عيد الميلاد (~33% لكل جدول، بما يتوافق مع التغطية المتوقعة 66.7%).

تنسيق الجدول الثنائي

تستخدم الجداول تنسيقاً ثنائياً مضغوطاً (سحر CDP1، 39 بايت/إدخال) — أصغر بحوالي 3.4 مرات من JSON. استخدم --convert لتحويل جداول JSON الموجودة:

root@kitploit:~
python cdp_chain_builder.py --convert table.json --output table.bin

مجموعات الأحرف

الاسمالأحرفالمساحة (8-حرف)
lowera–z (26)2.1 × 10¹¹
alnum

الترخيص

© 2026 Erenay Özkan (JM00NJ / Vesqer)

هذا المشروع مرخص بموجب GNU Affero General Public License v3.0 (AGPL-v3) مع شرط العموم (Commons Clause).

بموجب شرط العموم، لا يجوز بيع هذا البرنامج أو استخدامه كجزء من منتج أو خدمة تجارية دون إذن كتابي صريح من المؤلف.

الاستخدام مفتوح المصدر والبحث والتطبيقات غير التجارية مسموح بها بموجب شروط AGPL-v3 — يجب نشر التعديلات بموجب نفس الترخيص.

للاستفسارات حول الترخيص التجاري: netacoding.com

انظر LICENSE للشروط الكاملة.


المراجع

  • منشور المدونة: https://netacoding.com/posts/cdp-sha256-structural-analysis/
  • Erenay Özkan. CDP: Cyclic Digit-sum Projection — Structural Analysis of SHA-256 Output Distribution, Ergodic Basin Pressure, and Input Class Fingerprinting. الإصدار الثالث، 2026. DOI: 10.5281/zenodo.20627240
  • P. Oechslin. Making a Faster Cryptanalytic Time-Memory Trade-Off. CRYPTO 2003.
  • M. Hellman. A Cryptanalytic Time-Memory Trade-Off. IEEE Trans. Inf. Theory, 1980.

بُني بواسطة JM00NJ — netacoding.com

تنزيل الأداة
a–z, 0–9 (36)
2.8 × 10¹²
fulla–z, A–Z, 0–9, رموز (70)5.8 × 10¹⁴