yEnc

yEnc هو نظام تشفير ثنائي إلى نصي لنقل الملفات الثنائية في الرسائل على يوزنت أو عبر البريد الإلكتروني . يقلل هذا النظام من الحمل الزائد مقارنةً بطرق التشفير السابقة القائمة على US-ASCII باستخدام طريقة تشفير 8 بت . غالبًا ما يكون الحمل الزائد لـ yEnc (إذا ظهرت كل قيمة بايت بنفس التردد تقريبًا في المتوسط) ضئيلًا جدًا، حيث يتراوح بين 1-2% فقط، [ 1 ] مقارنةً بنسبة 33-40% لطرق التشفير 6 بت مثل uuencode و Base64 . طُوّر yEnc في البداية بواسطة يورغن هيلبينغ، وكان أول إصدار له في أوائل عام 2001. وبحلول عام 2003، أصبح yEnc نظام التشفير القياسي الفعلي للملفات الثنائية على يوزنت. [ 2 ] اسم yEncode هو تورية على عبارة "لماذا التشفير؟" ، حيث تكمن الفكرة في تشفير الأحرف فقط إذا كان ذلك ضروريًا للغاية للالتزام بمعيار تنسيق الرسالة. [ 3 ]

كيف يعمل yEnc

كان من المفترض أن تحتوي محتويات رسائل يوزنت والبريد الإلكتروني على أحرف ASCII فقط ( RFC 822 أو RFC 2822 ). تمثل معظم التشفيرات المنافسة الملفات الثنائية بتحويلها إلى أحرف ASCII قابلة للطباعة، لأن نطاق أحرف ASCII القابلة للطباعة مدعوم من قبل معظم أنظمة التشغيل. ومع ذلك، نظرًا لأن هذا يقلل من مجموعة الأحرف المتاحة بشكل كبير، فهناك عبء إضافي كبير (هدر في عرض النطاق الترددي) على الشبكات ذات 8 بت. على سبيل المثال، في uuencode وBase64، يتم ترميز ثلاثة بايتات من البيانات إلى أربعة أحرف ASCII قابلة للطباعة، وهو ما يعادل أربعة بايتات، أي عبء إضافي بنسبة 33% (دون احتساب العبء الإضافي من الرؤوس). يستخدم yEnc حرفًا واحدًا (بايتًا واحدًا) لتمثيل بايت واحد من الملف، مع بعض الاستثناءات.  

يفترض برنامج yEnc أن البيانات الثنائية يمكن نقلها في الغالب عبر يوزنت والبريد الإلكتروني. لذلك، يتم تمرير 252 بايت من أصل 256 بايت ممكنة دون ترميز كبايت واحد، سواءً كانت النتيجة حرف ASCII قابلًا للطباعة أم لا. يتم فقط تهريب NUL و LF و CR و= . يتم تهريب LF وCR لأن معايير RFC التي تُعرّف رسائل الإنترنت لا تزال تشترط أن يكون لعودة السطر وتغذية السطر معنى خاص في رسالة البريد. = هو حرف الهروب، لذا يتم تهريبه أيضًا. يتم تهريب NUL أيضًا بسبب مشاكل التعامل مع الأحرف الفارغة في التعليمات البرمجية الشائعة، مع العلم أن yEnc، كتحسين، يضيف 42 إلى كل بايت مصدر بحيث لا تتطلب سلاسل البايتات الفارغة الطويلة، الشائعة الحدوث، الكثير من التهريب.

لا يوجد RFC أو وثيقة معايير أخرى تصف yEnc. [ 4 ] تحتوي الصفحة الرئيسية لـ yEnc على مسودة مواصفات غير رسمية وقواعد نحوية (تتعارض مع RFC 2822 و RFC 2045على الرغم من عدم تقديم أي منهما إلى فرقة عمل هندسة الإنترنت .  

كما هو الحال مع ترميز uuencoding، ورغم عيوبه، لا يزال ترميز yEnc نشطًا وفعالًا على يوزنت. تشير صفحة yEnc الرئيسية إلى أن " جميع برامج قراءة الأخبار الرئيسية تدعم ترميز yEnc ". لا يوفر كل من Outlook Express من مايكروسوفت ، وWindows Mail ، و Windows Live Mail دعمًا لترميز yEnc للأخبار أو البريد الإلكتروني، ولكن تتوفر إضافات لهذا الغرض . يستطيع برنامج Mozilla Thunderbird فك تشفير ملفات yEnc أحادية الجزء، ولكنه لا يستطيع دمج الملفات الثنائية متعددة الأجزاء. [ 5 ]

مشاكل

أشار العديد من المبرمجين ومديري المواقع الإخبارية إلى نقاط ضعف yEnc. [ 6 ] [ 7 ] [ 8 ] [ 9 ] فهو يعاني من العديد من العيوب نفسها التي يعاني منها uuencode، والتي تم حل بعضها بالفعل قبل سنوات بواسطة MIME (الذي عالج نفس العيوب في uuencode). على سبيل المثال، يتطلب yEnc وضع السلسلتين "=ybegin" و"=yend" حول الملف المشفر في نص الرسالة. [ 3 ] على الرغم من أن هذا يُعد تحسينًا مقارنةً بـ "begin" و"end" في uuencode، واللتان تظهران بشكل أكثر شيوعًا في النصوص العادية، إلا أن قارئي الرسائل ما زالوا يواجهون هاتين السلسلتين خارج المرفقات (غالبًا في المناقشات حول yEnc نفسه). كما يحاول كل من yEnc وuuencode إعادة تجميع الملفات المقسمة إلى رسائل متعددة باستخدام سطر الموضوع، وهو أمر غير موثوق.

اعتماد yEncode

تم نشر مسودة مقترح yEncode في 31 يوليو 2001. [ 10 ] أُدرج مُشفّر ومُفكّك مرجعي في الإصدار المجاني من برنامج MyNews 1.9 في نوفمبر من ذلك العام. [ 11 ] صدر برنامج yDec، وهو مُفكّك مجاني لنظام التشغيل ويندوز 32 بت، في 14 نوفمبر 2001. في 21 مارس 2002، دعم برنامج Agent تقنية yEnc بالإصدار 1.91. [ 12 ] [ 13 ] بناءً على ملاحظات يورغن هيلبينغ، تم تأجيل الإصدار لمدة أسبوع. [ 14 ] [ 15 ] بعد يومين من الإصدار، كتب هيلبينغ أن شركة Forté قد طبّقت yEnc بأفضل طريقة ممكنة . [ 16 ]

أضاف برنامج Stuffit Deluxe دعم yEnc مع الإصدار 8.0 في عام 2003. [ 17 ] [ 18 ] وأضاف برنامج PowerArchiver 9.2 دعم yEnc في مايو 2005. [ 19 ]

مراجع

  1. هيلبينغ، يورغن (28 فبراير 2002). "yEncode - ترميز سريع وبسيط للملفات الثنائية" . تم الاطلاع عليه بتاريخ 26 يوليو 2014 .
  2. فيلوز، ج. (2006). "عودة مجموعات الأخبار - نهضة النشر الثنائي". التحقيق الرقمي . 3 (2): 73-78 . doi : 10.1016/j.diin.2006.04.006 . ISSN 1742-2876 . 
  3. 1 2 كيم، جوهون؛ شنايدر، فابيان؛ آجر، برنارد؛ فيلدمان، أنيا (2010). "استخدام يوزنت اليوم: توصيف حركة مرور NNTP". ورش عمل مؤتمر INFOCOM IEEE للاتصالات الحاسوبية 2010. الصفحات 1-6 . CiteSeerX 10.1.1.679.6023 . doi : 10.1109/INFCOMW.2010.5466665 . ISBN   978-1-4244-6739-6. S2CID 18282467 . 
  4. الوضوح العالي: دليل شامل للتكنولوجيا الشخصية . 2006. ص 353. ISBN  978-0618714896على الرغم من عدم وجود معايير رسمية لـ yEnc، إلا أنه يُستخدم على نطاق واسع لنشر الملفات الثنائية على مجموعات الأخبار.
  5. "دعم Yenc في Thunderbird؟" . org.mozilla.lists.support-thunderbird (قائمة بريدية). 18 مايو 2006. مؤرشف من الأصل في 28 نوفمبر 2016. تم الاطلاع عليه في 24 يناير 2015 .
  6. هيلبينغ، يورغن (10 يونيو 2002). "معارضو yEnc" . yenc.org . مؤرشف من الأصل في 28 أغسطس 2013.
  7. نيكسون، جيريمي (17 مارس 2002). "لماذا يُعدّ yEnc سيئًا لـ Usenet" . مؤرشف من الأصل في 29 أغسطس 2013.
  8. ويلش، كورت (19 سبتمبر 2002). "ما المشكلة في yEnc؟" . مؤرشف من الأصل في 11 أغسطس 2013.
  9. فاربر، كلاوس (4 مارس 2002). "يُعتبر yEnc ضارًا" . مؤرشف من الأصل في 1 يونيو 2009.
  10. "المسودة الأصلية yEnc 1.0" . 31 يوليو 2001.
  11. يورغن "المؤرشف" هيلبينغ. "ميزات جديدة في الإصدار 1.9" . winews.net .
  12. تم إصدار "Agent 1.91" . forteinc.com . يوفر Agent 1.91 دعمًا كاملاً لـ yEnc، وهي خوارزمية تشفير جديدة لـ Usenet للملفات الثنائية.
  13. سبانباور، سكوت (أغسطس 2002). "التحكم في المراجعات - أحدث تعديلات البرامج (استمع إلى عالم من محطات الراديو على الإنترنت)". مجلة PC World . 20 (8): 138-139 . يُضيف الإصدار 1.92 من قارئ أخبار يوزنت من Forté مجلدًا للملفات المحذوفة، ويُحسّن بعض الميزات الموجودة، ويعالج العديد من الأخطاء؛ ولكن الأهم من الإصلاحات والتحسينات هو دعم التطبيق المُضاف لخوارزمية التشفير الثنائي YEnc.
  14. "العميل 1.91 يحتاج إلى أسبوع إضافي" . فورتي . 15 مارس 2002.
  15. "تعليقات يورغن هيلبينغ على yEnc و Agent 1.91" . فورتي . 17 مارس 2002.
  16. هيلبينج، يورغن (22 مارس 2002). "يدعم برنامج Forte Agent 1.91 تقنية yEnc" .
  17. سيلرز، دينيس (22 سبتمبر 2003). "StuffIt Deluxe 8.0 يحصل على إضافات جديدة وتحسين في الأداء" . ماك وورلد .
  18. برين، كريستوفر (يوليو 2004). "Stufflt Deluxe 8.0". ماك وورلد . 21 (7): 40.
  19. ريتشارد ف. دراغان (4 مايو 2005). "ضغط الملفات: باور أركيفر 9.2" .