Skip to main content
CRC Calc

CRC-64 / GO-ISO

Width64-bitRefInYesRefOutYes

Need custom parameters? Open in full calculator

Standard test string

Result

0xB90956C775A41001

Similar CRC Algorithms

Result is calculated from the current input. Check is the published verification value for the standard input 123456789. Click another algorithm to view its detail page.

CRC Lookup Table

0x00000000000000000x01B00000000000000x03600000000000000x02D00000000000000x06C00000000000000x07700000000000000x05A00000000000000x04100000000000000x0D800000000000000x0C300000000000000x0EE00000000000000x0F500000000000000x0B400000000000000x0AF00000000000000x08200000000000000x0990000000000000
0x1B000000000000000x1AB00000000000000x18600000000000000x19D00000000000000x1DC00000000000000x1C700000000000000x1EA00000000000000x1F100000000000000x16800000000000000x17300000000000000x15E00000000000000x14500000000000000x10400000000000000x11F00000000000000x13200000000000000x1290000000000000
0x36000000000000000x37B00000000000000x35600000000000000x34D00000000000000x30C00000000000000x31700000000000000x33A00000000000000x32100000000000000x3B800000000000000x3A300000000000000x38E00000000000000x39500000000000000x3D400000000000000x3CF00000000000000x3E200000000000000x3F90000000000000
0x2D000000000000000x2CB00000000000000x2E600000000000000x2FD00000000000000x2BC00000000000000x2A700000000000000x28A00000000000000x29100000000000000x20800000000000000x21300000000000000x23E00000000000000x22500000000000000x26400000000000000x27F00000000000000x25200000000000000x2490000000000000
0x6C000000000000000x6DB00000000000000x6F600000000000000x6ED00000000000000x6AC00000000000000x6B700000000000000x69A00000000000000x68100000000000000x61800000000000000x60300000000000000x62E00000000000000x63500000000000000x67400000000000000x66F00000000000000x64200000000000000x6590000000000000
0x77000000000000000x76B00000000000000x74600000000000000x75D00000000000000x71C00000000000000x70700000000000000x72A00000000000000x73100000000000000x7A800000000000000x7B300000000000000x79E00000000000000x78500000000000000x7C400000000000000x7DF00000000000000x7F200000000000000x7E90000000000000
0x5A000000000000000x5BB00000000000000x59600000000000000x58D00000000000000x5CC00000000000000x5D700000000000000x5FA00000000000000x5E100000000000000x57800000000000000x56300000000000000x54E00000000000000x55500000000000000x51400000000000000x50F00000000000000x52200000000000000x5390000000000000
0x41000000000000000x40B00000000000000x42600000000000000x43D00000000000000x47C00000000000000x46700000000000000x44A00000000000000x45100000000000000x4C800000000000000x4D300000000000000x4FE00000000000000x4E500000000000000x4A400000000000000x4BF00000000000000x49200000000000000x4890000000000000
0xD8000000000000000xD9B00000000000000xDB600000000000000xDAD00000000000000xDEC00000000000000xDF700000000000000xDDA00000000000000xDC100000000000000xD5800000000000000xD4300000000000000xD6E00000000000000xD7500000000000000xD3400000000000000xD2F00000000000000xD0200000000000000xD190000000000000
0xC3000000000000000xC2B00000000000000xC0600000000000000xC1D00000000000000xC5C00000000000000xC4700000000000000xC6A00000000000000xC7100000000000000xCE800000000000000xCF300000000000000xCDE00000000000000xCC500000000000000xC8400000000000000xC9F00000000000000xCB200000000000000xCA90000000000000
0xEE000000000000000xEFB00000000000000xED600000000000000xECD00000000000000xE8C00000000000000xE9700000000000000xEBA00000000000000xEA100000000000000xE3800000000000000xE2300000000000000xE0E00000000000000xE1500000000000000xE5400000000000000xE4F00000000000000xE6200000000000000xE790000000000000
0xF5000000000000000xF4B00000000000000xF6600000000000000xF7D00000000000000xF3C00000000000000xF2700000000000000xF0A00000000000000xF1100000000000000xF8800000000000000xF9300000000000000xFBE00000000000000xFA500000000000000xFE400000000000000xFFF00000000000000xFD200000000000000xFC90000000000000
0xB4000000000000000xB5B00000000000000xB7600000000000000xB6D00000000000000xB2C00000000000000xB3700000000000000xB1A00000000000000xB0100000000000000xB9800000000000000xB8300000000000000xBAE00000000000000xBB500000000000000xBF400000000000000xBEF00000000000000xBC200000000000000xBD90000000000000
0xAF000000000000000xAEB00000000000000xAC600000000000000xADD00000000000000xA9C00000000000000xA8700000000000000xAAA00000000000000xAB100000000000000xA2800000000000000xA3300000000000000xA1E00000000000000xA0500000000000000xA4400000000000000xA5F00000000000000xA7200000000000000xA690000000000000
0x82000000000000000x83B00000000000000x81600000000000000x80D00000000000000x84C00000000000000x85700000000000000x87A00000000000000x86100000000000000x8F800000000000000x8E300000000000000x8CE00000000000000x8D500000000000000x89400000000000000x88F00000000000000x8A200000000000000x8B90000000000000
0x99000000000000000x98B00000000000000x9A600000000000000x9BD00000000000000x9FC00000000000000x9E700000000000000x9CA00000000000000x9D100000000000000x94800000000000000x95300000000000000x97E00000000000000x96500000000000000x92400000000000000x93F00000000000000x91200000000000000x9090000000000000

CRC Source Code

/* 
 * Model: CRC-64 / GO-ISO (64-bit)
 * Poly: 0x000000000000001B, Init: 0xFFFFFFFFFFFFFFFF, XorOut: 0xFFFFFFFFFFFFFFFF
 * CRC Table C Source Code & Lookup Table Generator
 */
#include <stdint.h>
#include <stddef.h>

const uint64_t crc_table[256] = {
  0x0000000000000000, 0x01B0000000000000, 0x0360000000000000, 0x02D0000000000000, 0x06C0000000000000, 0x0770000000000000, 0x05A0000000000000, 0x0410000000000000, 
  0x0D80000000000000, 0x0C30000000000000, 0x0EE0000000000000, 0x0F50000000000000, 0x0B40000000000000, 0x0AF0000000000000, 0x0820000000000000, 0x0990000000000000, 
  0x1B00000000000000, 0x1AB0000000000000, 0x1860000000000000, 0x19D0000000000000, 0x1DC0000000000000, 0x1C70000000000000, 0x1EA0000000000000, 0x1F10000000000000, 
  0x1680000000000000, 0x1730000000000000, 0x15E0000000000000, 0x1450000000000000, 0x1040000000000000, 0x11F0000000000000, 0x1320000000000000, 0x1290000000000000, 
  0x3600000000000000, 0x37B0000000000000, 0x3560000000000000, 0x34D0000000000000, 0x30C0000000000000, 0x3170000000000000, 0x33A0000000000000, 0x3210000000000000, 
  0x3B80000000000000, 0x3A30000000000000, 0x38E0000000000000, 0x3950000000000000, 0x3D40000000000000, 0x3CF0000000000000, 0x3E20000000000000, 0x3F90000000000000, 
  0x2D00000000000000, 0x2CB0000000000000, 0x2E60000000000000, 0x2FD0000000000000, 0x2BC0000000000000, 0x2A70000000000000, 0x28A0000000000000, 0x2910000000000000, 
  0x2080000000000000, 0x2130000000000000, 0x23E0000000000000, 0x2250000000000000, 0x2640000000000000, 0x27F0000000000000, 0x2520000000000000, 0x2490000000000000, 
  0x6C00000000000000, 0x6DB0000000000000, 0x6F60000000000000, 0x6ED0000000000000, 0x6AC0000000000000, 0x6B70000000000000, 0x69A0000000000000, 0x6810000000000000, 
  0x6180000000000000, 0x6030000000000000, 0x62E0000000000000, 0x6350000000000000, 0x6740000000000000, 0x66F0000000000000, 0x6420000000000000, 0x6590000000000000, 
  0x7700000000000000, 0x76B0000000000000, 0x7460000000000000, 0x75D0000000000000, 0x71C0000000000000, 0x7070000000000000, 0x72A0000000000000, 0x7310000000000000, 
  0x7A80000000000000, 0x7B30000000000000, 0x79E0000000000000, 0x7850000000000000, 0x7C40000000000000, 0x7DF0000000000000, 0x7F20000000000000, 0x7E90000000000000, 
  0x5A00000000000000, 0x5BB0000000000000, 0x5960000000000000, 0x58D0000000000000, 0x5CC0000000000000, 0x5D70000000000000, 0x5FA0000000000000, 0x5E10000000000000, 
  0x5780000000000000, 0x5630000000000000, 0x54E0000000000000, 0x5550000000000000, 0x5140000000000000, 0x50F0000000000000, 0x5220000000000000, 0x5390000000000000, 
  0x4100000000000000, 0x40B0000000000000, 0x4260000000000000, 0x43D0000000000000, 0x47C0000000000000, 0x4670000000000000, 0x44A0000000000000, 0x4510000000000000, 
  0x4C80000000000000, 0x4D30000000000000, 0x4FE0000000000000, 0x4E50000000000000, 0x4A40000000000000, 0x4BF0000000000000, 0x4920000000000000, 0x4890000000000000, 
  0xD800000000000000, 0xD9B0000000000000, 0xDB60000000000000, 0xDAD0000000000000, 0xDEC0000000000000, 0xDF70000000000000, 0xDDA0000000000000, 0xDC10000000000000, 
  0xD580000000000000, 0xD430000000000000, 0xD6E0000000000000, 0xD750000000000000, 0xD340000000000000, 0xD2F0000000000000, 0xD020000000000000, 0xD190000000000000, 
  0xC300000000000000, 0xC2B0000000000000, 0xC060000000000000, 0xC1D0000000000000, 0xC5C0000000000000, 0xC470000000000000, 0xC6A0000000000000, 0xC710000000000000, 
  0xCE80000000000000, 0xCF30000000000000, 0xCDE0000000000000, 0xCC50000000000000, 0xC840000000000000, 0xC9F0000000000000, 0xCB20000000000000, 0xCA90000000000000, 
  0xEE00000000000000, 0xEFB0000000000000, 0xED60000000000000, 0xECD0000000000000, 0xE8C0000000000000, 0xE970000000000000, 0xEBA0000000000000, 0xEA10000000000000, 
  0xE380000000000000, 0xE230000000000000, 0xE0E0000000000000, 0xE150000000000000, 0xE540000000000000, 0xE4F0000000000000, 0xE620000000000000, 0xE790000000000000, 
  0xF500000000000000, 0xF4B0000000000000, 0xF660000000000000, 0xF7D0000000000000, 0xF3C0000000000000, 0xF270000000000000, 0xF0A0000000000000, 0xF110000000000000, 
  0xF880000000000000, 0xF930000000000000, 0xFBE0000000000000, 0xFA50000000000000, 0xFE40000000000000, 0xFFF0000000000000, 0xFD20000000000000, 0xFC90000000000000, 
  0xB400000000000000, 0xB5B0000000000000, 0xB760000000000000, 0xB6D0000000000000, 0xB2C0000000000000, 0xB370000000000000, 0xB1A0000000000000, 0xB010000000000000, 
  0xB980000000000000, 0xB830000000000000, 0xBAE0000000000000, 0xBB50000000000000, 0xBF40000000000000, 0xBEF0000000000000, 0xBC20000000000000, 0xBD90000000000000, 
  0xAF00000000000000, 0xAEB0000000000000, 0xAC60000000000000, 0xADD0000000000000, 0xA9C0000000000000, 0xA870000000000000, 0xAAA0000000000000, 0xAB10000000000000, 
  0xA280000000000000, 0xA330000000000000, 0xA1E0000000000000, 0xA050000000000000, 0xA440000000000000, 0xA5F0000000000000, 0xA720000000000000, 0xA690000000000000, 
  0x8200000000000000, 0x83B0000000000000, 0x8160000000000000, 0x80D0000000000000, 0x84C0000000000000, 0x8570000000000000, 0x87A0000000000000, 0x8610000000000000, 
  0x8F80000000000000, 0x8E30000000000000, 0x8CE0000000000000, 0x8D50000000000000, 0x8940000000000000, 0x88F0000000000000, 0x8A20000000000000, 0x8B90000000000000, 
  0x9900000000000000, 0x98B0000000000000, 0x9A60000000000000, 0x9BD0000000000000, 0x9FC0000000000000, 0x9E70000000000000, 0x9CA0000000000000, 0x9D10000000000000, 
  0x9480000000000000, 0x9530000000000000, 0x97E0000000000000, 0x9650000000000000, 0x9240000000000000, 0x93F0000000000000, 0x9120000000000000, 0x9090000000000000
};

uint64_t calculate_crc(const uint8_t *data, size_t length) {
    uint64_t crc = 0xFFFFFFFFFFFFFFFF;
    for (size_t i = 0; i < length; i++) {
        #if 1
        uint8_t idx = (uint8_t)(crc ^ data[i]);
        crc = (crc >> 8) ^ crc_table[idx];
        #else
        uint8_t idx = (uint8_t)((crc >> 56) ^ data[i]);
        crc = (crc << 8) ^ crc_table[idx];
        #endif
    }
    return crc ^ 0xFFFFFFFFFFFFFFFF;
}

About CRC-64/GO-ISO

CRC-64/GO-ISO is the reflected ISO 3309 64-bit CRC variant used by the Go standard library.

CRC-64/GO-ISO is a 64-bit CRC model defined by polynomial 0x000000000000001B, an initial register value of 0xFFFFFFFFFFFFFFFF, and final XOR 0xFFFFFFFFFFFFFFFF. It processes reflected input bytes and reports a reflected output.

Documented application context for this model includes Go crc64 package, ISO 3309, File integrity. The calculator above applies this exact parameter set to the current input; the published Check value below is instead the fixed verification result for ASCII 123456789.

Standard test vector

CRC implementations are commonly verified with the ASCII input 123456789.

Input format
ASCII
Input
123456789
Expected CRC
0xB90956C775A41001

Model characteristics

A model is identified by its complete parameter set, not its polynomial alone.

Bit order
Reflected
Register start
0xFFFFFFFFFFFFFFFF
Final XOR
0xFFFFFFFFFFFFFFFF
Published check
0xB90956C775A41001

Implementation checks for CRC-64/GO-ISO

  • Use a 64-bit register and polynomial 0x000000000000001B.
  • Initialize the register to 0xFFFFFFFFFFFFFFFF and use XorOut 0xFFFFFFFFFFFFFFFF exactly as listed; changing either value defines a different model.
  • Verify the implementation with ASCII “123456789”; the expected result is 0xB90956C775A41001.

Continue with the main calculator, browse the algorithm catalog, compare models in the Algorithm Reference section, or generate a lookup table.

Complete CRC-64/GO-ISO parameters

CRC parameter guide
ParameterValueMeaningReference
Width64 bitsCRC register and result widthRead guide
Poly0x000000000000001BGenerator polynomial without the leading termRead guide
Init0xFFFFFFFFFFFFFFFFInitial CRC register valueRead guide
RefInYesReflect each input byte before processingRead guide
RefOutYesReflect the register before XOR OutRead guide
XorOut0xFFFFFFFFFFFFFFFFFinal value XORed with the CRC registerRead guide
Check0xB90956C775A41001CRC of ASCII “123456789”Read guide
ResidueNot listedExpected residue after appending a valid CRCRead guide
AliasesCRC-64/GO-ISO

Where CRC-64/GO-ISO is used

  • 01Go crc64 package
  • 02ISO 3309
  • 03File integrity

CRC-64/GO-ISO FAQ

What is the check value for CRC-64/GO-ISO?

For the standard ASCII test input 123456789, the check value of CRC-64/GO-ISO is 0xB90956C775A41001.

What polynomial does CRC-64/GO-ISO use?

CRC-64/GO-ISO uses the 64-bit polynomial 0x000000000000001B.

Does CRC-64/GO-ISO use reflected input and output?

For CRC-64/GO-ISO, RefIn is Yes and RefOut is Yes.

What is CRC-64/GO-ISO commonly confused with?

The closest published model by parameter overlap is CRC-64/NVME, differing from CRC-64/GO-ISO in polynomial.