摘要:
The present invention relates to a method of splitting a private exponent component d of an RSA key (p, q, N, d, e) in at least two private exponent component shares (d 1 , d 2 ,...) and associated methods of secure generation of an RSA signature and decryption. Said method of splitting comprises steps of generation of at least two private exponent component shares (d 1 , d 2 , ...) such that: - their product is equal to said private exponent component d modulo ϕ(N) and, - one private exponent component share among said private exponent component shares, called server private exponent component, is superior or equal to ϕ(N) and, - other private exponent component shares among said private exponent component shares, called client private exponent components, are inferior to ϕ(N).
摘要:
The present invention relates to a method to secure a cryptographic algorithm (F) performing operations on a matrix of n*n words (A), this cryptographic algorithm (F) necessitating to, when the matrix of data (A) is masked using a mask matrix (M), performing operations on the masked matrix (A+M) and on a mask matrix (M), said method comprising the steps of generating (GEN) a maximum of n*(n-1) random values (RV) of the size of the words of the matrix (A) for the masking of the data, constructing (MCM) a mask matrix (M) where at least n values are obtained by an combination of at least two of the generated random values (RV). Recovery of masked intermediate matrix (F(A)+M) comprising a step of constructing (DCM) a set of degraded operations (F') to be applied on values in mask matrix (M) instead of the whole set of operations of the algorithm (F) to be applied on the whole mask matrix (F(M)).
摘要:
The present invention provides methods for executing a private computer program on untrusted computers. The present invention also provides for products produced by the methods of the present invention and for apparatuses used to perform the methods of the present invention.
摘要:
An encryption module and method for performing an encryption/decryption process executes two cryptographic operations in parallel in multiple stages. The two cryptographic operations are executed such that different rounds of the two cryptographic operations are performed in parallel by the same instruction or the same finite state machine (FSM) state for hardware implementation.
摘要:
Disclosed herein are an apparatus and method for providing a security service. The apparatus for providing a security service includes a first block cipher and a second block cipher. The second block cipher is independent of the first block cipher, and is configured to be used as a random number generator when the first block cipher is used to perform encryption/decryption, and to be used to perform encryption/decryption when the first block cipher is used as a random number generator.
摘要:
The invention relates to a method for executing by a circuit a bit permutation operation (OPR) by which bits of an input data are mixed to obtain an output data comprising at least two words, the method comprising: generating a first mask set (U) comprising mask parameters (U[I]), the mask set comprising one word column (Ui) per word of the input data, each word column comprising a same number of occurrences of all possible values of one input data word in relation with a size of the input data word; generating an input set (PX) by combining the input data with each mask parameter of the first mask set by Exclusive OR (XOR) operations (⊕); and computing an output set (PR) comprising output data resulting from the application of the bit permutation operation to each data in the input set, the first mask set being generated such that the output set comprises columns of output words, each output word column comprising a same number of occurrences of all possible values of one output word in relation with a size of the output word.
摘要:
L'invention concerne un procédé d'exécution d'un algorithme, comportant les étapes suivantes : réaliser (41) une première exécution (EXE1) de l'algorithme par une unité de traitement (11) ; envoyer au moins un premier résultat pour écriture dans une mémoire à un circuit de gestion de mémoire ; stocker (43) ledit premier résultat dans une première zone (122) de la mémoire volatile ; réaliser (44) une deuxième exécution (EXE2) de l'algorithme par ladite unité de traitement ; envoyer au moins un deuxième résultat pour écriture dans la mémoire audit circuit ; et appliquer (46, 47, 48), par ledit circuit, un traitement différent par rapport à la première exécution.