شفرة Trifid
بالمفتاح KEYWORD والفترة 5 يصبح DEFENDTHEEAST بعد التشفير ERKQJAYHKOBQL. يتحول كل حرف إلى ثلاث إحداثيات في المكعب ثم يُعاد تجميعها، فيمتزج الاستبدال بالتبديل. وبالمفتاح والفترة نفسيهما يُفك التشفير. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- DEFENDTHEEAST
- المفتاح
- KEYWORD
- الفترة
- 5
- وضع الحساب
- Encrypt
- النتيجة
- ERKQJAYHKOBQL
- المكعب
- KEYWORDABCFGHIJLMNPQSTUVXZ.
- الطول
- 13
- الرموز المعالجة
- 13
شفرة Trifid هي نظام التجزئة الكلاسيكي الذي وضعه Félix Delastelle، إذ تسقط كل رمز من سبعة وعشرين رمزًا — الحروف من A إلى Z إضافة إلى النقطة — على ثلاثة إحداثيات داخل مكعب 3×3×3 مبني بكلمة مفتاحية، ثم تعيد كتابة تلك الإحداثيات في مجموعات طولها هو الفترة. وبقراءة مصفوفة الإحداثيات صفًا صفًا وإعادة تجميع الثلاثيات، ينتج نص مشفر يمزج الاستبدال بالانتشار على نمط التبديل، وهو خطوة تتجاوز الخرائط أحادية الأبجدية مثل affine أو Atbash. يستخدم الطلاب ولاعبو مسابقات CTF ومؤلفو الألغاز وأدوات المناهج شفرة Trifid للتدرب على بناء المكعب وتجزئة الفترة وفكّ التشفير ذهابًا وإيابًا بكلمة مفتاحية مشتركة. تقبل هذه القدرة نصًا غير فارغ وكلمة مفتاحية للمكعب وفترة لا تقل عن اثنين ووضع تشفير أو فكّ تشفير اختياريًا؛ وتُعيد السلسلة المحولة والمكعب الموسع وإحصاءات المعالجة.
كيف يعمل مكعب Trifid وتجزئة الفترة
ابنِ المكعب بأخذ الرموز الفريدة من A–Z ومحرف النقطة من كلمتك المفتاحية بترتيب ورودها، ثم إلحاق كل رمز متبقٍ من الأبجدية بحيث تضم السلسلة دائمًا سبعة وعشرين موضعًا بالضبط. تشكل الفهارس من صفر إلى ثمانية الطبقة صفر، ومن تسعة إلى سبعة عشر الطبقة واحدًا، ومن ثمانية عشر إلى ستة وعشرين الطبقة اثنين؛ وضمن كل طبقة توفر شبكة ثلاثة في ثلاثة الصف والعمود، وكل إحداثية قيمتها صفر أو واحد أو اثنان.
يحوّل التشفير كل رمز من نص المصدر إلى إحداثياته الثلاثة، ويكتبها في ثلاثة صفوف تحت مجموعة بحجم الفترة، ويقرأ من اليسار إلى اليمين عبر جميع الطبقات ثم جميع الصفوف ثم جميع الأعمدة، ويعيد إسقاط كل ثلاثية متتالية على رمز من المكعب. وقد تكون المجموعة الأخيرة أقصر من الفترة عندما لا يكون طول الرسالة من مضاعفاتها؛ وتُجزأ تلك الكتلة الأقصر بالطريقة نفسها بعرضها الخاص.
أما فكّ التشفير فيوسع كل رمز مشفر إلى ثلاثة أرقام، ويقسم التدفق إلى ثلاثة صفوف متساوية بطول يساوي حجم المجموعة، ويعيد بناء كل رمز من نص المصدر من الطبقة والصف والعمود المكدسة عند ذلك الموضع.
قواعد التحقق وتصفية الأبجدية والمزالق الشائعة
بعد تحويل الأحرف إلى كبيرة لا تبقى سوى A–Z ومحرف النقطة؛ وتُحذف الفراغات والأرقام والفواصل وسائر علامات الترقيم كي تبقى مجموعات الفترة محددة بدقة. ويجب أن يكون key سلسلة غير فارغة تبقى محتوية على رمز أبجدي واحد على الأقل بعد التصفية نفسها؛ وتُرفض المفاتيح الفارغة أو المكونة من ترقيم فقط. ويجب أن تكون period عددًا صحيحًا بين اثنين ومئتين وستة وخمسين شاملة: فالفترة واحد أو صفر أو أي قيمة سالبة تفشل برسالة واضحة تفيد بأن فترة دون الاثنين غير صالحة لتجزئة trifid.
ويقبل mode القيم encrypt وencode وdecrypt وdecode؛ وتفشل قيم الوضع المجهولة في التحقق. لا تنجح الرحلة الكاملة إلا إذا اشترك التشفير وفكّ التشفير في الكلمة المفتاحية والفترة نفسيهما؛ فتغيير أي منهما يبني مكعبًا مختلفًا أو عرض مجموعات مختلفًا ولن يسترجع الرسالة الأصلية. ولا تتعامل مع Trifid بوصفها تشفيرًا حديثًا للسرية: فالأبجدية ضئيلة والبناء علني وبنية الترددات ما تزال تنكشف تحت التحليل.
فضّل هذه الصفحة عندما يكون قصد البحث شفرة trifid أو trifid لدى Delastelle أو شفرة المكعب ذي 27 رمزًا؛ أما bifid وPlayfair وaffine وrail fence وXOR فتجيب عن أغراض كلاسيكية أخرى وتبقى أدوات مستقلة. ثبّت عينات التكامل المستمر على مسار تشفير ناجح وعلى خطأ فترة دون الاثنين كي لا تتسرب أخطاء التحقق أو إعادة التشكيل العرضية دون أن تُلاحَظ.
شفرة Trifid في الصف وحدودها العملية
استدعِ شفرة Trifid المجانية داخل المتصفح لتدقيق الواجبات وشرائح المحاضرات وتدريبات CTF وجولات التشفير أو فكّ التشفير الفردية دون برمجة جدول 3×3×3 يدويًا في كل لغة. ويمكن لمواقع الألغاز حساب الإجابات مسبقًا دون اتصال وكشفها بالوضع decrypt. وتستطيع كتيبات الدعم عكس ملاحظات مموّهة تمويهًا خفيفًا مكتوبة بمفاتيح صفية معروفة.
يخضع نص المصدر لقواعد الاحتفاظ نفسها المطبقة على سائر عناصر parse في KIT، والنتائج آمنة للتثبيت في عينات التكامل المستمر لأن الخوارزمية حتمية تمامًا عبر البيئات المعزولة. أبقِ حمولاتك في حدود أحجام الرسائل المعتادة المناسبة لاستدعاء عنصر في بيئة معزولة؛ فهذه الأداة للعبارات ومقاطع التعليم، لا لكتل ثنائية متعددة الميغابايت. اقرنها بشفرات كلاسيكية أخرى فقط عندما تتطلب خطوة تعليمية لاحقة عائلة مختلفة، وأبقِ Trifid في صفحتها الخاصة كي يبقى قصد البحث حادًا حول تجزئة المكعب بكلمة مفتاحية.
حالات الاستخدام
واجبات تحليل الشفرات وإحماءات CTF
يشفّر الطلاب عبارات قصيرة بكلمة مفتاحية وفترة، ثم يفكّون نصوص زملائهم أو يسترجعون الرسائل ضمن قيود مكعب معروف دون تثبيت مكتبات تشفير إضافية.
عينات المسارات والتكامل المستمر
تثبّت النصوص واختبارات التكامل المستمر مخرجات trifid الحتمية وخطأ التحقق من الفترة كي تفشل أخطاء إعادة التشكيل أو ترتيب المكعب العرضية سريعًا.
الأسئلة الشائعة
كيف أفكّ تشفير نص Trifid؟
أرسل النص المشفر في text مع المفتاح key والفترة period نفسيهما المستخدمين في التشفير، والوضع decrypt (أو decode). تكون النتيجة النص الأصلي المُعاد بناؤه عند تطابق المعامِلات.
ماذا يحدث إذا كانت الفترة دون الاثنين؟
تتطلب تجزئة trifid فترة من رمزين على الأقل لكل مجموعة؛ فالفترة 1 أو أقل تُرفض ولا تُحتسب.
هل شفرة Trifid تشفير آمن؟
لا. Trifid شفرة تجزئة كلاسيكية للألغاز والتعليم، لا للسرية. لا تستخدمها أبدًا لكلمات المرور أو البيانات الحساسة.
كيف يُبنى المكعب من الكلمة المفتاحية؟
تأتي أولًا حروف المفتاح غير المكررة بترتيبها، ثم بقية الحروف والنقطة، فيكتمل 27 موضعًا بالضبط. ومن KEYWORD ينتج KEYWORDABCFGHIJLMNPQSTUVXZ. وتملأ هذه المواضع ثلاث طبقات في كل منها تسعة.
لماذا تختفي المسافات والأرقام من النص؟
لا يعرف المكعب إلا الحروف من A إلى Z والنقطة. أما كل ما عداها من مسافات وأرقام وفواصل وعلامات ترقيم فيُحذف أولًا، حتى تبقى مجموعات الفترة محددة بدقة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/enc/trifid \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"DEFENDTHEEAST","key":"KEYWORD","period":5}'const res = await fetch("https://api.kit.forhosting.com/enc/trifid", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "DEFENDTHEEAST",
"key": "KEYWORD",
"period": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/trifid",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "DEFENDTHEEAST",
"key": "KEYWORD",
"period": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/trifid", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"DEFENDTHEEAST","key":"KEYWORD","period":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"DEFENDTHEEAST","key":"KEYWORD","period":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/trifid", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "DEFENDTHEEAST",
"key": "KEYWORD",
"period": 5
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.trifid",
"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 لأن التجزئة تتطلب مجموعات من رمزين فأكثر.
كيف يعمل مكعب Trifid وتجزئة الفترة
أرسل JSON مع الحقل النصي الإلزامي text والمفتاح النصي الإلزامي key والعدد الصحيح الإلزامي period لا يقل عن اثنين، ووضع mode اختياريًا قيمته الافتراضية encrypt؛ وتصلح الأسماء البديلة input وvalue وs وmessage للجسم، وkeyword وcube_key وalphabet_key بدائل عن key، بينما تعمل p وgroup وstep بدائل عن period. وتتضمن استجابة النجاح الحقول result وmode بعد تطبيعه إلى encrypt أو decrypt، وkey برموز الكلمة المفتاحية بعد التصفية، وperiod، وcube بجدول السبعة والعشرين محرفًا كاملًا، وlength وsymbols_processed للرسالة المصفاة، وalphabet تسرد الرموز السبعة والعشرين القياسية، وmethod بقيمة trifid. المدخلات المتطابقة تنتج دائمًا JSON متطابقًا لأن المسار مجرد تنقل نقي في الجداول دون شبكة ولا بذرة عشوائية ولا ساعة زمنية.
قواعد التحقق وتصفية الأبجدية والمزالق الشائعة
يؤدي غياب text أو كونه غير نصي أو كونه سلسلة فارغة إلى رفع invalid_input دون احتساب رصيد في API المدفوعة مسبقًا بعد رفض المحرك للطلب. وإذا لم يبقَ شيء من الأبجدية فشل الطلب بخطأ invalid_input.
استخدام API والتسعير وسير العمل الصفي والحدود العملية
واستخدم API المدفوعة مسبقًا من KIT عندما تحتاج خدمة خلفية أو دالة بلا خادم أو منصة تعليمية أو حزمة SDK إلى عقد مستقر ضمن الرصيد بقيمة $0.002 لكل عنصر ناجح؛ ولا تستهلك إخفاقات التحقق الرصيد بعد الرفض. يعرض سير العمل الصفي النمطي كيف تبذر الكلمة المفتاحية المكعب، ثم يشفّر شعارًا قصيرًا بفترة خمسة، ثم يفكّ تشفيره بالمعامِلات نفسها لإثبات القابلية للعكس، وأخيرًا يبيّن أن الفترة واحد تُرفض بوصفها invalid_input. ويمكن لمؤلفي حزم SDK ربط حقل result بزر نسخ بينما تجعل cube وperiod وmethod أمثلة OpenAPI مفسرة لذاتها.
حالات التكامل
عروض Delastelle الصفية
يعرض المعلمون بناء مكعب 3×3×3 وتجزئة الفترة في مقابل الخرائط أحادية الأبجدية، ويثبتون إخفاق الفترة دون الاثنين بوصفه عينة invalid_input واضحة.
أسئلة تقنية
كيف أشفّر نصًا بشفرة Trifid؟
أرسل JSON مع نص غير فارغ وكلمة مفتاحية للمكعب وفترة صحيحة لا تقل عن 2 (مثل 5) ووضع اختياري encrypt (الافتراضي). يحمل حقل result في الاستجابة النص المشفر.
هل أداة شفرة Trifid مجانية؟
تعمل أداة المتصفح مجانًا على جهازك. أما استدعاءات API فتستخدم رصيد KIT المدفوع مسبقًا بقيمة $0.002 لكل عنصر ناجح؛ ولا تُحتسب إخفاقات التحقق.