شفرة ADFGVX
شفّر أو فك التشفير بالشفرة الميدانية الألمانية ذات المربع ستة في ستة التي تقبل الحروف والأرقام: يصبح ATTACKAT1200 بمفتاح المربع PRIVACY ومفتاح التبديل GERMAN هو GFVVVVVVAAAVGXGFGFGFGAGV. وبالمفتاحين نفسيهما يعود النص. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- ATTACKAT1200
- مفتاح المربع
- PRIVACY
- Key
- GERMAN
- وضع الحساب
- Encrypt
- النتيجة
- GFVVVVVVAAAVGXGFGFGFGAGV
- المُدخَل
- ATTACKAT1200
- مربع المفتاح المستخدم
- PRIVACY
- المُطبَّع
- ATTACKAT1200
شفرة ADFGVX هي شفرة الميدان الألمانية ذات الأبعاد ستة في ستة التي كانت تُجزّئ الرسائل عبر مربع على طراز بوليبوس بمفتاح، ثم تخلط تدفق العلامات بكلمة تبديل ثانية. على خلاف الاستبدال البسيط أو التبديل العمودي وحده، تجمع ADFGVX المرحلتين بحيث يصبح كل حرف أو رقم من النص الواضح زوجًا من العلامات من المجموعة A وD وF وG وV وX قبل كتابتها في شبكة وقراءتها بترتيب كلمة المفتاح. تقبل هذه القدرة كلمة مفتاح للمربع، ومفتاح تبديل، والنص المراد حمايته أو استعادته، ووضعًا للتشفير أو فك التشفير.
كيف يعمل المربع 6×6 والتجزئة
تبدأ ADFGVX بتحويل كلمة مفتاح المربع إلى مصفوفة ستة في ستة على الستة والثلاثين رمزًا المؤلفة من الحروف اللاتينية من A إلى Z والأرقام العشرية من صفر إلى تسعة. تُكتب حروف وأرقام كلمة مفتاح المربع من اليسار إلى اليمين ومن أعلى إلى أسفل مع تخطي المكررات ورفع الحروف إلى الكبيرة؛ ثم تملأ الرموز المتبقية من الأبجدية ومجموعة الأرقام بقية الشبكة بالترتيب الطبيعي. تُوسَم الصفوف والأعمدة بالحروف الستة الملائمة لمورس A وD وF وG وV وX بدل الأرقام من واحد إلى ستة.
عند التشفير يُختزل النص الواضح إلى الأحرف والأرقام الكبيرة فقط، ثم يُستبدل كل رمز بعلامتي خليته —علامة الصف أولًا ثم علامة العمود— فينتج تدفق متصل بطول ضعف الرسالة المُطبَّعة. ذلك التدفق المُجزَّأ هو مدخل المرحلة الثانية. عند فك التشفير، وبعد عكس التبديل، يُبحث كل زوج متتالٍ من علامات ADFGVX في المربع نفسه لاستعادة حرف أو رقم.
نصائح عملية وحدود وعمليات بحث ذات صلة
اختر كلمة مفتاح للمربع بعدة حروف مميزة وأرقام اختيارية حتى لا يكون المصفوفة شبه أبجدية؛ الكلمات القصيرة سهلة الحفظ تصلح للعروض، لكن العبارات الأطول ذات الرموز الفريدة تخلط المربع أكثر. اختر مفتاح تبديل بحروف متنوعة حتى لا يكون ترتيب الأعمدة هوية من اليسار إلى اليمين؛ الحروف المكررة مسموحة وتفصل التعادل بالموضع. تذكّر أن المسافات وعلامات الترقيم وغير الأحرف والأرقام تُحذف قبل التشفير، لذا تحتفظ أرقام الهاتف بأرقامها وتفقد الفواصل، وتفقد التسميات المختلطة الترقيم في تدفق الرموز —قسّمها أو رمّزها على حدة إن احتجتها لاحقًا—.
للفك قدّم تدفق نص مشفّر من علامات ADFGVX فقط بطول زوجي بعد التطبيع؛ وإن بقيت مسافات في ورقة مطبوعة يتجاهل الحلّال ما ليس علامة. فحوصات الذهاب والعودة أفضل اختبار سلامة: شفّر عبارة تتضمن أرقامًا، ثم فك النتيجة بنفس المفتاحين، وقارن بالنص الواضح الأبجدي الرقمي المطبّع. تستهدف هذه الصفحة من يبحث عن شفرة ADFGVX أو أداة تشفير ADFGVX أو أداة تبديل مُجزَّأ ستة في ستة عبر الإنترنت؛ وليست AES، ولا خزنة كلمات مرور حديثة، ولا Playfair، ولا بوليبوس البسيط، ولا تبديلًا عموديًا وحده.
فضّل هذه القدرة حين تحتاج تشفيرًا كلاسيكيًا شفافًا من نوع ADFGVX للتعليم أو الألغاز؛ وإن احتجت سرية حقيقية فاستخدم شفرة موثّقة حديثة.
حالات الاستخدام
تقارير CTF والألغاز
يتحقق مؤلفو التحديات من خطوات تشفير وفك ADFGVX لمفاتيح مربع وتبديل منشورة دون صيانة سكربت منفصل خارج الشبكة.
عروض التشفير التاريخي
تُظهر المتاحف وعروض المدونات كيف تختلف شفرات التجزئة في الحرب العالمية الأولى عن الاستبدال أحادي الأبجدية عبر تشفير مباشر لعبارات الزوار التي تتضمن أوقاتًا أو أرقام وحدات.
الأسئلة الشائعة
ما هي شفرة ADFGVX؟
شفرة ميدان ألمانية كلاسيكية: يُعيَّن كل حرف أو رقم إلى زوج علامات A/D/F/G/V/X عبر مربع 6×6 بكلمة مفتاح، ثم يُعاد ترتيب تدفق العلامات بمفتاح تبديل عمودي.
لماذا ست علامات A وD وF وG وV وX؟
لهذه الحروف الستة أنماط مورس مميزة، ما قلّل أخطاء الإرسال في الميدان عندما كان المشغّلون يرسلون النص المشفّر المُجزَّأ بالبرق اللاسلكي.
ماذا يحدث إذا كان المفتاح ناقصًا أو فارغًا؟
كلمة مفتاح المربع ومفتاح التبديل مطلوبان وغير فارغين (كلمة المربع تحتاج حرفًا واحدًا على الأقل من A–Z أو 0–9).
هل تدعم ADFGVX الأرقام؟
نعم. يستوعب المربع 6×6 ستة وعشرين حرفًا وعشرة أرقام، لذا يمكن تشفير رسائل مثل ATTACKAT1200 دون حذف أرقام الوقت.
كيف أختار كلمات مفتاحية جيدة لشفرة ADFGVX؟
اختر لمفتاح المربع كلمة فيها حروف مختلفة كثيرة وربما أرقام، حتى لا يبقى المربع قريبًا من الترتيب الأبجدي. واجعل مفتاح التبديل بحروف متنوعة، والحروف المكررة مسموحة وتُرتب حسب موضعها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/adfgvx \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"ATTACKAT1200","square_key":"PRIVACY","key":"GERMAN"}'const res = await fetch("https://api.kit.forhosting.com/enc/adfgvx", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "ATTACKAT1200",
"square_key": "PRIVACY",
"key": "GERMAN"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/adfgvx",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "ATTACKAT1200",
"square_key": "PRIVACY",
"key": "GERMAN"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/adfgvx", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"ATTACKAT1200","square_key":"PRIVACY","key":"GERMAN"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"ATTACKAT1200","square_key":"PRIVACY","key":"GERMAN"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/adfgvx", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "ATTACKAT1200",
"square_key": "PRIVACY",
"key": "GERMAN"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.adfgvx",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
وتبلّغ عن المفاتيح الناقصة أو الفارغة بخطأ invalid_input واضح حتى لا ينتج نموذج فارغ في صمت تحويل هوية بلا معنى. المسار حساب حروف حتمي خالص —بلا شبكة، وبلا بذور عشوائية، وبلا اعتماد على الساعة— لذا يعيد مشغّل المتصفح المجاني وواجهة API المدفوعة مسبقًا نفس JSON، بما في ذلك المربع والتدفق المُجزَّأ وترتيب الأعمدة، في كل مرة تستدعيها للتعليم أو تقارير CTF أو تمارين الشفرات التاريخية.
كيف يعمل مفتاح التبديل وحقول API والاستجابة
بعد التجزئة يُكتب تدفق العلامات صفًّا صفًّا في شبكة عرضها يساوي طول مفتاح التبديل. ثم تُقرأ الأعمدة بالترتيب الناتج عن فرز أحرف المفتاح بترتيب Unicode، مع استخدام الفهرس الأصلي من اليسار إلى اليمين كفاصل تعادل مستقر عند تكرار الحرف نفسه. يعكس فك التشفير تلك الخطوة: تملأ علامات النص المشفّر الأعمدة بترتيب كلمة المفتاح وفق ارتفاع كل عمود لطول التدفق، ثم تُقرأ الشبكة من اليسار إلى اليمين ومن أعلى إلى أسفل. يجب أن ينتج النص رموزًا قابلة للاستخدام بعد التطبيع —حروفًا أو أرقامًا عند التشفير، وعلامات ADFGVX عند الفك—. أرسل جسم JSON بثلاثة حقول نصية إلزامية —text وsquare_key وkey— مع mode اختياري يكون encrypt افتراضيًا عند حذفه. تشمل الأسماء البديلة المقبولة لـ text: input وvalue وdata وmessage وplaintext وciphertext؛ ويقبل square_key أيضًا square_keyword وpolybius_key وkeyword وsquare؛ ويقبل key: transposition_key وcolumn_key وtkey وcolkey؛ ويقبل mode: operation وop وdirection وaction، ويتعرف مرادفات شائعة مثل encode أو decode. أي مفتاح ناقص أو فارغ هو invalid_input ولا يُحسب عليه. عند النجاح تعيد الاستجابة النص والمفاتيح الأصليين، وتبلّغ square_key_used كرموز كلمة المربع المميزة بترتيب الملء، وmode كـ encrypt أو decrypt، والتدفقات الوسيطة normalized وfractionated، وresult وtext كعلامات النص المشفّر أو الرموز المستعادة، وsquare كستة صفوف من ست خلايا، وlabels كمجموعة ADFGVX الثابتة، وcolumn_order كتبديل فهارس الأعمدة، وlength وfractionated_length، وformula كقاعدة تذكيرية قصيرة، وmessage كملخص بسطر واحد. التسعير مبلغ ثابت $0.002 لكل طلب ناجح بوحدة item.
نصائح عملية وحدود وعمليات بحث ذات صلة
أبقِ الحمولة دون الحد المنشور وهو مئة ألف حرف حتى تبقى ذاكرة Worker محدودة. عند التعليم اربط أمثلة: كلمة مربع كلاسيكية مثل PRIVACY مع تبديل GERMAN على رسالة مختلطة تُظهر التجزئة وإعادة ترتيب الأعمدة؛ وعرض قصير CODE42 يُظهر خلايا الأرقام؛ ومفتاح تبديل فارغ يُظهر مسار invalid_input الصارم الذي يبلّغ عن المفتاح الناقص. المهام الفاشلة التي تُرجع invalid_input لا تستهلك رصيدًا مدفوعًا مسبقًا، ما يبقي سكربتات الاستكشاف رخيصة حين يختبر العملاء مفاتيح فارغة.
حالات التكامل
مختبرات الشفرات الكلاسيكية في الصف
يبني الطلاب يدويًا مربع ADFGVX بحجم 6×6، ويجزّئون رسالة قصيرة مختلطة من حروف وأرقام، ويطبّقون مفتاح التبديل، ثم يقارنون العلامات والتدفق النهائي بنتيجة API الحتمية.
أسئلة تقنية
هل شفرة ADFGVX مجانية؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل طلب ناجح؛ ولا تُحسب المهام الفاشلة أبدًا.