شفرة مضاعفة
بالمفتاح 5 تصبح كلمة HELLO هي JUDDS: يُضرب كل حرف في مفتاحك قياس 26، ويُستخدم معكوسه 21 لفك التشفير. تُرفض المفاتيح التي تشترك مع 26 في عامل، فتبقى الرسالة قابلة للاسترجاع دائمًا. مجانًا في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- HELLO
- مفتاح مضاعف صحيح
- 5
- وضع الحساب
- Encrypt
- النتيجة
- JUDDS
- الإدخال
- HELLO
- المفتاح mod
- 5
- معكوس المفتاح
- 21
الشفرة المضاعفة نظام أحادي الأبجدية كلاسيكي يضرب فهرس كل حرف بمفتاح صحيح سري قياس ستة وعشرين: حرف A في النص الواضح يقابل صفرًا، وB واحدًا، وهكذا حتى Z يقابل خمسة وعشرين؛ ثم C يساوي k مضروبًا في P قياس ستة وعشرين عند التشفير، والمعكوس النمطي لـ k يعيد الأصل عند الفك.
كيف يعمل المفتاح الأولي نسبيًا والضرب النمطي
أسهل فهم للشفرة المضاعفة أنها شفرة قيصر حيث يُستبدل الجمع بالضرب في حلقة الأعداد الصحيحة قياس ستة وعشرين. اكتب كل حرف لاتيني كعدد صحيح من صفر لـ A حتى خمسة وعشرين لـ Z. التشفير يضرب ذلك الفهرس بمفتاحك السري k ويختزله قياس ستة وعشرين؛ والفك يضرب بالمعكوس النمطي لـ k، وهو الباقي الوحيد k معكوس بحيث يكون k مضروبًا في k معكوس متوافقًا مع واحد قياس ستة وعشرين.
يوجد ذلك المعكوس إذا وفقط إذا كان القاسم المشترك الأكبر للقيمة المطلقة لـ k وستة وعشرين يساوي واحدًا —أي أن k فردي وليس مضاعفًا لثلاثة عشر. البواقي الموجبة الصالحة هي واحد وثلاثة وخمسة وسبعة وتسعة وأحد عشر وخمسة عشر وسبعة عشر وتسعة عشر وواحد وعشرون وثلاثة وعشرون وخمسة وعشرون؛ أي مفتاح زوجي أو مضاعف لثلاثة عشر يشترك في عامل مع ستة وعشرين ويُرفض. تُحفظ حالة الحرف: H الكبيرة مضروبة في خمسة تصبح J، وh الصغيرة تصبح j، فيبقى أمثلة الجمل مقروءة في العروض.
الأحرف غير الحروف —المسافات والفواصل والأرقام داخل جسم الرسالة والرموز التعبيرية— تمر دون تغيير.
نصائح عملية وحدود وعمليات بحث ذات صلة
اختر مفتاحًا من الاثني عشر باقيًا صالحًا لتكون الخريطة تقابلية؛ المفتاح واحد خريطة هوية صالحة مفيدة لاختبارات الوحدة، بينما خمسة وسبعة وسبعة عشر تنتج أمثلة تعليمية أكثر خلطًا. فحوصات الذهاب والإياب أفضل اختبار سلامة: شفّر عبارة، فك الناتج بنفس المفتاح، وتأكد أن تدفق الأحرف يطابق الإدخال الأصلي الحساس لحالة الحرف. تستهدف هذه الصفحة من يبحث عن شفرة مضاعفة أو مشفّر معكوس نمطي أو شفرة أحرف بمفتاح أولي نسبيًا عبر الإنترنت؛ وهي ليست AES ولا RSA ولا الشفرة الأفينية الكاملة بإزاحة جمعية ولا ROT13.
فضّل هذه القدرة عندما تحتاج تشفيرًا أحادي الأبجدية كلاسيكيًا شفافًا بمفتاح مضاعف خالص للتعليم أو الألغاز؛ وإن احتجت سرية حقيقية فاستخدم شفرة مصادقة حديثة بدلًا منها.
حالات الاستخدام
التحقق من CTF والألغاز
يتحقق مؤلفو التحديات من التشفير والفك المضاعفين لمفتاح أولي نسبيًا منشور دون صيانة سكربت منفصل دون اتصال.
عروض التشفير التاريخي
تُظهر المتاحف وعروض المدونات لماذا تعطي المفاتيح الأولية نسبيًا مع ستة وعشرين فقط خرائط قابلة للعكس بتشفير عبارات الزوار مباشرة في المتصفح.
الأسئلة الشائعة
لماذا يجب أن يكون المفتاح أوليًا نسبيًا مع 26؟
فقط عندما gcd(|key|, 26) = 1 يكون الضرب بـ k تقابليًا mod 26، فيُعاد كل حرف مشفّر إلى حرف واضح واحد بالضبط. العوامل المشتركة تُسقط الأبجدية.
ما المفاتيح الصالحة؟
أي عدد صحيح قيمته المطلقة أولية نسبيًا مع 26. البواقي الموجبة mod 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25. تُرفض المفاتيح الزوجية ومضاعفات 13.
هل تُشفَّر المسافات وعلامات الترقيم؟
لا. فقط A–Z وa–z تُضرب mod 26. بقية الأحرف تمر دون تغيير.
ما هي الشفرة المضاعفة؟
هي شفرة كلاسيكية تحوّل كل حرف إلى رقم من 0 إلى 25، ثم تضربه في مفتاح سري وتأخذ باقي القسمة على 26. تشبه شفرة قيصر، لكن الضرب يحل فيها محل الجمع.
كيف أفك تشفير نص بالمفتاح 5؟
أدخل النص المشفّر والمفتاح 5 واختر فك التشفير. تضرب الأداة كل حرف في المعكوس 21 قياس 26، فتعود JUDDS إلى HELLO، وتبقى المسافات وعلامات الترقيم كما هي.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/multiplicative \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HELLO","key":5}'const res = await fetch("https://api.kit.forhosting.com/enc/multiplicative", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HELLO",
"key": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/multiplicative",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HELLO",
"key": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/multiplicative", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HELLO","key":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HELLO","key":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/multiplicative", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "HELLO",
"key": 5
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.multiplicative",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أدخل النص الذي تريد حمايته أو استعادته، ومفتاحًا صحيحًا مثل خمسة أو سبعة عشر، ووضعًا encrypt أو decrypt؛ تضاعف الأداة الأحرف مع الحفاظ على حالة الحرف، وتترك المسافات وعلامات الترقيم دون مساس، وترفض أي مفتاح يشترك في عامل مع ستة وعشرين —الأعداد الزوجية ومضاعفات ثلاثة عشر— بخطأ invalid_input واضح حتى لا ينهار الأبجدية بصمت عبر خريطة غير تقابلية. ولأن التعيين حساب نمطي حتمي خالص —بلا شبكة، بلا بذور عشوائية، بلا اعتماد على الساعة— يعيد مشغّل المتصفح المجاني وواجهة API المدفوعة مسبقًا نفس JSON، بما في ذلك المفتاح المختزل قياس ستة وعشرين ومعكوسه، في كل مرة تستدعيه لأوراق الصف أو تمرين CTF أو عروض الشفرات التاريخية.
كيف يعمل المفتاح الأولي نسبيًا والضرب النمطي
النص الفارغ والمفاتيح المفقودة تُرفض كذلك حتى لا تعيد API تحويلًا هوية يبدو ناجحًا دون أن يعلّم شيئًا عن الحساب النمطي.
كيف تستدعي API وما الذي يعود
يجب أن يكون text سلسلة غير فارغة بحد أقصى مئة ألف حرف. أرسل جسم JSON بحقلين إلزاميين: text كسلسلة غير فارغة وkey كعدد صحيح، مع mode اختياري يفترض encrypt عند حذفه. تشمل الأسماء البديلة المقبولة لـ text كلاً من input وvalue وdata وmessage وplaintext وciphertext؛ ويقبل key أيضًا k وmultiplier وa وsecret وfactor؛ ويقبل mode كلاً من operation وop وdirection وaction، ويتعرف على مرادفات شائعة مثل encode أو decode. يجوز إرسال المفتاح كرقم JSON أو كسلسلة أعداد صحيحة خالصة؛ والأعداد الكسرية والسلاسل غير الرقمية تنتج invalid_input ولا تُحسب أبدًا. عند النجاح تعيد الاستجابة نص الإدخال الأصلي text، وتبلّغ key كالصحيح الذي أرسلته، وkey_mod كالمفتاح مختزلًا من صفر إلى خمسة وعشرين، وkey_inverse كالمعكوس النمطي المستخدم للفك، وmode كـ encrypt أو decrypt، وresult وtext كالسلسلة المحوّلة، وletters_processed وnon_letters كعدّادات، وlength كعدد أحرف المخرج، وformula كمنبّه نمطي قصير، وmessage كملخص إنجليزي بسطر واحد. التسعير ثابت $0.002 لكل طلب ناجح بوحدة item وسعر هامشي صفري للوحدة.
نصائح عملية وحدود وعمليات بحث ذات صلة
أبقِ الحمولات دون الحد الأقصى المنشور وهو مئة ألف حرف ليبقى ذاكرة Worker محدودة. عند التدريس اقرن الأمثلة: HELLO بمفتاح خمسة يشفّر إلى JUDDS؛ ونفس النص المشفّر مع mode decrypt ومفتاح خمسة يستعيد HELLO؛ والمفتاح اثنان أو ثلاثة عشر يبيّن مسار invalid_input الصارم عندما يشترك المفتاح في عامل مع ستة وعشرين. المهام الفاشلة التي تعيد invalid_input لا تستهلك الرصيد المدفوع مسبقًا، فيبقى استكشاف السكربتات رخيصًا عندما يجرّب العملاء مفاتيح زوجية أو مضاعفات ثلاثة عشر.
حالات التكامل
مختبرات الحساب النمطي في الصف
يضرب الطلاب فهارس الأحرف يدويًا ويحسبون المعكوسات النمطية ويقارنون حرفًا بحرف مع مخرج API الحتمي وحقل key_inverse.
أسئلة تقنية
ما هي الشفرة المضاعفة؟
شفرة أحادية الأبجدية كلاسيكية: كل فهرس حرف P (A=0 … Z=25) يصبح C = (k · P) mod 26 عند التشفير. الفك يضرب بالمعكوس النمطي لـ k.
هل الشفرة المضاعفة مجانية؟
أداة المتصفح مجانية وتعمل محليًا. استدعاءات API تستخدم رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل طلب ناجح؛ والمهام الفاشلة لا تُحسب أبدًا.