Abstract:
A first electronic network node (110) is provided configured for a key exchange (KEX) protocol, the first network node is configured to obtain a shared polynomial ( a ) shared with a second network node, coefficients of the shared polynomial a being selected modulo a first modulus q , generate a private key polynomial ( sk I ), coefficients of the private key polynomial being bounded in absolute value by a bound ( s ) generate a public key polynomial ( pk I ) by computing a polynomial product between the shared polynomial ( a ) and the private key polynomial ( sk I ) modulo the first modulus ( q ) and scaling the coefficients of the polynomial product down to a second modulus ( p ).
Abstract:
A mobile transaction data verification device is provided that can be used by a user to ensure authenticity of information displayed by a terminal during image-based transactions. The mobile transaction data verification device contains a camera for obtaining a captured image of the terminal during a transaction. Furthermore, the mobile transaction data verification device has a visual object recognition module such as an optical character reader, coupled to the camera and a code reader module such as a QR code decoder. An authentication module computes authentication data from a recognition result obtained from the visual object recognition module and a code value obtained from the code reader module, and optionally transaction time distinguishing data. The mobile transaction data verification device signals an authentication result based on the authentication data. Optionally, the mobile transaction data verification may apply its own signature to the captured image and keep it stored to provide evidence that the user verified the transaction data.
Abstract:
The invention relates to a proxy node comprising means for managing a proxy table, a receiver for receiving a message from a first resource restricted device, said message being intended to at least one corresponding destination device, control means for checking whether an entry for the first resource restricted device is included in the set of entries of the proxy table, the set of entries of the proxy table indicating the set of resource-restricted devices the proxy node is in charge of, a transmitter for forwarding the message depending on the result of the proxy table checking, the means for managing the proxy table being arranged for cleaning the proxy table of the entry relative to the resource-restricted device by monitoring the relative usage of the proxy node for forwarding messages for the resource restricted device with the usage of competitor proxy nodes for forwarding messages for the resource restricted device.
Abstract:
Some embodiments are directed to an electronic cryptographic device arranged to perform a cryptographic operation on input data obtaining output data. The cryptographic device stores an internal state as sets of shares. Fourier coefficients corresponding to the sets of shares satisfy a predetermined relationship among them. The cryptographic operation is performed by repeatedly updating the internal state.
Abstract:
A key generation device (100) configured to generate a public key (126) for use in a public key encryption device and a corresponding private key (114) for use in a private key decryption device, the key generation device comprising a private key generator (110) configured for obtaining in electronic form a private random value (112, s), and generating the private key (114), the private key comprising the private random value (112), and a public key generator (120) configured for obtaining in electronic form a public set of bivariate polynomials (122, ƒ i (, )), computing a public univariate polynomial (124) by summing over univariate polynomials obtained by substituting the private random value (112, s) into the polynomials of the public set (122, ƒ i (s, )), and generating the public key (126), the public key comprising the public univariate polynomial (124) and the public set (122).
Abstract:
A compiler 134 for compiling a first computer program 110 written in a first computer programming language into a second computer program written in a machine language, the compiler comprises a code generator to generate the second computer program by generating tables 142 and machine language code 144, the generated tables and the generated machine language code together forming the second computer program, wherein the generated machine language code references the tables and the generated machine language code does not contain arithmetic or logic machine instructions, the tables comprising pre-computed results of arithmetic and/or logic machine instructions.
Abstract:
A computer system comprising a processor and a memory, the processor comprising an instruction cycle circuit configured to repeatedly obtain a next instruction of a computer program, an instruction decoder configured to decode and execute the instruction obtained by the instruction cycle circuit, the computer system supporting multiple arithmetic and/or logic operations under control of one or more of the instructions, wherein the memory stores multiple tables, each specific one of the multiple arithmetic and/or logic operations being supported by a specific table stored in the memory, each specific table comprising the result of the specific arithmetic operations for a range of inputs.
Abstract:
A network device (110) is provided which is configured to determine a shared cryptographic key of key length (b) bits shared with a second network device (120) from a polynomial and an identity number of the second network device. A reduction algorithm is used to evaluate the polynomial in the identity number of the second network device and reduce module a public modulus and modulo a key modulus. The reduction algorithm comprises an iteration over the terms of the polynomial. In at least the iteration which iteration is associated with a particular term of the polynomial are comprised a first and second multiplication. The first multiplication is between the identity number and a least significant part of the coefficient of the particular term obtained from the representation of the polynomial, the least significant part of the coefficient being formed by the key length least significant bits of the coefficient of the particular term. The second multiplication is between a second multiplication between the identity number and a further part of the coefficient of the particular term obtained from the representation of the polynomial, the further part of the coefficient being formed by bits of the coefficient of the particular term different from the key length least significant bits, the further part and the least significant part together forming strictly fewer bits than in the coefficient of the particular term of the polynomial.
Abstract:
A computing device configured to compute a data function (f) on a function-input value (w), the device comprising an electronic storage storing a first table network configured for the data function (f), - the computing device comprising an electronic processor coupled to the storage and configured to obtain multiple first table inputs for the first table network, the multiple first table inputs (x=E(w, s)) including the function- input value (w), and to compute the data function (f) by applying the first table network to the multiple first table inputs (x) to produce multiple first table outputs (u=E(f(w), g(w,s)), the multiple first table outputs (u) including a function-output value (f(w)), the function-output value (f(w)) corresponding to the result of applying the data function (f) to the function- input value (w), - the electronic storage is further storing a second table network configured to cooperate with the first table network for countering modifications made to the first table network, the electronic processor being configured to obtain multiple second table inputs for the second table network, the second table inputs including the multiple first table outputs (u) and at least one of the multiple first table inputs (w; s), and to apply the second table network to the multiple second table inputs, the second table network being configured to verify for at least a specific one (f(w) or g(w,s)) of the multiple first table outputs if an unmodified first table network could obtain the specific one of the multiple first table outputs (f(w); g(w,s)) from the given at least one of the multiple first table inputs (w; s), - the second table network produces second table outputs (v= E(w', s')) including a protected function output (w'), the protected function output being equal to the function output (f(w)) in case the verification is successful and the protected function output (w') being unequal to the function output in case the verification is unsuccessful.
Abstract:
A first communication unit (101) comprises: a processor (203) for obtaining local key material defining a first key generating function from a Trusted Third Party (TTP). An identity processor (205) obtaining an identity for a second communication unit (103and a key generator (207) determines a first cryptographic key from the first key generating function based on the identity. A generator (209) locally generates a perturbation value which is not uniquely determined by data originating from the TTP. A key modifier (211) determines a shared cryptographic key by applying the perturbation value to the first cryptographic key. The second communication unit (103) also obtains key modifying data and uses it to determine a cryptographic key for the first communication unit (101). It then generates possible values of the perturbation value, and subsequently possible shared cryptographic keys. It then selects one that matches cryptographic data from the first communication unit (101). The perturbation value may provide increased resistance against collusion attacks.