GB2515763A

Improvements relating to unpredictable number generation

Abstract

Disclosed is a method of generating an unpredictable or pseudo random number in a computing device. The method starts by the computing device, obtaining a plurality of data elements, performing a first one way function on an internal value P and the plurality of data elements to update the value P, and then performing a second one way function on the value P to obtain the unpredictable number. The data elements may vary with time or the activity of the computing device. One of the data elements may be a random number generated by the computing device. The one-way functions may be cryptographically secure functions. The unpredictable number may be used to authenticate a transaction between computing devices, by sending transaction data and the unpredictable number to second device, receiving back cryptographically signed data of the transaction data and the unpredictable number. The cryptographically signed data is then reviewed to determine that it incorporates the unpredictable number.

GB2515763A, drawing sheet 1
Sheet 1 of 23

Term

No projected expiry on record.

  1. Priority and filed
  2. Published
  3. Today

23 claims: 11 independent, 12 dependent

  1. 1
    Claims 1. A method of generating an unpredictable number in a computing device, the method comprising the computing device performing the following programmed steps:obtaining a plurality of data elements;performing a first one way function on an internal value P and the plurality of data elements to update the value P;and performing a second one way function on the value P to obtain the unpredictable number.
  2. 6
    A method as claimed in any one of the preceding claims, wherein one or both of the one-way functions are cryptographically secure one-way functions.
  3. 8
    A method as claimed in any one of the preceding claims, wherein the first oneway function and second one-way function are substantially the same.
  4. 9
    A method as claimed in any preceding claim, further comprising an initial step of obtaining a seeded value of P, and in obtaining an initial value of the unpredictable number by performing the first one way function on the seeded value of the value P and a plurality of startup data elements to update the value P;performing the second one way function on the value P to obtain the unpredictable number.
  5. 10
    A method of authenticating a transaction between computing devices at a first computing device, comprising generating an unpredictable number by the method of any of Claims 1 to 9, sending transaction data and the unpredictable number to the second computing device, receiving from the second computing device cryptographically signed data formed from at least some of the transaction data and the unpredictable number, and reviewing the cryptographically signed data to determine that it incorporates the unpredictable number.
  6. 13
    A method as claimed in any one of Claims 10 to 12 wherein the transaction is a financial transaction, wherein the first computing device is a terminal and wherein the second computing device is a transaction card or a proxy for a transaction card.
  7. 15
    A computing device comprising a processor and a memory, wherein the programmed processor provides means to generate an unpredictable number according to the method of any of Claims 1 to 9.
  8. 20
    A computing device as claimed in any of Claims 17 to 19, wherein the point of interaction is a point of sale terminal. 15
  9. 21
    A computing device as claimed in any of Claims 17 to 19, wherein the point of interaction is an automatic teller machine.
  10. 22
    A a computer program for instructing a computer to perform the method of any of claims 1 to 14.
  11. 23
    A computer readable medium having stored thereon instructions for a computer to perform the method of any of claims 1 to 14.