المجموع الاختباري
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( يناير 2024 ) |

cksumأداة يونكس)المجموع الاختباري هو كتلة صغيرة الحجم من البيانات مشتقة من كتلة أخرى من البيانات الرقمية لغرض اكتشاف الأخطاء التي ربما حدثت أثناء نقلها أو تخزينها . غالبًا ما تُستخدم المجموعات الاختبارية بمفردها للتحقق من سلامة البيانات ولكن لا يتم الاعتماد عليها للتحقق من صحة البيانات . [1]
الإجراء الذي يولد هذا المجموع الاختباري يسمى دالة المجموع الاختباري أو خوارزمية المجموع الاختباري . اعتمادًا على أهداف تصميمها، عادةً ما تنتج خوارزمية المجموع الاختباري الجيدة قيمة مختلفة بشكل كبير، حتى للتغييرات الصغيرة التي تم إجراؤها على الإدخال. [ 2] وهذا ينطبق بشكل خاص على وظائف التجزئة التشفيرية ، والتي يمكن استخدامها للكشف عن العديد من أخطاء تلف البيانات والتحقق من سلامة البيانات بشكل عام ؛ إذا كان المجموع الاختباري المحسوب لإدخال البيانات الحالي يتطابق مع القيمة المخزنة لمجموع اختباري محسوب مسبقًا، فهناك احتمال كبير جدًا أن البيانات لم يتم تغييرها أو إتلافها عن طريق الخطأ.
ترتبط وظائف المجموع الاختباري بوظائف التجزئة وبصمات الأصابع ووظائف التوزيع العشوائي ووظائف التجزئة التشفيرية . ومع ذلك، فإن كل من هذه المفاهيم لها تطبيقات مختلفة وبالتالي أهداف تصميم مختلفة. على سبيل المثال، يمكن للدالة التي تعيد بداية سلسلة أن توفر تجزئة مناسبة لبعض التطبيقات ولكنها لن تكون مجموع اختباري مناسبًا أبدًا. تُستخدم مجموعات الاختبار كبدائيات تشفيرية في خوارزميات المصادقة الأكبر. بالنسبة للأنظمة التشفيرية التي لها هدفان تصميميان محددان [ يُطلب التوضيح ] ، راجع HMAC .
أرقام التحقق وبتات التكافؤ هي حالات خاصة من مجموعات التحقق، وهي مناسبة للكتل الصغيرة من البيانات (مثل أرقام الضمان الاجتماعي وأرقام الحسابات المصرفية وكلمات الكمبيوتر والبايتات الفردية وما إلى ذلك). تعتمد بعض أكواد تصحيح الأخطاء على مجموعات تحقق خاصة لا تكتشف الأخطاء الشائعة فحسب، بل تسمح أيضًا باستعادة البيانات الأصلية في حالات معينة.
الخوارزميات
بايت التكافؤ أو كلمة التكافؤ
أبسط خوارزمية للتحقق من المجموع هي ما يسمى بالتحقق من التكافؤ الطولي ، والذي يقسم البيانات إلى "كلمات" بعدد ثابت من البتات n ، ثم يحسب البتات الحصرية أو (XOR) لجميع هذه الكلمات. يتم إلحاق النتيجة بالرسالة ككلمة إضافية. بعبارات أبسط، بالنسبة إلى n = 1، يعني هذا إضافة بت إلى نهاية بتات البيانات لضمان وجود عدد زوجي من "1". للتحقق من سلامة الرسالة، يحسب المستقبل البتات الحصرية أو لجميع كلماتها، بما في ذلك المجموع الاختباري؛ إذا لم تكن النتيجة كلمة تتكون من n صفر، يعرف المستقبل حدوث خطأ في الإرسال. [3]
باستخدام هذا المجموع الاختباري، سيتم اكتشاف أي خطأ في الإرسال يؤدي إلى قلب بت واحد من الرسالة، أو عدد فردي من البتات، على أنه مجموع اختباري غير صحيح. ومع ذلك، لن يتم اكتشاف الخطأ الذي يؤثر على بتين إذا كانت هذه البتات تقع في نفس الموضع في كلمتين مختلفتين. كما لن يتم اكتشاف تبديل كلمتين أو أكثر. إذا تم اختيار البتات المتأثرة بشكل مستقل عشوائيًا، فإن احتمال عدم اكتشاف خطأ مكون من بتين هو 1/ n .
مجموع المكمل
أحد أشكال الخوارزمية السابقة هو إضافة جميع "الكلمات" كأرقام ثنائية غير موقعة، وتجاهل أي بتات زائدة، وإضافة المكمل الثاني للإجمالي كمجموع اختباري. للتحقق من صحة الرسالة، يضيف المستقبل جميع الكلمات بنفس الطريقة، بما في ذلك المجموع الاختباري؛ إذا لم تكن النتيجة كلمة مليئة بالأصفار، فلا بد أن يكون قد حدث خطأ. يكتشف هذا المتغير أيضًا أي خطأ بت واحد، ولكن يتم استخدام المجموع المعياري الاحترافي في SAE J1708 . [4]
يعتمد على الموقع
تفشل مجموعات الاختبار البسيطة الموضحة أعلاه في اكتشاف بعض الأخطاء الشائعة التي تؤثر على العديد من البتات في وقت واحد، مثل تغيير ترتيب كلمات البيانات، أو إدراج أو حذف الكلمات مع ضبط جميع البتات على الصفر. تعالج خوارزميات مجموع الاختبار الأكثر استخدامًا في الممارسة العملية، مثل مجموع اختبار فليتشر ، وأدلر-32 ، وفحوصات التكرار الدوري (CRCs)، هذه نقاط الضعف من خلال النظر ليس فقط في قيمة كل كلمة ولكن أيضًا في موضعها في التسلسل. تزيد هذه الميزة عمومًا من تكلفة حساب مجموع الاختبار.
مجموع اختباري غامض
تم تطوير فكرة المجموع الاختباري الضبابي للكشف عن رسائل البريد الإلكتروني العشوائية من خلال بناء قواعد بيانات تعاونية من مقدمي خدمات الإنترنت المتعددين للبريد الإلكتروني المشتبه في أنه بريد عشوائي. قد يختلف محتوى مثل هذا البريد العشوائي غالبًا في تفاصيله، مما يجعل المجموع الاختباري العادي غير فعال. على النقيض من ذلك، يقلل "المجموع الاختباري الضبابي" من نص الجسم إلى الحد الأدنى المميز له، ثم يولد مجموع اختباري بالطريقة المعتادة. يزيد هذا بشكل كبير من فرص إنتاج رسائل بريد إلكتروني عشوائية مختلفة قليلاً لنفس المجموع الاختباري. يرسل برنامج اكتشاف البريد العشوائي الخاص بمقدمي خدمات الإنترنت، مثل SpamAssassin ، لمقدمي خدمات الإنترنت المتعاونين، مجموعات اختبارية لجميع رسائل البريد الإلكتروني إلى الخدمة المركزية مثل DCC . إذا تجاوز عدد المجموع الاختباري الضبابي المرسل حدًا معينًا، تلاحظ قاعدة البيانات أن هذا يشير على الأرجح إلى البريد العشوائي. وبالمثل، يقوم مستخدمو خدمات مقدمي خدمات الإنترنت بإنشاء مجموع اختباري ضبابي لكل من رسائل البريد الإلكتروني الخاصة بهم ويطلبون من الخدمة احتمالية البريد العشوائي. [5]
اعتبارات عامة
يمكن اعتبار الرسالة التي يبلغ طولها m بت بمثابة ركن من مكعب فائق الأبعاد m . ويتمثل تأثير خوارزمية المجموع الاختباري التي تنتج مجموع اختباري يبلغ n بت في تعيين كل رسالة يبلغ طولها m بت إلى ركن من مكعب فائق أكبر، بأبعاد m + n . وتمثل زاويتا m + n من هذا المكعب الفائق جميع الرسائل المستلمة المحتملة. وتتكون الرسائل المستلمة الصالحة (تلك التي تحتوي على المجموع الاختباري الصحيح) من مجموعة أصغر، بها زاويتان فقط يبلغ طولهما m .
إن خطأ الإرسال أحادي البت يتوافق مع الإزاحة من زاوية صالحة (الرسالة الصحيحة ومجموع الاختبار) إلى واحدة من الزوايا المجاورة. إن الخطأ الذي يؤثر على k بت يحرك الرسالة إلى زاوية تبعد k خطوة عن زاويتها الصحيحة. إن الهدف من خوارزمية مجموع الاختبار الجيدة هو نشر الزوايا الصالحة بعيدًا عن بعضها البعض قدر الإمكان، لزيادة احتمالية أن تنتهي أخطاء الإرسال "النموذجية" إلى زاوية غير صالحة.
انظر أيضا
موضوع عام
- خوارزمية
- رقم التحقق
- خوارزمية دام
- تعفن البيانات
- التحقق من الملف
- مجموع فليتشر الاختباري
- تسلسل فحص الإطار
- كسوم
- md5sum
- شا1سوم
- أرشيف
- المجموع (يونكس)
- مجموع اختبار SYSV
- مجموع التحقق من صحة BSD
- إكس إكس هاش
تصحيح الخطأ
وظائف التجزئة
أنظمة الملفات
- ZFS – نظام ملفات يقوم بالتحقق التلقائي من سلامة الملفات باستخدام مبالغ الاختبار
المفاهيم ذات الصلة
مراجع
- ^ "تعريف CHECKSUM". Merriam-Webster . مؤرشف من الأصل في 2022-03-10 . تم الاسترجاع 2022-03-10 .
- ^ هوفمان، كريس (30 سبتمبر 2019). "ما هو المجموع الاختباري (ولماذا يجب أن تهتم به)؟". How-To Geek . مؤرشف من الأصل في 2022-03-09 . تم الاسترجاع 2022-03-10 .
- ^ Fairhurst, Gorry (2014). "Checksums & Integrity Checks". مؤرشف من الأصل في 8 أبريل 2022. تم الاسترجاع في 11 مارس 2022 .
- ^ "SAE J1708". Kvaser.com. مؤرشف من الأصل في 11 ديسمبر 2013.
- ^ "IXhash". Apache. مؤرشف من الأصل في 31 أغسطس 2020. تم الاسترجاع 7 يناير 2020 .
قراءة إضافية
- كوبمان، فيليب؛ دريسكول، كيفن؛ هول، بريندان (مارس 2015). "خوارزميات الكود والمجموع الاختباري الدوري لضمان سلامة البيانات الحرجة" (PDF) . إدارة الطيران الفيدرالية. DOT/FAA/TC-14/49. مؤرشف (PDF) من الأصل في 2015-05-18.
- كوبمان، فيليب (2023). "خوارزميات مجموع التحقق الإضافي المعياري للكتل الكبيرة". arXiv : 2302.13432 [cs.DS].
روابط خارجية
- نظرية مجموع الاختبار الإضافي (C) من Barr Group
- تطبيق عملي لمجموعات التحقق التشفيرية *A4 *حرف أمريكي *حرف أمريكي مكون من عمودين
- حاسبة المجموع الاختباري
- تطبيق مفتوح المصدر يعتمد على بايثون مع واجهة مستخدم رسومية تستخدم للتحقق من التنزيلات.
