Patent ID: 10862669

Abstract:
The present invention relates to a method for encryption or decryption of a data block from a secret key, wherein the method comprises: generating a first round key kr dependent on the secret key, selecting each of a first mask (−br) and a second mask (−br+1) in a set consisting of a mask of bits all at one and a mask of all zero bits, calculating a first masked key kr′ from the first round key kr and the first mask (−br) as follows: kr′=kr⊕(−br) wherein ⊕ is an exclusive disjunction, executing a first encryption round applied to two first data dependent on the data block, by means of the first masked round key kr′ so as to produce two second data, after producing the first masked key kr′, generating a second round key kr+1 dependent on the secret key, calculating a second masked key kr+1′ from the second round key kr+1 and the second mask (−br+1) as follows: kr+1′=kr+1⊕(−br+1), calculating two third data Lrb, Rrbas follows: Rrb=Rrb⊕(−br−1)⊕(−br)Lrb=Lrb⊕(−br−1)⊕(−br) and executing a second encryption round following the first encryption round, wherein the second encryption round is applied to the two third data Lrb, Rrbby means of the second masked round key kr+1′.