مجموع التحقق

cksumأداة يونكس)مجموع التحقق هو كتلة بيانات صغيرة الحجم مُشتقة من كتلة بيانات رقمية أخرى ، وذلك بهدف الكشف عن الأخطاء التي قد تكون حدثت أثناء نقلها أو تخزينها . تُستخدم مجموعات التحقق في حد ذاتها غالبًا للتحقق من سلامة البيانات ، ولكن لا يُعتمد عليها للتحقق من صحة البيانات . [ 1 ]
تُسمى العملية التي تُنشئ مجموع التحقق هذا بدالة مجموع التحقق أو خوارزمية مجموع التحقق . وبحسب أهداف تصميمها، تُخرج خوارزمية مجموع التحقق الجيدة عادةً قيمةً مختلفةً بشكلٍ ملحوظ، حتى مع التغييرات الطفيفة التي تُجرى على المُدخلات. [ 2 ] وينطبق هذا بشكلٍ خاص على دوال التجزئة التشفيرية ، التي يُمكن استخدامها للكشف عن العديد من أخطاء تلف البيانات والتحقق من سلامة البيانات بشكلٍ عام ؛ فإذا تطابق مجموع التحقق المحسوب لمدخلات البيانات الحالية مع القيمة المخزنة لمجموع تحقق محسوب مسبقًا، فهناك احتمال كبير جدًا ألا تكون البيانات قد عُدّلت أو تَلِفت عن طريق الخطأ.
ترتبط دوال التحقق من المجموع الاختباري بدوال التجزئة ، وبصمات الأصابع ، ودوال التوزيع العشوائي ، ودوال التجزئة التشفيرية . مع ذلك، لكل مفهوم من هذه المفاهيم تطبيقات مختلفة، وبالتالي أهداف تصميمية مختلفة. على سبيل المثال، قد توفر دالة تُعيد بداية سلسلة نصية قيمة تجزئة مناسبة لبعض التطبيقات، لكنها لن تكون أبدًا قيمة تحقق مناسبة. تُستخدم قيم التحقق من المجموع الاختباري كعناصر تشفيرية أساسية في خوارزميات المصادقة الأكبر. للاطلاع على أنظمة التشفير التي تُركز على هذين الهدفين التصميميين ، يُرجى مراجعة HMAC .
تُعدّ أرقام التحقق وبتات التكافؤ حالات خاصة من مجاميع التحقق، وهي مناسبة لكتل البيانات الصغيرة (مثل أرقام الضمان الاجتماعي ، وأرقام الحسابات المصرفية ، وكلمات الحاسوب ، والبايتات المفردة ، وما إلى ذلك). وتعتمد بعض رموز تصحيح الأخطاء على مجاميع تحقق خاصة لا تقتصر وظيفتها على اكتشاف الأخطاء الشائعة فحسب، بل تسمح أيضًا باستعادة البيانات الأصلية في حالات معينة.
الخوارزميات
بايت التكافؤ أو كلمة التكافؤ
أبسط خوارزمية للتحقق من المجموع الاختباري هي ما يُسمى بفحص التكافؤ الطولي ، حيث تُقسّم البيانات إلى "كلمات" ذات عدد ثابت n من البتات، ثم تُجري عملية XOR (أو الحصرية الثنائية ) على جميع هذه الكلمات. تُضاف النتيجة إلى الرسالة ككلمة إضافية. بعبارة أبسط، عندما n = 1، يعني هذا إضافة بت إلى نهاية بتات البيانات لضمان وجود عدد زوجي من الآحاد. للتحقق من سلامة الرسالة، يُجري المُستقبِل عملية XOR (أو الحصرية الثنائية) على جميع كلماتها، بما في ذلك المجموع الاختباري؛ إذا لم تكن النتيجة كلمةً تتكون من n أصفار، يعلم المُستقبِل بحدوث خطأ في الإرسال. [ 3 ]
باستخدام هذه القيمة التحققية، سيتم اكتشاف أي خطأ في الإرسال يؤدي إلى قلب بت واحد من الرسالة، أو عدد فردي من البتات، على أنه قيمة تحققية غير صحيحة. مع ذلك، لن يتم اكتشاف الخطأ الذي يؤثر على بتين إذا كان هذان البتّان في نفس الموضع في كلمتين مختلفتين. كما لن يتم اكتشاف تبديل كلمتين أو أكثر. إذا تم اختيار البتات المتأثرة بشكل مستقل وعشوائي، فإن احتمال عدم اكتشاف خطأ مكون من بتين هو 1/ n .
مكمل المجموع
تتمثل إحدى طرق تعديل الخوارزمية السابقة في جمع جميع "الكلمات" كأعداد ثنائية غير مُوقّعة، مع تجاهل أي بتات فائضة، وإضافة المتمم الثنائي للمجموع كقيمة تحقق. وللتحقق من صحة الرسالة، يقوم المُستقبِل بجمع جميع الكلمات بنفس الطريقة، بما في ذلك قيمة التحقق؛ فإذا لم تكن النتيجة كلمة مليئة بالأصفار، فلا بد من حدوث خطأ. وتكشف هذه الطريقة أيضًا عن أي خطأ في بت واحد، ولكن يتم استخدام المجموع المعياري في معيار SAE J1708 . [ 4 ]
يعتمد على الوظيفة
تفشل طرق التحقق البسيطة المذكورة أعلاه في اكتشاف بعض الأخطاء الشائعة التي تؤثر على العديد من البتات في آنٍ واحد، مثل تغيير ترتيب كلمات البيانات، أو إدراج أو حذف كلمات تكون جميع بتاتها مضبوطة على الصفر. تعالج خوارزميات التحقق الأكثر استخدامًا في التطبيق العملي، مثل خوارزمية فليتشر للتحقق ، وخوارزمية أدلر-32 ، وفحوصات التكرار الدوري (CRC)، نقاط الضعف هذه من خلال مراعاة ليس فقط قيمة كل كلمة، بل أيضًا موقعها في التسلسل. وتؤدي هذه الميزة عمومًا إلى زيادة تكلفة حساب التحقق.
مجموع التحقق التقريبي
طُوِّرت فكرة المجموع الاختباري التقريبي للكشف عن البريد الإلكتروني العشوائي (السبام) من خلال إنشاء قواعد بيانات تعاونية من مزودي خدمة الإنترنت المتعددين، تضم رسائل البريد الإلكتروني المشتبه في كونها عشوائية. غالبًا ما يختلف محتوى هذا النوع من الرسائل في تفاصيله، مما يجعل التحقق من المجموع الاختباري التقليدي غير فعال. في المقابل، يُقلِّل "المجموع الاختباري التقريبي" نص الرسالة إلى الحد الأدنى المميز له، ثم يُولِّد مجموعًا اختباريًا بالطريقة المعتادة. هذا يزيد بشكل كبير من احتمالية أن تُنتج رسائل البريد الإلكتروني العشوائية المختلفة قليلاً نفس المجموع الاختباري. تُرسل برامج الكشف عن البريد العشوائي لمزودي خدمة الإنترنت، مثل SpamAssassin ، التابعة لمزودي الخدمة المتعاونين، مجاميع اختبارية لجميع رسائل البريد الإلكتروني إلى خدمة مركزية مثل DCC . إذا تجاوز عدد المجاميع الاختبارية التقريبية المُرسلة عتبة معينة، تُشير قاعدة البيانات إلى أن هذا يُرجَّح أن يكون بريدًا عشوائيًا. وبالمثل، يُولِّد مستخدمو خدمة مزودي خدمة الإنترنت مجموعًا اختباريًا تقريبيًا لكل رسالة بريد إلكتروني من رسائلهم، ويطلبون من الخدمة تقدير احتمالية كونها بريدًا عشوائيًا. [ 5 ]
اعتبارات عامة
يمكن اعتبار رسالة طولها m بت بمثابة ركن من أركان مكعب فائق ذي m بُعد . ويتمثل تأثير خوارزمية التحقق التي تُنتج مجموعًا تحققيًا طوله n بت في ربط كل رسالة طولها m بت بركن من أركان مكعب فائق أكبر، أبعاده m + n . وتمثل أركان هذا المكعب الفائق البالغ عددها 2m + n جميع الرسائل المُستلمة المُحتملة. أما الرسائل المُستلمة الصحيحة (التي تحمل مجموع التحقق الصحيح) فتُشكل مجموعة أصغر، تحتوي على 2m ركن فقط.
يُشير خطأ الإرسال أحادي البت إلى إزاحة الرسالة من زاوية صحيحة (الرسالة الصحيحة ومجموع التحقق) إلى إحدى الزوايا المجاورة لها (عددها m) . أما الخطأ الذي يؤثر على k بت، فينقل الرسالة إلى زاوية تبعد k خطوة عن زاويتها الصحيحة. يهدف خوارزمية مجموع التحقق الجيدة إلى توزيع الزوايا الصحيحة على أوسع نطاق ممكن، لزيادة احتمالية وقوع أخطاء الإرسال "النموذجية" في زاوية غير صحيحة.
انظر أيضاً
موضوع عام
- الخوارزمية
- رقم التحقق
- خوارزمية اللعنة
- تلف البيانات
- التحقق من الملف
- مجموع التحقق من فليتشر
- تسلسل فحص الإطار
- cksum
- مجموع MD5
- sha1sum
- الأرشيف
- المجموع (يونكس)
- مجموع التحقق SYSV
- مجموع التحقق BSD
- xxHash
تصحيح الأخطاء
دوال التجزئة
أنظمة الملفات
- أنظمة الملفات Bcachefs و Btrfs و ReFS و ZFS – أنظمة ملفات تقوم بفحص سلامة الملفات تلقائيًا باستخدام مجموعات التحقق
مفاهيم ذات صلة
مراجع
- ↑ "تعريف CHECKSUM" . قاموس ميريام-ويبستر . مؤرشف من الأصل بتاريخ 10-03-2022 . تم الاطلاع عليه بتاريخ 10-03-2022 .
- ↑ هوفمان، كريس (30 سبتمبر 2019). "ما هو مجموع التحقق (ولماذا يجب أن تهتم به)؟" . موقع How-To Geek . مؤرشف من الأصل في 9 مارس 2022. تم الاطلاع عليه في 10 مارس 2022 .
- ↑ فيرهيرست، غوري (2014). "مجموع التحقق وفحوصات السلامة" . مؤرشف من الأصل في 8 أبريل 2022. تم الاسترجاع في 11 مارس 2022 .
- ↑ "SAE J1708" . Kvaser.com. مؤرشف من الأصل بتاريخ 11 ديسمبر 2013.
- ↑ "IXhash" . أباتشي. مؤرشف من الأصل في 31 أغسطس 2020. تم الاسترجاع في 7 يناير 2020 .
للمزيد من القراءة
- كوبمان، فيليب؛ دريسكول، كيفن؛ هول، بريندان (مارس 2015). "خوارزميات رمز التكرار الدوري ومجموع التحقق لضمان سلامة البيانات الحيوية" (ملف PDF) . إدارة الطيران الفيدرالية. DOT/FAA/TC-14/49. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 18 مايو 2015.
- كوبمان، فيليب (2023). "خوارزميات مجموع التحقق من الجمع المعياري للكتل الكبيرة". arXiv : 2302.13432 [ cs.DS ].
روابط خارجية
- خوارزميات التحقق من المجموع الاختباري
