تتوفر وظيفة تجزئة التشفير BLAKE3، وهي أسرع 10 مرات من SHA-2

تم نشر التنفيذ النهائي للخوارزمية بليك 3، والذي يوفر وظيفة تجزئة تشفير مصممة لتطبيقات مثل التحقق من سلامة الملفات، ومصادقة الرسائل، وإنشاء بيانات للتوقيعات الرقمية. BLAKE3 ليس مخصصًا لتجزئة كلمات المرور (بالنسبة لكلمات المرور، تحتاج إلى استخدام Yescrypt أو bcrypt أو scrypt أو Argon2)، لأنه يهدف إلى حساب التجزئة في أسرع وقت ممكن مع ضمان عدم حدوث تصادمات، والحماية ضد العثور على النموذج الأولي وليست حساسة لحجم البيانات المجزأة. التنفيذ المرجعي لـ BLAKE3 نشرت مزدوج مرخص تحت الملكية العامة (CC0) وApache 2.0.

يتمثل الاختلاف الرئيسي في وظيفة التجزئة الجديدة في الأداء العالي جدًا لحسابات التجزئة مع الحفاظ على الموثوقية عند مستوى SHA-3. افتراضيًا، يبلغ حجم التجزئة الناتج في BLAKE3 32 بايت (256 بت)، ولكن يمكن توسيعه إلى قيم عشوائية. في اختبار إنشاء التجزئة لملف بحجم 16 كيلو بايت، تفوق BLAKE3 على SHA3-256 بمقدار 15 مرة، وSHA-256 بمقدار 12 مرة، وSHA-512 بمقدار 8 مرات، وSHA-1 بمقدار 6 مرات، وBLAKE2b بمقدار 4 مرات. لا تزال هناك فجوة كبيرة عند معالجة كميات كبيرة جدًا من البيانات، على سبيل المثال، تبين أن BLAKE3 أسرع SHA-256 بمقدار 8 مرات عند حساب التجزئة لـ 1 جيجابايت من البيانات العشوائية.

تتوفر وظيفة تجزئة التشفير BLAKE3، وهي أسرع 10 مرات من SHA-2

تم تطوير الخوارزمية من قبل خبراء التشفير المشهورين (جاك أوكونور, جان فيليب أوماسون, صامويل نيفيس, زوكو ويلكوكس أوهيرن) ويستمر في تطوير الخوارزمية بليك 2 ويستخدم آلية لتشفير شجرة سلسلة الكتل باو. على عكس BLAKE2 (BLAKE2b، BLAKE2s)، يقدم BLAKE3 خوارزمية واحدة لجميع المنصات، غير مرتبطة بعمق البت وحجم التجزئة.

تم تحقيق زيادة في الأداء من خلال تقليل عدد الجولات من 10 إلى 7 وكتل تجزئة منفصلة بحجم 1 كيلوبايت. وفقا للمبدعين، وجدوا مقنعة دليل، أنه يمكنك القيام بـ 7 جولات بدلاً من 10 مع الحفاظ على نفس المستوى من الموثوقية (للتوضيح، يمكنك إعطاء مثال على خلط الفواكه في الخلاط - بعد 7 ثوانٍ يتم خلط الثمار بالكامل بالفعل وستتم إضافة 3 ثوانٍ إضافية) لا يؤثر على اتساق الخليط). ومع ذلك، أعرب بعض الباحثين عن شكوكهم، معتقدين أنه حتى لو كانت 7 جولات حاليًا كافية لمقاومة جميع الهجمات المعروفة على التجزئة، فإن 3 جولات إضافية قد تكون مفيدة إذا تم تحديد هجمات جديدة في المستقبل.

أما بالنسبة للتقسيم إلى كتل، في BLAKE3 يتم تقسيم الدفق إلى أجزاء بحجم 1 كيلو بايت ويتم تجزئة كل قطعة بشكل مستقل. بناءً على تجزئات القطع الموجودة على القاعدة شجرة ميركل الثنائية يتم تشكيل تجزئة واحدة كبيرة. يسمح لنا هذا التقسيم بحل مشكلة موازنة معالجة البيانات عند حساب التجزئة - على سبيل المثال، يمكنك استخدام تعليمات SIMD ذات 4 خيوط لحساب تجزئات 4 كتل في نفس الوقت. تقوم وظائف تجزئة SHA-* التقليدية بمعالجة البيانات بشكل تسلسلي.

مميزات بلاك 3:

  • أداء عالي؛
  • السلامة، بما في ذلك المقاومة هجوم إطالة الرسالة، والتي يكون SHA-2 عرضة لها؛
  • ضمان توازي العمليات الحسابية على أي عدد من الخيوط وقنوات SIMD؛
  • إمكانية التحديث المتزايد والمعالجة المؤكدة للتدفقات؛
  • يُستخدم في أوضاع PRF وMAC وKDF وXOF وكتجزئة عادية؛
  • خوارزمية واحدة لجميع البنيات، سريعة على كل من أنظمة x86-64 ومعالجات ARM 32 بت.

المصدر: opennet.ru

إضافة تعليق