24 / 736HASH

Hash

بصمة تشفيرية

بصمة رقمية قصيرة تساعد على مقارنة البيانات واكتشاف تغيّرها.

الـhash نتيجة حساب يُجرى على بيانات، مثل ملف أو معاملة Bitcoin. تعطي البيانات نفسها بالطريقة نفسها البصمة نفسها. تُصمم دالة التجزئة التشفيرية لتجعل من الصعب العثور على بيانات أخرى لها النتيجة ذاتها، أو مدخل يناسب نتيجة محددة. البصمة ليست نسخة مشفرة من البيانات الأصلية.

تنزّل ملف تثبيت نشر موزّعه بصمة للتحقق منه، فتحسب بصمة نسختك بالخوارزمية نفسها. إذا اختلفتا، فالبيانات ليست متطابقة: ربما تلف الملف أو استُبدل أو عُدّل. أما التطابق مع بصمة موثوقة فيعطي اطمئنانًا قويًا بأن لديك النسخة الصحيحة، من دون مقارنة الملف كاملًا يدويًا. مثلًا، تنتج SHA-256 قيمة بطول 256 بت تُكتب عادة في 64 رمزًا ست عشريًا، سواء كانت البيانات رسالة قصيرة أو ملفًا كبيرًا. [1] [3]

المهم هو مصدر البصمة المرجعية. إذا استبدل مهاجم الملف وبصمته المنشورة على الموقع معًا، فستتطابق القيمتان. حساب hash لا يحتاج إلى مفتاح سري؛ يستطيع أي شخص حسابه لبيانات عامة. لذلك يختلف عن التوقيع الرقمي الذي يشهد به صاحب المفتاح على بيانات. عند التحقق من Bitcoin Core، تُفحص بصمة الملف، وكذلك التواقيع على قائمة البصمات وموثوقية مفاتيح الموقّعين. البصمة وحدها لا تثبت هوية المؤلف أو سلامة البرنامج أو صدق محتوى مستند. [3]

لا توجد في التجزئة خطوة عكسية اسمها «فك التشفير». فالنتيجة ذات الطول الثابت لا تحمل الملف كاملًا، ولذلك ليست وسيلة نسخ احتياطي. لكن هذا لا يعني أن البصمة تخفي أي مدخل بأمان. إذا حُسبت بصمة كلمة مرور قصيرة وشائعة، يستطيع المهاجم تجربة كلمات مرور محتملة ومقارنة بصماتها. لا يحتاج إلى عكس الدالة؛ يكفي تخمين المدخل. لذلك لا تغني دالة hash سريعة وحدها عن كلمة مرور قوية أو طريقة مخصصة لتخزين كلمات المرور بأمان. [1] [5]

في البحث عن preimage تكون البصمة محددة، ويكون المطلوب إيجاد بيانات تنتجها. أما عند البحث عن تصادم، فيكفي إيجاد أي مدخلين مختلفين لهما البصمة نفسها. التصادمات موجودة رياضيًا لأن المدخلات الممكنة أكثر من النتائج ذات الطول الثابت. يكمن الأمان التشفيري هنا في صعوبة العثور على هذه الحالات عمليًا، لا في استحالتها. كما أن «hash» ليس اسم خوارزمية واحدة؛ وليست كل دالة تجزئة مصممة للأمان التشفيري. [1]

يستخدم Bitcoin البصمات لتعريف المعاملات وربط الكتل والتحقق من عمل التعدين، لكن وصفة الحساب تختلف. تُحسب بصمة ترويسة الكتلة باستخدام SHA-256 مرتين؛ أما HASH160 فيجمع SHA-256 مع RIPEMD-160. ويستخدم tagged hash وسمًا إضافيًا للفصل بين أغراض الحساب. للتحقق بنفسك تحتاج إلى الخوارزمية الصحيحة وإلى بايتات المدخل الدقيقة، أي وحدات البيانات الأساسية. يتكوّن النص «61» من بايتات تختلف عن البايت الواحد ذي القيمة الست عشرية 61، الذي يمثل الحرف a في ASCII. لذلك فإن حساب بصمة الكتابة المعروضة بدلًا من البيانات نفسها هو حساب مختلف. [2] [4]

للحصول على صورة أوضح، اقرأ هذا المدخل مع SHA-256, Proof of Work, Block Header, معاملة, Merkle Tree, Bitcoin. تشير إلى هذا المدخل أيضًا SHA-256, Nonce, HTLC, Hashcash.

DOC · 001NIST FIPS 180-4: Secure Hash Standardمصدر أولي DOC · 002Bitcoin Core v29.0: hash constructionsمصدر أولي DOC · 003Bitcoin Core: Verify your downloadمصدر أولي DOC · 004BIP340: tagged hashesمصدر أولي DOC · 005NIST SP800-63B: Password verifiersمصدر أولي
تمت المراجعة: المصادر أولًا · ليست نصيحة استثمارية