Bosh sahifa Wiki Checksum

Checksum

Checksum — ma’lumot blokidan hisoblanadigan ixcham qiymat bo‘lib, nusxa yoki uzatish jarayonida tasodifiy o‘zgarish yuz berganini aniqlashga xizmat qiladi. Yuboruvchi ma’lumot uchun checksum hisoblaydi, qabul qiluvchi ayni algoritmni qayta bajarib natijalarni solishtiradi. Tenglik ma’lumot katta ehtimol bilan o‘zgarmaganini ko‘rsatadi, ammo checksum algoritmi va tahdid modeliga qarab bu kriptografik haqiqiylikni isbotlamasligi mumkin.

Oddiy algoritmlar

Eng sodda checksum byte yoki so‘zlarni ma’lum modul bo‘yicha qo‘shishi mumkin. Bunday qiymat ayrim bit xatolarini topadi, lekin baytlar joyi almashishi yoki bir o‘zgarish boshqasi bilan kompensatsiyalanishi mumkin. Internet checksum 16 bitlik so‘zlarning one’s-complement yig‘indisiga asoslanadi va IP, TCP hamda UDP protokollarida meros xato aniqlash vazifasini bajaradi.

CRC — cyclic redundancy check — ma’lumot bitlarini GF(2) polinomi sifatida ko‘rib, generator polinomiga bo‘lish qoldig‘ini oladi. To‘g‘ri tanlangan CRC burst errorlarni va ma’lum uzunlikdagi ko‘p bit xatolarini samarali aniqlaydi. Ethernet frame’dagi FCS CRC-32ga asoslanadi. CRCning “32 bit” bo‘lishi uni SHA-256ga o‘xshash kriptografik hash qilmaydi; uning chiziqli tuzilishi ataylab o‘zgartirilgan xabar uchun yangi qiymat hisoblashni oson qiladi.

Fayl tekshiruvi

Fayl distributsiyasida SHA-256 kabi hash ham ko‘pincha checksum deb ataladi. Yuklangan fayl uchun hashni e’lon qilingan qiymat bilan solishtirish transport buzilishi yoki noto‘g‘ri faylni aniqlaydi. Agar tajovuzkor fayl va veb-sahifadagi hashni birga almashtira olsa, tekshiruv uni to‘xtatmaydi. Kriptografik autentiklik uchun hash ishonchli boshqa kanal orqali olinishi yoki raqamli signature bilan imzolanishi kerak.

sha256sum archive.zip

Hash nomi va encoding aniq ko‘rsatiladi. Hexadecimal harf katta-kichikligi qiymatga ta’sir qilmasa ham, fayldagi whitespace va satr tugashi byte darajasida boshqa hash beradi. Tekshiruv fayl ochilib qayta saqlanishidan oldin asl byte’lar ustida bajariladi.

Protokoldagi qamrov

Checksum qaysi maydonlarni qamrab olishi protokolning muhim qismidir. TCP checksum segment bilan birga IP manzillar va protokol raqamini pseudo-header orqali hisobga oladi. Ayrim apparat NIC checksum offload bajargani sabab packet capture yuborishdan oldin noto‘g‘ri checksum ko‘rsatishi mumkin; bu tarmoqdagi real buzilish emas, hisoblash keyin apparatda bajarilishidan keladi.

Ma’lumot saqlash tizimlari blok checksumini metadata bilan saqlab, o‘qishda silent corruptionni aniqlashi mumkin. Faqat bitta nusxa bo‘lsa, checksum buzilishni ko‘rsatadi, lekin to‘g‘ri byte’larni tiklamaydi. Replikatsiya, erasure coding yoki backup sog‘lom nusxadan qayta tiklash imkonini beradi. Checksum metadata’sining o‘zi ham himoyalanishi va versiyalanishi kerak.

Collision va tanlov

Cheklangan uzunlik sababli turli ma’lumotlar bir xil checksum berishi muqarrar. Tasodifiy xato uchun collision ehtimoli 32 bitlik qiymatda kichik bo‘lishi mumkin, ammo zararli tomon algoritm zaifligidan foydalanib collisionni ataylab yaratadi. Tarmoqdagi tasodifiy bit xatolari uchun CRC, hujumchiga qarshi yaxlitlik uchun HMAC yoki raqamli imzo tanlanadi.

Checksum muvaffaqiyatli chiqsa ham ma’lumot semantik jihatdan to‘g‘ri degani emas: noto‘g‘ri, lekin butun faylning qiymati ham mos keladi. Format validation, schema, versiya va biznes qoidalari alohida tekshiriladi. Shu bois checksum transport va saqlash yaxlitligining bitta qatlamidir.

End-to-end tekshiruv

Har tarmoq qatlamidagi checksum lokal uzatish xatosini topishi mumkin, ammo ma’lumot noto‘g‘ri manbadan shakllangan bo‘lsa, keyingi qatlam yangi checksumni to‘g‘ri hisoblaydi. End-to-end integrity qiymati ma’lumot yaratilgan nuqtadan iste’mol qilingan nuqtagacha bir xil obyektni kuzatadi. Chunklangan saqlashda har bo‘lakning hashi va butun obyekt manifesti tekshirilsa, qaysi qism buzilgani aniqlanadi va faqat o‘sha bo‘lak qayta olinadi.

Bog‘liq tushunchalar

CRC, Hash function, Data integrity, SHA-256, Digital signature, Error detection, File corruption