Aes implementation with error correction

US2016012237A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016012237-A1
Application numberUS-201314430907-A
CountryUS
Kind codeA1
Filing dateMar 27, 2013
Priority dateMar 27, 2013
Publication dateJan 14, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of cryptographically processing a block of data, the method comprising: receiving an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; and processing the encoded version of the block of data using a predetermined function to generate an output, wherein the predetermined function is arranged so that the result of processing, with the predetermined function, a quantity of data encoded, at least in part, using the error control code equals the result of encoding, at least in part, with the error control code the result of performing encryption or decryption of the quantity of data according to the Advanced Encryption Standard, AES.

First claim

Opening claim text (preview).

1 - 12 . (canceled) 13 . A method of cryptographically processing a block of data, the method comprising: receiving an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; and processing the encoded version of the block of data using a predetermined function to generate an output, wherein the predetermined function is arranged so that the result of processing, with the predetermined function, a quantity of data encoded, at least in part, using the error control code equals the result of encoding, at least in part, with the error control code the result of performing encryption or decryption of the quantity of data according to the Advanced Encryption Standard, AES. 14 . The method of claim 13 , wherein the predetermined function comprises one or more sub-functions, wherein each of the sub-functions is arranged so that the result of processing, with that sub-function, a quantity of data encoded, at least in part, using the error control code equals the result of encoding, at least in part, with the error control code the result of processing the quantity of data according to a corresponding processing step of the AES, wherein the corresponding processing step is one of: the AddRoundKey function; the MixColumns function; the ShiftRows function; the SubBytes function; the InvMixColumns function; the InvShiftRows function; the InvSubBytes function. 15 . The method of claim 13 , comprising: using the error control code to detect whether there is an error in one or more of: the received encoded version of the block of data, the output, or an intermediate result of the predetermined function; and if an error is detected, performing a corresponding action. 16 . The method of claim 15 , wherein the corresponding action comprises one of: (a) setting the output to be substantially unrelated to the received encoded version of the block of data; (b) setting the output to be a random value; (c) ceasing performing the predetermined function; and (d) performing an error correction operation of the error control code to correct the error. 17 . The method of claim 13 , comprising: performing a decoding operation of the error control code on the output. 18 . The method of claim 13 , wherein the encoded version of the block of data and intermediate results of the predetermined function are each represented by corresponding first matrices, wherein each first matrix corresponds to a state matrix that would occur if the encryption or decryption according to the AES were performed on the block of data, wherein each first matrix corresponds to a state matrix in that elements of that first matrix are coefficients of codewords that would result from encoding, with the error control code, messages formed from corresponding elements of the corresponding state matrix. 19 . The method of claim 18 , wherein for each row or column of each first matrix, the elements of that row or column are coefficients of a codeword that would result from encoding, with the error control code, a message formed from the elements of a corresponding row or column of the corresponding state matrix. 20 . A method of providing a block of data to an entity arranged to carry out a method according to claim 13 , comprising: generating an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; applying a modification to the encoded version of the block of data to form a modified encoded version of the block of data, wherein the modification is such that the error control code can correct the modification to produce the encoded version of the block of data from the modified encoded version of the block of data; and providing the modified encoded version of the block of data to the entity. 21 . A method of enabling a data processor to cryptographically process a block of data, the method comprising: generating one or more modules which, when executed, carry out a method according to any one of claim 13 ; and configuring the data processor to execute the one or more modules. 22 . An apparatus comprising a processor, wherein the processor is arranged to cryptographically process a block of data by: receiving an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; and processing the encoded version of the block of data using a predetermined function to generate an output, wherein the predetermined function is arranged so that the result of processing, with the predetermined function, a quantity of data encoded, at least in part, using the error control code equals the result of encoding, at least in part, with the error control code the result of performing encryption or decryption of the quantity of data according to the Advanced Encryption Standard, AES. 23 . A computer readable medium storing a computer program which, when executed by one or more processors, causes the one or more processors to cryptographically process a block of data by: receiving an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; and processing the encoded version of the block of data using a predetermined function to generate an output, wherein the predetermined function is arranged so that the result of processing, with the predetermined function, a quantity of data encoded, at least in part, using the error control code equals the result of encoding, at least in part, with the error control code the result of performing encryption or decryption of the quantity of data according to the Advanced Encryption Standard, AES. 24 . A first apparatus arranged to provide a block of data to a second apparatus according to claim 22 , the first apparatus comprising one or more processors arranged to: generate an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; apply a modification to the encoded version of the block of data to form a modified encoded version of the block of data, wherein the modification is such that the error control code can correct the modification to produce the encoded version of the block of data from the modified encoded version of the block of data; and provide the modified encoded version of the block of data to the second apparatus. 25 . A computer readable medium storing a computer program which, when executed by one or more processors, causes the one or more processors to provide a block of data to an apparatus according to claim 22 by: generating an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; applying a modification to the encoded version of the block of data to form a modified encoded version of the block of data, wherein the modification is such that the error control code can correct the modification to produce the encoded version of the block of data from the modified encoded version of the block of data; and providing the modified encoded version of the block of data to the apparatus.

Assignees

Inventors

Classifications

  • G06F21/602Primary

    Providing cryptographic facilities or services · CPC title

  • Joint error correction and other techniques (H03M13/31 and H03M13/33 take precedence) · CPC title

  • Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials · CPC title

  • Polynomial evaluation, i.e. determination of a polynomial sum at a given value · CPC title

  • Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016012237A1 cover?
A method of cryptographically processing a block of data, the method comprising: receiving an encoded version of the block of data, wherein the encoded version of the block of data comprises the block of data encoded, at least in part, using an error control code; and processing the encoded version of the block of data using a predetermined function to generate an output, wherein the predetermi…
Who is the assignee on this patent?
Irdeto Bv
What technology area does this patent fall under?
Primary CPC classification G06F21/602. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 14 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).