Patent ID: 9571268
Date: 2017-02-14
CPC Classifications: G06F,H04L

Claim:
1. A method for reducing information leakage in order to counter side channel attacks against a secure execution environment, the method comprising: receiving at the secure execution environment a first input comprising a key comprising a sequence of k input elements in a commutative ring, CR, wherein the secure execution environment comprises a low performance security element supported by an untrusted high performance server; receiving at the secure execution environment a second input comprising a text comprising a sequence of p input elements in the commutative ring, CR; defining an input INP comprising a sequence of j input elements, wherein INP comprises either one or both of the first input or the second input; performing by the secure execution environment either one of (a) or (b); (a) randomly choosing a secret n×n matrix in CR, hereinafter denoted as S, S being utilized as a symmetric randomizing key, wherein S comprises an invertible matrix over CR; determining S for each set i of m distinct input elements among j elements comprising INP, wherein 0<m<k+1 and m<n selected from INP that are to be jointly randomized, and denoted hereinafter as X determining random output A thereby producing a random output A im corresponding to the i set of m input elements {X im }=X 1 , X 2 , . . . , X m ; and (b) selecting n random numbers in CR, the n random numbers hereinafter denoted as v 1 , v 2 , . . . , v n ; determining a public polynomial P(v)=Π choosing n−m random values in CR, for a selecting a polynomial-based randomizing and homomorphic transformation function hereinafter denoted PRHT (X if (b) was performed, then performing either one of (c) or (d): (c) producing a random output A im corresponding to input elements X 1 , X 2 , . . . , X m comprising the set (a i0 , a i1 , . . . , a i n−1 ) and public set of coefficients (C 0 , C 1 , . . . , C n−1 , C n ) of P(v), wherein the public set of coefficients (C 0 , C 1 , C n−1 , C n ) are required for arithmetic performing operations with input elements; (d) selecting for the given input elements X 1 , X 2 , . . . , X m , n−m random values R 1 , . . . , R n−m in CR that would solve the following n simultaneous equations: Σ j=0 n−1 a ij ·v 1 j =X 1 , Σ j=0 n−1 a ij ·v 2 j =X 2 , . . . , Σ j=0 n−1 a ij ·v m j =X m , Σ j=0 n−1 a ij ·v m+1 j =R 1 , Σ j=0 n−1 a ij ·v m+2 j =R 2 , . . . , Σ j=0 n−1 a ij ·v n j =R n−m for unknowns a i0 , a i1 , . . . , a i n−1 , thereby producing, for X 1 , X 2 , . . . X m a random text comprising the set (a i0 , a i1 , . . . , a i n−1 ) and public set (C 0 , C 1 , . . . , C n−1 , C n ) of P(v); and after the performing either one of (a) or (b), and if (b) was performed additionally performing either one of (c) or (d), then outputting one or both of a randomized transformed first output comprising a randomized transformation of the key and a randomized transformed second output comprising a randomized transformation of the text.