Patent ID: 9183076
Filing Date: 2015-11-10
Classification: G06F,H03M

Abstract:
1. A method of using Carry-less Multiplication (CLMUL) to implement erasure code, comprising: dividing, with a processor, an input data into a plurality of data bit words, each data bit word being sized to a native processor word width; initiating, with the processor, a first CLMUL call to calculate a first product of a first data bit word and a constant, the first data bit word being one of the plurality of data bit words; partitioning, with the processor, the first product into a high portion and a low portion, the low portion being sized to the native processor word width; initiating, with the processor, a second CLMUL call to calculate a second product of the high portion and a hexadecimal number portion, a bit size of the second product less than a bit size of the first product; partitioning, with the processor, the second product into a high portion and a low portion, the low portion being sized to the native processor word width; initiating, with the processor, a third CLMUL call to calculate a third product of the high portion of the second product and the hexadecimal number portion, a bit size of the third product less than a bit size of the second product; and generating, with the processor, a parity bit word of an erasure code symbol according to an exclusive or (XOR) operation on the third product, the low portion of the first product, and the low portion of the second product.