Knowledge

Checksum

Source đź“ť

25: 122: 289:
With this checksum, any transmission error which flips a single bit of the message, or an odd number of bits, will be detected as an incorrect checksum. However, an error that affects two bits will not be detected if those bits lie at the same position in two distinct words. Also swapping of two or
351:
by building up cooperative databases from multiple ISPs of email suspected to be spam. The content of such spam may often vary in its details, which would render normal checksumming ineffective. By contrast, a "fuzzy checksum" reduces the body text to its characteristic minimum, then generates a
309:
of the total as the checksum. To validate a message, the receiver adds all the words in the same manner, including the checksum; if the result is not a word full of zeros, an error must have occurred. This variant, too, detects any single-bit error, but the pro modular sum is used in
280:=1 this means adding a bit to the end of the data bits to guarantee that there is an even number of '1's. To check the integrity of a message, the receiver computes the bitwise exclusive or of all its words, including the checksum; if the result is not a word consisting of 209:. However, each of those concepts has different applications and therefore different design goals. For instance, a function returning the start of a string can provide a hash appropriate for some applications but will never be a suitable checksum. Checksums are used as 322:
The simple checksums described above fail to detect some common errors which affect many bits at once, such as changing the order of data words, or inserting or deleting words with all bits set to zero. The checksum algorithms most used in practice, such as
360:. If the count of a submitted fuzzy checksum exceeds a certain threshold, the database notes that this probably indicates spam. ISP service users similarly generate a fuzzy checksum on each of their emails and request the service for a spam likelihood. 435:
steps removed from its correct corner. The goal of a good checksum algorithm is to spread the valid corners as far from each other as possible, to increase the likelihood "typical" transmission errors will end up in an invalid corner.
190:; if the computed checksum for the current data input matches the stored value of a previously computed checksum, there is a very high probability the data has not been accidentally altered or corrupted. 182:. Depending on its design goals, a good checksum algorithm usually outputs a significantly different value, even for small changes made to the input. This is especially true of 352:
checksum in the usual manner. This greatly increases the chances of slightly different spam emails producing the same checksum. The ISP spam detection software, such as
410:
corners of this hypercube represent all possible received messages. The valid received messages (those that have the correct checksum) comprise a smaller set, with only
335:(CRCs), address these weaknesses by considering not only the value of each word but also its position in the sequence. This feature generally increases the 667: 715: 809: 290:
more words will not be detected. If the affected bits are independently chosen at random, the probability of a two-bit error being undetected is
737: 417:
A single-bit transmission error then corresponds to a displacement from a valid corner (the correct message and checksum) to one of the
305:
A variant of the previous algorithm is to add all the "words" as unsigned binary numbers, discarding any overflow bits, and append the
693: 247:
are based on special checksums which not only detect common errors but also allow the original data to be recovered in certain cases.
771: 637: 214: 357: 89: 537: 108: 61: 68: 659: 46: 719: 261: 846: 75: 274:(XOR) of all those words. The result is appended to the message as an extra word. In simpler terms, for 213:
in larger authentication algorithms. For cryptographic systems with these two specific design goals, see
206: 183: 57: 42: 803: 733: 332: 210: 198: 35: 554: 475: 336: 324: 228: 202: 244: 689: 542: 480: 356:, of co-operating ISPs, submits checksums of all emails to the centralised service such as 140: 8: 821: 764: 306: 817: 783: 574: 152: 629: 82: 589: â€“ a file system that performs automatic file integrity checking using checksums 470: 164: 569: 236: 156: 765:"Cyclic Redundancy Code and Checksum Algorithms to Ensure Critical Data Integrity" 148: 813: 826: 559: 460: 187: 160: 227:
are special cases of checksums, appropriate for small blocks of data (such as
840: 510: 194: 186:, which may be used to detect many data corruption errors and verify overall 831: 782:
Koopman, Philip (2023). "Large-Block Modular Addition Checksum Algorithms".
532: 515: 353: 271: 232: 144: 609: 455: 220: 832:
Open source python based application with GUI used to verify downloads.
564: 505: 348: 224: 599: 450: 381: 171: 24: 788: 604: 500: 465: 328: 495: 520: 490: 396:-bit message to a corner of a larger hypercube, with dimension 763:
Koopman, Philip; Driscoll, Kevin; Hall, Brendan (March 2015).
485: 311: 127: 240: 121: 347:
The idea of fuzzy checksum was developed for detection of
586: 286:
zeros, the receiver knows a transmission error occurred.
264:, which breaks the data into "words" with a fixed number 770:. Federal Aviation Administration. DOT/FAA/TC-14/49. 159:. By themselves, checksums are often used to verify 384:. The effect of a checksum algorithm that yields an 762: 49:. Unsourced material may be challenged and removed. 260:The simplest checksum algorithm is the so-called 838: 810:Practical Application of Cryptographic Checksums 660:"What Is a Checksum (and Why Should You Care)?" 125:Effect of a typical checksum function (the Unix 255: 429:bits moves the message to a corner which is 374:bits long can be viewed as a corner of the 423:adjacent corners. An error which affects 174:which generates this checksum is called a 787: 687: 363: 151:that may have been introduced during its 109:Learn how and when to remove this message 120: 16:Data used to detect errors in other data 781: 657: 270:of bits, and then computes the bitwise 839: 143:of data derived from another block of 317: 658:Hoffman, Chris (30 September 2019). 47:adding citations to reliable sources 18: 740:from the original on 31 August 2020 13: 756: 696:from the original on April 8, 2022 690:"Checksums & Integrity Checks" 193:Checksum functions are related to 163:but are not relied upon to verify 14: 858: 797: 342: 300: 777:from the original on 2015-05-18. 23: 670:from the original on 2022-03-09 640:from the original on 2022-03-10 34:needs additional citations for 726: 708: 681: 651: 622: 1: 615: 538:Reed–Solomon error correction 390:-bit checksum is to map each 250: 718:. Kvaser.com. Archived from 207:cryptographic hash functions 184:cryptographic hash functions 7: 439: 339:of computing the checksum. 10: 863: 256:Parity byte or parity word 688:Fairhurst, Gorry (2014). 262:longitudinal parity check 630:"Definition of CHECKSUM" 333:cyclic redundancy checks 211:cryptographic primitives 229:Social Security numbers 203:randomization functions 806:theory from Barr Group 804:Additive Checksums (C) 555:List of hash functions 364:General considerations 245:error-correcting codes 132: 124: 822:US-Letter two-column 722:on 11 December 2013. 543:IPv4 header checksum 481:Frame check sequence 43:improve this article 847:Checksum algorithms 827:Checksum Calculator 476:Fletcher's checksum 325:Fletcher's checksum 147:for the purpose of 575:Verhoeff algorithm 368:A message that is 318:Position-dependent 180:checksum algorithm 133: 471:File verification 176:checksum function 165:data authenticity 139:is a small-sized 119: 118: 111: 93: 854: 793: 791: 778: 776: 769: 750: 749: 747: 745: 730: 724: 723: 712: 706: 705: 703: 701: 685: 679: 678: 676: 675: 655: 649: 648: 646: 645: 626: 594:Related concepts 570:Rolling checksum 527:Error correction 434: 428: 422: 413: 409: 405: 395: 389: 379: 373: 307:two's complement 296: 285: 279: 269: 149:detecting errors 130: 114: 107: 103: 100: 94: 92: 51: 27: 19: 862: 861: 857: 856: 855: 853: 852: 851: 837: 836: 800: 774: 767: 759: 757:Further reading 754: 753: 743: 741: 732: 731: 727: 714: 713: 709: 699: 697: 686: 682: 673: 671: 656: 652: 643: 641: 634:Merriam-Webster 628: 627: 623: 618: 442: 430: 424: 418: 411: 407: 397: 391: 385: 375: 369: 366: 345: 320: 303: 291: 281: 275: 265: 258: 253: 243:, etc.). Some 126: 115: 104: 98: 95: 52: 50: 40: 28: 17: 12: 11: 5: 860: 850: 849: 835: 834: 829: 824: 807: 799: 798:External links 796: 795: 794: 779: 758: 755: 752: 751: 725: 707: 680: 650: 620: 619: 617: 614: 613: 612: 607: 602: 591: 590: 578: 577: 572: 567: 562: 560:Luhn algorithm 557: 549:Hash functions 546: 545: 540: 535: 524: 523: 518: 513: 508: 503: 498: 493: 488: 483: 478: 473: 468: 463: 461:Damm algorithm 458: 453: 441: 438: 365: 362: 344: 343:Fuzzy checksum 341: 319: 316: 302: 301:Sum complement 299: 257: 254: 252: 249: 237:computer words 195:hash functions 188:data integrity 161:data integrity 117: 116: 31: 29: 22: 15: 9: 6: 4: 3: 2: 859: 848: 845: 844: 842: 833: 830: 828: 825: 823: 819: 815: 811: 808: 805: 802: 801: 790: 785: 780: 773: 766: 761: 760: 739: 735: 729: 721: 717: 711: 695: 691: 684: 669: 665: 661: 654: 639: 635: 631: 625: 621: 611: 608: 606: 603: 601: 598: 597: 596: 595: 588: 585: 584: 583: 582: 576: 573: 571: 568: 566: 563: 561: 558: 556: 553: 552: 551: 550: 544: 541: 539: 536: 534: 531: 530: 529: 528: 522: 519: 517: 514: 512: 511:SYSV checksum 509: 507: 504: 502: 499: 497: 494: 492: 489: 487: 484: 482: 479: 477: 474: 472: 469: 467: 464: 462: 459: 457: 454: 452: 449: 448: 447: 446: 445:General topic 437: 433: 427: 421: 415: 404: 400: 394: 388: 383: 380:-dimensional 378: 372: 361: 359: 355: 350: 340: 338: 334: 330: 326: 315: 313: 308: 298: 295: 287: 284: 278: 273: 268: 263: 248: 246: 242: 238: 234: 230: 226: 222: 218: 216: 212: 208: 204: 200: 196: 191: 189: 185: 181: 177: 173: 168: 166: 162: 158: 154: 150: 146: 142: 138: 129: 123: 113: 110: 102: 91: 88: 84: 81: 77: 74: 70: 67: 63: 60: â€“  59: 55: 54:Find sources: 48: 44: 38: 37: 32:This article 30: 26: 21: 20: 742:. Retrieved 728: 720:the original 710: 698:. Retrieved 683: 672:. Retrieved 663: 653: 642:. Retrieved 633: 624: 593: 592: 581:File systems 580: 579: 548: 547: 533:Hamming code 526: 525: 516:BSD checksum 444: 443: 431: 425: 419: 416: 402: 398: 392: 386: 376: 370: 367: 354:SpamAssassin 346: 321: 304: 293: 288: 282: 276: 272:exclusive or 266: 259: 233:bank account 221:Check digits 219: 199:fingerprints 192: 179: 175: 169: 153:transmission 145:digital data 136: 134: 105: 99:January 2024 96: 86: 79: 72: 65: 53: 41:Please help 36:verification 33: 716:"SAE J1708" 664:How-To Geek 610:File fixity 456:Check digit 225:parity bits 789:2302.13432 736:. Apache. 674:2022-03-10 644:2022-03-10 616:References 565:Parity bit 506:Sum (Unix) 349:email spam 251:Algorithms 69:newspapers 58:"Checksum" 818:US-Letter 744:7 January 700:March 11, 600:Isopsephy 451:Algorithm 414:corners. 382:hypercube 312:SAE J1708 239:, single 235:numbers, 172:procedure 841:Category 772:Archived 738:Archived 734:"IXhash" 694:Archived 668:Archived 638:Archived 605:Gematria 501:Parchive 466:Data rot 440:See also 329:Adler-32 137:checksum 131:utility) 496:sha1sum 157:storage 83:scholar 521:xxHash 491:md5sum 406:. The 331:, and 205:, and 85:  78:  71:  64:  56:  784:arXiv 775:(PDF) 768:(PDF) 486:cksum 241:bytes 141:block 128:cksum 90:JSTOR 76:books 746:2020 702:2022 337:cost 223:and 215:HMAC 170:The 62:news 587:ZFS 358:DCC 178:or 155:or 45:by 843:: 814:A4 692:. 666:. 662:. 636:. 632:. 401:+ 327:, 314:. 297:. 292:1/ 231:, 217:. 201:, 197:, 167:. 135:A 820:* 816:* 812:* 792:. 786:: 748:. 704:. 677:. 647:. 432:k 426:k 420:m 412:2 408:2 403:n 399:m 393:m 387:n 377:m 371:m 294:n 283:n 277:n 267:n 112:) 106:( 101:) 97:( 87:· 80:· 73:· 66:· 39:.

Index


verification
improve this article
adding citations to reliable sources
"Checksum"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message

cksum
block
digital data
detecting errors
transmission
storage
data integrity
data authenticity
procedure
cryptographic hash functions
data integrity
hash functions
fingerprints
randomization functions
cryptographic hash functions
cryptographic primitives
HMAC
Check digits

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑