Check CRC16/32 of files & typed-strings



    Cyclic Redundancy Checksums (CRCs) are used to detect errors in the transmission and
    storage of data. Like other checksums, a mathematical algorithm is used to calculate
    a value based upon the contents of a data message. This value called checksum, is then
    transmitted or stored with the message. Upon reception of the data, the CRC is recalculated
    and compared to the checksum sent in the message. An error-free message is assumed when
    both calculated CRC checksums (at source & at destination) are matching.

    A CRC is the remainder of the division of S*xM/G where S is the bit stream (data)
    treated as a single (very long) integer, M is the size (in bits) of the CRC, and
    G is the "generator polynomial". The division is "polynomial arithmetic" done
    modulo 2 and is identical with an exclusive-or operation. The basic approach
    with a CRC is to append a checksum to a data stream so that when the data
    stream is divided by the generator polynomial, the remainder is zero.

    As CRCs are used to detect data transmission errors by comparing the transmitted checksum
    against the received value, they might be used as well to simply compare 2 file's checksums
    and see if they match. This might be a simple way to check file integrity although this
    method is far from being reliable when compared to HASH algorithms results. However, if
    files comparison based on 1 single CRC protocol is not a very reliable authentication method,
    due to the fact that forging that particular CRC is so easy, files comparison using multiple
    CRC checksums at the same time, provides a higher degree of security as it is not possible
    to forge multiple CRC protocols results at the same time.



    With 96Crypt you can check the CRC16/CRC32 of either selected files or typed-strings.

    • 1. Check CRC16/32 of selected files
          CRC file checking can be launched in two different ways:
          A. Either by launching the program normally by clicking on its icon.
          B. Or by using the file's Mouse-Right-Click plug-in.
        • A. Launching 96Crypt normally
              Start 96Crypt, select the "CRC Protocols" page, select a CRC16/CRC32 protocols
              of your choice then use the "Check CRC's" button to browse files.
              Multiple file selection is allowed with all CRC protocols.

              browsecrcfile



        • B. Using the Mouse-Right-Click
              Right click on a file or icon in your Windows Explorer or on your Desktop and select
              the  96Crypt - CRC Checker  function found under the "Send To" section.

              plugin

              This will directly open 96Crypt on the "CRC Protocols" page and will auto-position on the
              last used protocols that were saved the last time 96Crypt was closed.
              The CRC16/32 of the right clicked file will be immediately calculated and displayed.

              rightclickcrc




    • 2. Check CRC16/32 of typed-strings
          Start by selecting the CRC16/CRC32 protocols of your choice then you might either doubleclick
          on the "File Path" window as shown below,

          crcstring1

          or you might select the "Enter A String-text To Be Checked" from the Options menu.

          crcstring2

          In both cases a window field will slide down where you might type a string text to
          be checked for CRC checksums.





    96Crypt provides 5 different CRC protocols that can be used to check your selected files
    or typed-strings.

    • 1. CRC16 (BISYNCH)
          The CRC16 (BISYNCH) is a 16-bit CRC protocol, developed by IBM in the 1960s. It became popular
          in the 1970s and 1980s. The (BISYNCH) Binary Synchronous Transmission protocol was developed
          for batch communications between a System 360 computer and the IBM 2780 and 3780
          Remote Job Entry (RJE) terminals. It requires that every message be acknowledged (ACK)
          or negatively acknowledged (NACK).
          This protocol has been widely used for file integrity check in the early file compression utilities
          like Lha, PkPak, Zoo...
          The CRC16 (BISYNCH) calculation is based on polynomials x^16 + x^15 + x^2 + 1 (reversed direction).

          CRC file checker



    • 2. CRC16 (X.25-CCITT)
          The X.25-CCITT protocol is a 16-bit checksum, it was recommended in 1976 as the desired
          protocol by the International Consultative Committee for Telegraphy and Telephony (CCITT)
          called the International Telecommunication Union (ITU) since 1993. X.25-CCITT is a packet
          switched data network protocol which defines an international recommendation for the
          exchange of data as well as control information between a user device (host), called
          Data Terminal Equipment (DTE) and a network node, called Data Circuit Terminating Equipment (DCE).
          X.25-CCITT utilizes a Connection-Oriented service which insures that packets are transmitted
          in the proper order.
          The CRC (X.25-CCITT) calculation is based on polynomials x^16 + x^12 + x^5 + 1 (reversed direction).



    • 3. CRC16 (XMODEM)
          The CRC16 XMODEM is a 16-bit checksum that was developed strictly for a software
          implementation and, while it uses the same polynomial as the CCITT X.25 CRC, the
          order of the bits shifted into the register is reversed. Some refer to this as a "reflected"
          bit order. The XMODEM algorithm is much simpler to implement efficiently in micro-controllers
          where table lookups are prohibited due to size, language, or operational constraints.
          A byte-wide algorithm using the XMODEM approach has found significant popularity
          among the utility industry where cost mandates small 4-bit and 8-bit micro-controllers
          in telecommunications applications.
          The CRC (XMODEM) protocol, is copied from the Forth Scientific Library Algorithm #44,
          its calculation is based on polynomials x^16 + x^12 + x^5 + 1.



    • 4. CRC24 (MIL STD 188-184)
          The 24-bit MIL STD 188-184 CRC protocol defines a checksum routine for data-error detection in digital
          communications over ultra high frequency (UHF) and satellite communications (SATCOM) channels.
          This type of communication channels are typically identified as dedicated channels, in accordance with
          MIL-STD-188-181. This fast and reliable CRC protocol provides the most secure error-free data transfer.
          The CRC24 MIL-STD-188-184 protocol calculation is based on the following polynomials expression
          x^24 + x^23 + x^18 + x^17 + x^14 + x^11 + x^10 + x^7 + x^6 + x^5 + x^4 + x^3 + x + 1.



    • 5. CRC32 (AUTODIN II)
          The AUTODIN (Automatic Digital Network) was originally developed in the mid-1960s and provided
          Message Switching functions for the US military. AUTODIN handled military record communications
          and communications support for special intelligence communities. A newer system was planned to
          replace AUTODIN. Called AUTODIN II, this network was packet-based, with trunk circuits employing
          ADCCP (Advanced Data Communications Control Protocol) at Layer 2. Testing of the new network was
          started in 1981 at a few of the US AUTODIN Switching Centers.
          The 32-bit Ethernet AUTODIN II CRC protocol provides a highly secured data transfer error detection.
          The CRC32 (AUTODIN II) protocol calculation is based on the following polynomials expression
          x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1.
          This protocol is widely used for file integrity check in most recent windows file compression
          utilities like Arj, Lha32, Rar, Zip...






    The CRC16/CRC32 protocols implemented in 96Crypt are listed below:

Protocol Name
Rendered Checksum length
Implemented in file compression utility
CRC16 (BISYNCH)
16-bit
Lha, PkPak, Zoo...
CRC16 (X.25-CCITT)
16-bit
N/A
CRC16 (XMODEM)
16-bit
N/A
CRC24 (MIL STD 188-184)
24-bit
N/A
CRC32 (AUTODIN II)
32-bit
Arj, Lha32, Rar, Zip...








    Note 1:
    Opening 96Crypt on "CRC Protocols" page, will auto-select the last CRC16/CRC32
    protocols that were saved the last time 96Crypt was closed.








Alter/Forge CRC16/CRC32 of files


Copyright 2002 - © eRightSoft