وظيفة تجزئة التشفير (CHF) موجودة منذ الثمانينات وتجد فائدة واسعة النطاق في التشفير والتحقق من سلامة البيانات وفهرسة قواعد البيانات ومجالات أخرى مختلفة.
عند حساب دالة تجزئة تشفيرية، يتم إدخال بيانات ذات طول تعسفي، وتقوم الوظيفة المقابلة بتحويلها إلى قيمة إخراج ذات طول ثابت. يتضمن هذا التحويل تطبيق عمليات مختلفة على أجزاء مختلفة من بيانات الإدخال، والتي يشار إليها عادة باسم التجزئة. يُعرف الناتج الناتج باسم قيمة التجزئة، وتسمى العملية نفسها بوظيفة التجزئة.
ومن الأمثلة التوضيحية على ذلك خوارزمية MD5، المستخدمة بشكل متكرر في برامج التنزيل P2P، والتي تتميز بطول 128 بت. يمكن للمستخدمين مقارنة قيمة التجزئة للملف الذي تم تنزيله مع القيمة المقدمة من المصدر؛ يشير التطابق إلى سلامة الملف المحتملة.
التطبيق السائد الآخر هو مصادقة كلمة المرور على مواقع الويب. لحماية كلمات مرور المستخدم، تقوم معظم الأنظمة الأساسية بتخزين كلمات مرور التجزئة بدلاً من إدخالات النص العادي. عندما يقوم المستخدم بتسجيل الدخول، يقوم النظام بحساب وظيفة التجزئة لكلمة المرور المدخلة ومقارنتها بالقيمة المخزنة المرتبطة باسم المستخدم. تحمي الطبيعة التي لا رجعة فيها لوظيفة تجزئة التشفير من فك تشفير كلمة المرور حتى إذا حصل المتسللون على قيم تجزئة قاعدة البيانات.
يكشف البحث عن "SHA256 Generator" أن مواقع الويب المختلفة التي تستخدم نفس الخوارزمية تولد باستمرار قيم تجزئة متطابقة لنصوص الإدخال المماثلة.
علاوة على ذلك، يؤدي تغيير حالة نص الإدخال إلى قيم تجزئة مخرجات مميزة تمامًا، تُعرف باسم تأثير الانهيار الجليدي. تقيس الخصائص التالية مدى أمان دالة التجزئة المشفرة:
في المثال المذكور أعلاه، تمثل إعادة بناء كلمة مرور المستخدم من قيم التجزئة المسروقة صعوبة كبيرة. تعيق العمليات المعقدة وضغط المعلومات داخل وظائف التجزئة المشفرة الهندسة العكسية، مما يؤكد على طبيعتها أحادية الاتجاه.
المقاومة الثانية لما قبل الصورة: يعد تحديد قيمة إدخال أخرى تنتج نفس قيمة التجزئة نظرًا لإدخال أولي أمرًا شاقًا. ** تُسمى هذه الميزة بمقاومة الاصطدام الضعيفة.
مقاومة الاصطدام: يعد اكتشاف قيمتين مختلفتين تنتج قيم تجزئة متطابقة أمرًا صعبًا ويطلق عليه اسم تصادم تجزئة التشفير. تشير هذه الخاصية إلى مقاومة قوية للتصادم.
بأخذ MD5 المذكور كمثال، هل من الممكن لملفات مختلفة إنشاء نفس قيمة التجزئة؟ الجواب نعم، ولكن الاحتمال ضعيف للغاية. تُعرف هذه الظاهرة باسم تصادم تجزئة التشفير، والذي يمكن أن يحدث إما عن طريق الخطأ أو من خلال هجوم متعمد. يبلغ احتمال الاصطدام القياسي لخوارزمية MD5 حوالي 1/2¹²⁸، مما يجعل الحوادث العرضية غير محتملة على الإطلاق. ومع ذلك، يعتبر MD5 عرضة لهجمات الاصطدام المتعمدة، حيث أن إنتاج نفس قيمة التجزئة لنصين عاديين مختلفين أمر سهل نسبيًا. لذلك، في حين أنه لا يزال من الممكن استخدام خوارزمية MD5 للمهام التي لا تتضمن الأمان، إلا أنها لم تعد مناسبة لمهام المصادقة الأمنية (مثل مصادقة المفاتيح أو التوقيعات الرقمية).
يستخدم Ethereum وظيفة التجزئة المشفرة KECCAK-256، والتي يعرفها العديد من الأشخاص عن طريق الخطأ باسم SHA-3 (بما في ذلك في أطروحة الدكتوراه لمؤسس سيليستيا) لأن هذه الوظيفة تمت كتابتها في الأصل باسم "sha3" في Solidity. وبسبب الارتباك، تمت إعادة تسميته لاحقًا إلى Keccak256.
يستخدم MetaMask العديد من وظائف التجزئة المشفرة في عملياته:
تستخدم Bitcoin وظيفة التجزئة المشفرة SHA-256. سنوضح هنا العملية التي يتفاعل من خلالها القائمون بتعدين البيتكوين مع وظائف تجزئة التشفير أثناء أنشطة التعدين.
في تعدين البيتكوين، يقوم القائمون بالتعدين بدمج بيانات المعاملات مع رأس الكتلة، بما في ذلك تفاصيل المعاملة جنبًا إلى جنب مع البيانات الوصفية مثل الطوابع الزمنية والأرقام العشوائية. يسعى القائمون بالتعدين إلى إنتاج تجزئة SHA-256 محددة عن طريق ضبط الأرقام العشوائية بشكل متكرر (يشار إليها باسم "nonce")، في رأس الكتلة بهدف تلبية معايير محددة، تبدأ عادةً بعدد محدد من الأصفار البادئة. نظرًا لطبيعة دالة التجزئة SHA-256، فإن الطريقة الوحيدة لاكتشاف التجزئة المتوافقة هي من خلال التجربة المستمرة بأرقام عشوائية مختلفة.
عند العثور على تجزئة تلبي المتطلبات، يمكن لعمال المناجم إلحاق الكتلة بسلسلة الكتل الخاصة بشبكة البيتكوين والحصول على كمية محددة من عملات البيتكوين كمكافأة. تتضمن هذه العملية، المعروفة باسم "التعدين"، التنفيذ المستمر لوظائف التجزئة لتحديد قيمة التجزئة التي تلبي المعايير المحددة.
إلى جانب التعدين، تعد وظائف التجزئة المشفرة أمرًا محوريًا في إنشاء روابط بين الكتل وتتبع تعديلات المعاملات داخل أنظمة blockchain. تعمل مؤشرات التجزئة كهياكل بيانات تسهل فهرسة البيانات واسترجاعها والتحقق من تعديلات البيانات. تخضع كل معاملة داخل blockchain للتجزئة قبل تنظيمها في كتل. بعد ذلك، يقوم مؤشر التجزئة بربط كل كتلة بسابقتها عن طريق تخزين تجزئة بيانات الكتلة السابقة. تضمن الطبيعة المترابطة للكتل عدم قابلية التغيير داخل blockchain؛ أي تعديل على المعاملة يؤدي إلى قيمة تجزئة مميزة، وبالتالي تغيير تجزئة جميع الكتل اللاحقة. على سبيل المثال، لنفترض أن blockchain يتكون من كتلتين:
الكتلة 1: تشمل تجزئات المعاملات T1 وT2 وT3.
الكتلة 2: تتميز بتجزئة المعاملات T4 وT5 وT6، بالإضافة إلى تجزئة الكتلة 1.
إذا حاول فرد التلاعب بالمعاملة T1 في الكتلة 1، فسوف يحتاج إلى إعادة معايرة قيمة تجزئة الكتلة 1 وتحديث القيمة الجديدة في الكتلة 2. ومع ذلك، نظرًا لطبيعة مقاومة أحادية الاتجاه ومقاومة ما قبل الصورة لوظائف التجزئة المشفرة، فإن عكس المعاملة T1 في الكتلة 1 بناءً على قيمة تجزئة الكتلة 2 يمثل تحديًا.
علاوة على ذلك، نظرًا لأن الكتلة 2 تتضمن قيمة تجزئة الكتلة 1، فإن التلاعب في الكتلة 1 سيؤدي بالتالي إلى تغيير قيمة تجزئة الكتلة 2. وهذا يتطلب التلاعب المتزامن بجميع الكتل اللاحقة لأية تعديلات داخل blockchain - وهي مهمة هائلة. وبالتالي، فإن وظائف التجزئة المشفرة تدعم بشكل فعال تماسك وسلامة بيانات blockchain.
في عالم blockchain، تؤدي وظيفة التجزئة المشفرة عدة أدوار أساسية:
ربط الكتلة: يحتوي رأس كل كتلة على قيمة تجزئة الكتلة السابقة، مما يسهل سلسلة متصلة من الكتل لضمان سلامة التلاعب الواضح.
التحقق من صحة المعاملة: تخضع بيانات المعاملة للتجزئة، مع تضمين قيمة التجزئة الناتجة في الكتلة، للتحقق من صحة المعاملة وسلامتها.
آلية الإجماع: ضمن آلية الإجماع لإثبات العمل (PoW)، يجب على القائمين بالتعدين تحديد قيمة غير محددة تلبي متطلبات الصعوبة من خلال تنفيذ وظائف التجزئة.
في 2 سبتمبر 2022، نشر فيتاليك سؤالاً على تويتر (X)، يسأل فيه عن وظيفة التجزئة المشفرة التي ستظل آمنة إذا تم اختراع كمبيوتر كمي يستخدم خوارزمية شور.
المصدر: تغريدة فيتاليك
وأشار إلى أن الكمبيوتر الكمي القادر على استخدام خوارزمية شور يمكنه اختراق RSA (نظام تشفير المفتاح العام طويل الأمد) أو أي شيء يعتمد على التحليل، والمنحنيات الإهليلجية، ومجموعات ذات ترتيب غير معروف. ومع ذلك، فإن قيم التجزئة (مثل SHA-256) تحقق نتائج جيدة في سياق الحوسبة الكمومية، على الرغم من أن أمانها سيكون منخفضًا إلى حد ما، مما يوصى باستخدام قيم تجزئة أطول.
ما مدى قوة وظائف التجزئة المشفرة، مثل SHA-256؟ الرقم "256" في SHA-256 يمثل 2 مرفوعًا للأس 256، وهو رقم كبير جدًا بحيث يصعب فهمه بشكل ملموس.
المصدر: 3Blue1Brown
ومع ذلك، قدمت 3Blue1Brown تشبيهًا حيًا للمساعدة في فهم أمان وظائف التجزئة المشفرة: تصور سيناريو حيث يمتلك كل من 4 مليارات فرد على الأرض جهاز كمبيوتر يتمتع بقدرات حوسبة استثنائية، أي ما يعادل 1000 مرة قوة الحوسبة التي تتمتع بها Google في جميع أنحاء العالم. في الوقت نفسه، تخيل كونًا يحتوي على 4 مليارات كوكب و4 مليارات مجرة شبيهة بمجرة درب التبانة! حتى في ظل هذه الظروف القاسية، سيستغرق الأمر أكثر من 500 مليار سنة قبل أن تكون هناك فرصة بنسبة 1 من 4 مليارات للتخمين الدقيق "للمدخلات المحددة المطلوبة لإنشاء قيمة تجزئة الإخراج SHA-256".
وظيفة تجزئة التشفير (CHF) موجودة منذ الثمانينات وتجد فائدة واسعة النطاق في التشفير والتحقق من سلامة البيانات وفهرسة قواعد البيانات ومجالات أخرى مختلفة.
عند حساب دالة تجزئة تشفيرية، يتم إدخال بيانات ذات طول تعسفي، وتقوم الوظيفة المقابلة بتحويلها إلى قيمة إخراج ذات طول ثابت. يتضمن هذا التحويل تطبيق عمليات مختلفة على أجزاء مختلفة من بيانات الإدخال، والتي يشار إليها عادة باسم التجزئة. يُعرف الناتج الناتج باسم قيمة التجزئة، وتسمى العملية نفسها بوظيفة التجزئة.
ومن الأمثلة التوضيحية على ذلك خوارزمية MD5، المستخدمة بشكل متكرر في برامج التنزيل P2P، والتي تتميز بطول 128 بت. يمكن للمستخدمين مقارنة قيمة التجزئة للملف الذي تم تنزيله مع القيمة المقدمة من المصدر؛ يشير التطابق إلى سلامة الملف المحتملة.
التطبيق السائد الآخر هو مصادقة كلمة المرور على مواقع الويب. لحماية كلمات مرور المستخدم، تقوم معظم الأنظمة الأساسية بتخزين كلمات مرور التجزئة بدلاً من إدخالات النص العادي. عندما يقوم المستخدم بتسجيل الدخول، يقوم النظام بحساب وظيفة التجزئة لكلمة المرور المدخلة ومقارنتها بالقيمة المخزنة المرتبطة باسم المستخدم. تحمي الطبيعة التي لا رجعة فيها لوظيفة تجزئة التشفير من فك تشفير كلمة المرور حتى إذا حصل المتسللون على قيم تجزئة قاعدة البيانات.
يكشف البحث عن "SHA256 Generator" أن مواقع الويب المختلفة التي تستخدم نفس الخوارزمية تولد باستمرار قيم تجزئة متطابقة لنصوص الإدخال المماثلة.
علاوة على ذلك، يؤدي تغيير حالة نص الإدخال إلى قيم تجزئة مخرجات مميزة تمامًا، تُعرف باسم تأثير الانهيار الجليدي. تقيس الخصائص التالية مدى أمان دالة التجزئة المشفرة:
في المثال المذكور أعلاه، تمثل إعادة بناء كلمة مرور المستخدم من قيم التجزئة المسروقة صعوبة كبيرة. تعيق العمليات المعقدة وضغط المعلومات داخل وظائف التجزئة المشفرة الهندسة العكسية، مما يؤكد على طبيعتها أحادية الاتجاه.
المقاومة الثانية لما قبل الصورة: يعد تحديد قيمة إدخال أخرى تنتج نفس قيمة التجزئة نظرًا لإدخال أولي أمرًا شاقًا. ** تُسمى هذه الميزة بمقاومة الاصطدام الضعيفة.
مقاومة الاصطدام: يعد اكتشاف قيمتين مختلفتين تنتج قيم تجزئة متطابقة أمرًا صعبًا ويطلق عليه اسم تصادم تجزئة التشفير. تشير هذه الخاصية إلى مقاومة قوية للتصادم.
بأخذ MD5 المذكور كمثال، هل من الممكن لملفات مختلفة إنشاء نفس قيمة التجزئة؟ الجواب نعم، ولكن الاحتمال ضعيف للغاية. تُعرف هذه الظاهرة باسم تصادم تجزئة التشفير، والذي يمكن أن يحدث إما عن طريق الخطأ أو من خلال هجوم متعمد. يبلغ احتمال الاصطدام القياسي لخوارزمية MD5 حوالي 1/2¹²⁸، مما يجعل الحوادث العرضية غير محتملة على الإطلاق. ومع ذلك، يعتبر MD5 عرضة لهجمات الاصطدام المتعمدة، حيث أن إنتاج نفس قيمة التجزئة لنصين عاديين مختلفين أمر سهل نسبيًا. لذلك، في حين أنه لا يزال من الممكن استخدام خوارزمية MD5 للمهام التي لا تتضمن الأمان، إلا أنها لم تعد مناسبة لمهام المصادقة الأمنية (مثل مصادقة المفاتيح أو التوقيعات الرقمية).
يستخدم Ethereum وظيفة التجزئة المشفرة KECCAK-256، والتي يعرفها العديد من الأشخاص عن طريق الخطأ باسم SHA-3 (بما في ذلك في أطروحة الدكتوراه لمؤسس سيليستيا) لأن هذه الوظيفة تمت كتابتها في الأصل باسم "sha3" في Solidity. وبسبب الارتباك، تمت إعادة تسميته لاحقًا إلى Keccak256.
يستخدم MetaMask العديد من وظائف التجزئة المشفرة في عملياته:
تستخدم Bitcoin وظيفة التجزئة المشفرة SHA-256. سنوضح هنا العملية التي يتفاعل من خلالها القائمون بتعدين البيتكوين مع وظائف تجزئة التشفير أثناء أنشطة التعدين.
في تعدين البيتكوين، يقوم القائمون بالتعدين بدمج بيانات المعاملات مع رأس الكتلة، بما في ذلك تفاصيل المعاملة جنبًا إلى جنب مع البيانات الوصفية مثل الطوابع الزمنية والأرقام العشوائية. يسعى القائمون بالتعدين إلى إنتاج تجزئة SHA-256 محددة عن طريق ضبط الأرقام العشوائية بشكل متكرر (يشار إليها باسم "nonce")، في رأس الكتلة بهدف تلبية معايير محددة، تبدأ عادةً بعدد محدد من الأصفار البادئة. نظرًا لطبيعة دالة التجزئة SHA-256، فإن الطريقة الوحيدة لاكتشاف التجزئة المتوافقة هي من خلال التجربة المستمرة بأرقام عشوائية مختلفة.
عند العثور على تجزئة تلبي المتطلبات، يمكن لعمال المناجم إلحاق الكتلة بسلسلة الكتل الخاصة بشبكة البيتكوين والحصول على كمية محددة من عملات البيتكوين كمكافأة. تتضمن هذه العملية، المعروفة باسم "التعدين"، التنفيذ المستمر لوظائف التجزئة لتحديد قيمة التجزئة التي تلبي المعايير المحددة.
إلى جانب التعدين، تعد وظائف التجزئة المشفرة أمرًا محوريًا في إنشاء روابط بين الكتل وتتبع تعديلات المعاملات داخل أنظمة blockchain. تعمل مؤشرات التجزئة كهياكل بيانات تسهل فهرسة البيانات واسترجاعها والتحقق من تعديلات البيانات. تخضع كل معاملة داخل blockchain للتجزئة قبل تنظيمها في كتل. بعد ذلك، يقوم مؤشر التجزئة بربط كل كتلة بسابقتها عن طريق تخزين تجزئة بيانات الكتلة السابقة. تضمن الطبيعة المترابطة للكتل عدم قابلية التغيير داخل blockchain؛ أي تعديل على المعاملة يؤدي إلى قيمة تجزئة مميزة، وبالتالي تغيير تجزئة جميع الكتل اللاحقة. على سبيل المثال، لنفترض أن blockchain يتكون من كتلتين:
الكتلة 1: تشمل تجزئات المعاملات T1 وT2 وT3.
الكتلة 2: تتميز بتجزئة المعاملات T4 وT5 وT6، بالإضافة إلى تجزئة الكتلة 1.
إذا حاول فرد التلاعب بالمعاملة T1 في الكتلة 1، فسوف يحتاج إلى إعادة معايرة قيمة تجزئة الكتلة 1 وتحديث القيمة الجديدة في الكتلة 2. ومع ذلك، نظرًا لطبيعة مقاومة أحادية الاتجاه ومقاومة ما قبل الصورة لوظائف التجزئة المشفرة، فإن عكس المعاملة T1 في الكتلة 1 بناءً على قيمة تجزئة الكتلة 2 يمثل تحديًا.
علاوة على ذلك، نظرًا لأن الكتلة 2 تتضمن قيمة تجزئة الكتلة 1، فإن التلاعب في الكتلة 1 سيؤدي بالتالي إلى تغيير قيمة تجزئة الكتلة 2. وهذا يتطلب التلاعب المتزامن بجميع الكتل اللاحقة لأية تعديلات داخل blockchain - وهي مهمة هائلة. وبالتالي، فإن وظائف التجزئة المشفرة تدعم بشكل فعال تماسك وسلامة بيانات blockchain.
في عالم blockchain، تؤدي وظيفة التجزئة المشفرة عدة أدوار أساسية:
ربط الكتلة: يحتوي رأس كل كتلة على قيمة تجزئة الكتلة السابقة، مما يسهل سلسلة متصلة من الكتل لضمان سلامة التلاعب الواضح.
التحقق من صحة المعاملة: تخضع بيانات المعاملة للتجزئة، مع تضمين قيمة التجزئة الناتجة في الكتلة، للتحقق من صحة المعاملة وسلامتها.
آلية الإجماع: ضمن آلية الإجماع لإثبات العمل (PoW)، يجب على القائمين بالتعدين تحديد قيمة غير محددة تلبي متطلبات الصعوبة من خلال تنفيذ وظائف التجزئة.
في 2 سبتمبر 2022، نشر فيتاليك سؤالاً على تويتر (X)، يسأل فيه عن وظيفة التجزئة المشفرة التي ستظل آمنة إذا تم اختراع كمبيوتر كمي يستخدم خوارزمية شور.
المصدر: تغريدة فيتاليك
وأشار إلى أن الكمبيوتر الكمي القادر على استخدام خوارزمية شور يمكنه اختراق RSA (نظام تشفير المفتاح العام طويل الأمد) أو أي شيء يعتمد على التحليل، والمنحنيات الإهليلجية، ومجموعات ذات ترتيب غير معروف. ومع ذلك، فإن قيم التجزئة (مثل SHA-256) تحقق نتائج جيدة في سياق الحوسبة الكمومية، على الرغم من أن أمانها سيكون منخفضًا إلى حد ما، مما يوصى باستخدام قيم تجزئة أطول.
ما مدى قوة وظائف التجزئة المشفرة، مثل SHA-256؟ الرقم "256" في SHA-256 يمثل 2 مرفوعًا للأس 256، وهو رقم كبير جدًا بحيث يصعب فهمه بشكل ملموس.
المصدر: 3Blue1Brown
ومع ذلك، قدمت 3Blue1Brown تشبيهًا حيًا للمساعدة في فهم أمان وظائف التجزئة المشفرة: تصور سيناريو حيث يمتلك كل من 4 مليارات فرد على الأرض جهاز كمبيوتر يتمتع بقدرات حوسبة استثنائية، أي ما يعادل 1000 مرة قوة الحوسبة التي تتمتع بها Google في جميع أنحاء العالم. في الوقت نفسه، تخيل كونًا يحتوي على 4 مليارات كوكب و4 مليارات مجرة شبيهة بمجرة درب التبانة! حتى في ظل هذه الظروف القاسية، سيستغرق الأمر أكثر من 500 مليار سنة قبل أن تكون هناك فرصة بنسبة 1 من 4 مليارات للتخمين الدقيق "للمدخلات المحددة المطلوبة لإنشاء قيمة تجزئة الإخراج SHA-256".