Abstract:
The present invention relates to a device (D) having a central processing unit (CPU), RAM memory (RAM) and at least two hardware elementary operations (HWi), using registers of greater size than the one of the central processing unit, said device (D) being such that construction of at least one part of RAM memory (RAM) is managed only by the hardware elementary operations (HWi), hardware elementary operations (HWi) themselves and masking of inputs/outputs/intermediary data are monitored by software instructions (SW), said software instructions (SW) being able to address different cryptographic functionalities using said hardware elementary operations (HWi) according to several ways depending on each concerned functionality, said software instructions (SW) being further able to address several levels of security in the execution of the different functionalities.
Abstract:
The present invention concerns a method for printing a scanner readable code on a secure object, for example a passport. The secure object comprises a chip and a photograph of it's owner is printed on the secure object. According to the invention, the method comprises the steps of: i - generating a private key and a public key; ii - extracting low-level information from the photograph; iii - transforming this low-level information by executing a second pre-image resistant function; iv - signing the result of the transformation with the private key; v - transforming each block of data of the signed result in a corresponding color; vi - printing the colors on the secure object for obtaining the scanner readable code.
Abstract translation:本发明涉及一种在安全对象(例如护照)上打印扫描器可读代码的方法。 安全对象包括芯片,并且其所有者的照片被打印在安全对象上。 根据本发明,该方法包括以下步骤:i - 产生私钥和公钥; ii - 从照片中提取低级信息; iii - 通过执行第二预影像抵抗功能来转换该低级信息; iv - 用私钥签名转换结果; v - 以相应的颜色转换签名结果的每个数据块; vi - 打印安全对象上的颜色,以获取扫描仪可读代码。
Abstract:
The present invention relates to cryptographic method that are resistant to fault injection attacks, to protect the confidentiality and the integrity of secret keys. For that, the invention describes a method to protect a key hardware register against fault attack, this register being inside an hardware block cipher BC embedded inside an electronic component, said component containing stored inside a memory area a cryptographic key K, characterized in that it comprises following steps: A.) loading the key Kram inside said register; B.) computing a value X such as K=BC(K,X); C.) after at least one sensitive operation, computing a value V such as V=BC(K,X); D.) matching the value V with the key Kram value stored in the memory area; E.) if the matching is not ok detecting that a fault occurs.
Abstract:
The present invention relates to a method to generate a mask (M) of a predefined size of b*m bits, said method comprising the following steps: generating a random number of a limited number p of bits, providing the p bits random number as the input of a deterministic random number generator (RNG) that outputs a random number of length m, applying to the output random number of length m an expansion function (EFM) using an error correcting code function to multiply the length by b and obtain a mask (M) of a size of b*m bits, a reseeding function (RFM) being regularly applied to the random number generator (RNG).
Abstract:
The present invention relates to a method to execute by a processing unit a sensitive computation using multiple different and independent branches (SB1, SB2) each necessitating a given number of processing unit time units to be executed, characterized in that it comprises the following steps of, at each execution of a sensitive computation: - generating at least as many identifiers as the number of branches, - associating each identifier to a unique branch, - generating (S1, S2) a random permutation of identifiers, the number of occurrences of each identifier in the permutation being at least equal to the number of central processing unit time units in the shortest of the branches, - by processing (S3) each identifier in the random permutation, determining successively the branch to execute by each successive central processing unit time units according to the identifier value, - for each identifier of the random permutation, executing (S11, S21) a central processing unit time unit for the branch determined according to the identifier value.
Abstract:
The present invention relates to a device (D) having a central processing unit (CPU), RAM memory (RAM) and at least two hardware elementary operations (HWi), using registers of greater size than the one of the central processing unit, said device (D) being such that construction of at least one part of RAM memory (RAM) is managed only by the hardware elementary operations (HWi), hardware elementary operations (HWi) themselves and masking of inputs/outputs/intermediary data are monitored by software instructions (SW), said software instructions (SW) being able to address different cryptographic functionalities using said hardware elementary operations (HWi) according to several ways depending on each concerned functionality, said software instructions (SW) being further able to address several levels of security in the execution of the different functional ities.
Abstract:
The present invention relates to a method to execute by a processing unit a sensitive computation using multiple different and independent branches (SB1,SB2) each necessitating a given number of processing unit time units to be executed, characterized in that it comprises the following steps of, at each execution of a sensitive computation: - generating at least as many identifiers as the number of branches, - associating each identifier to a unique branch, - generating (S1,S2) a random permutation of identifiers, the number of occurrences of each identifier in the permutation being at least equal to the number of central processing unit time units in the shortest of the branches, - by processing (S3) each identifier in the random permutation, determining successively the branch to execute by each successive central processing unit time units according to the identifier value, - for each identifier of the random permutation, executing (S11,S21) a central processing unit time unit for the branch determined according to the identifier value.
Abstract:
The present invention relates to a device (D) having a central processing unit (CPU), RAM memory (RAM) and at least two hardware elementary operations (HWi), using registers of greater size than the one of the central processing unit, said device (D) being such that construction of at least one part of RAM memory (RAM) is managed only by the hardware elementary operations (HWi), hardware elementary operations (HWi) themselves and masking of inputs/outputs/intermediary data are monitored by software instructions (SW), said software instructions (SW) being able to address different cryptographic functionalities using said hardware elementary operations (HWi) according to several ways depending on each concerned functionality, said software instructions (SW) being further able to address several levels of security in the execution of the different functional ities.
Abstract:
The present invention relates to cryptographic method that are resistant to fault injection attacks, to protect the confidentiality and the integrity of secret keys. For that, the invention describes a method to protect a key hardware register against fault attack, this register being inside an hardware block cipher BC embedded inside an electronic component, said component containing stored inside a memory area a cryptographic key K, characterized in that it comprises following steps: A.) loading the key Kram inside said register; B.) computing a value X such as K=BC(K,X); C.) after at least one sensitive operation, computing a value V such as V=BC(K,X); D.) matching the value V with the key Kram value stored in the memory area; E.) if the matching is not ok detecting that a fault occurs.