US2010304826A1PendingUtilityA1

Hash function using a roulette game process

Assignee: APPLE INCPriority: May 29, 2009Filed: May 29, 2009Published: Dec 2, 2010
Est. expiryMay 29, 2029(~2.8 yrs left)· nominal 20-yr term from priority
H04L 9/3236
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In the computer data security field, a cryptographic hash function process embodied in a computer system and which is typically keyless, but is highly secure. The process is based on the type of randomness exhibited by the well known gambling game of roulette played on a roulette wheel involving dropping a ball onto a partitioned spinning wheel. The ball loses momentum and drops into one of the partitions (pockets) of the wheel. Computation of the hash value (digest) is the result of executing in a model (such as computer code or logic circuitry) such a game algorithm using the message as an input to the game algorithm, then executing the game algorithm. A state of the game (the final ball location) after a ball (or several balls) are played gives the hash digest value of the message.

Claims

exact text as granted — not AI-modified
1 . A hashing method performed by a computing apparatus and comprising the acts of:
 (a) receiving a message at an input port;   (b) storing the received message as a table having a plurality of entries in a first computer readable storage medium coupled to the input port;   (c) a processor coupled to the first computer readable storage and modifying, according to a roulette game algorithm stored in a second computer readable medium coupled to the processor, the table;   (d) the processor updating the table stored in the first computer readable storage according to act (c);   (e) using the updated table resulting from act (d) to provide a hash value of the message; and   (f) the processor storing the hash value in a third computer readable storage medium coupled to the processor.   
     
     
         2 . The method of  claim 1 , wherein act (c) includes modeling a ball moving relative to a wheel. 
     
     
         3 . The method of  claim 2 , wherein the modeling includes a plurality of balls. 
     
     
         4 . The method of  claim 1 , wherein act (b) further includes partitioning the message into a plurality of blocks. 
     
     
         5 . The method of  claim 2 , wherein the modeling includes providing an initial speed of the ball with reference to the wheel and stopping the modeling when the speed of the ball is a predetermined value or less. 
     
     
         6 . The method of  claim 2 , wherein the modeling includes modeling impacts of the ball with the wheel and modeling friction according to a position of the ball. 
     
     
         7 . The method of  claim 1 , further comprising the acts of:
 receiving a hash value associated with the message at the processor;   comparing the received hash value to the stored hash value of act (g); and   authenticating the message if the comparison indicates a match.   
     
     
         8 . The method of  claim 1 , wherein the message is one of a digital signature or document, a digital message, a secret key or an identifier. 
     
     
         9 . The method of  claim 1 , further comprising the acts of:
 providing a security parameter; and   repeating the method a number of times equal to the security parameter.   
     
     
         10 . The method of  claim 1 , wherein each entry in the table is one bit of data, one byte of data, one 16-bit word, one 32-bit word, or one 128-bit word. 
     
     
         11 . The method of  claim 2 , wherein the roulette algorithm includes a first function determining the ball characteristics, a second function determining friction between the ball and the wheel, and a third function determining impacts of the ball on the wheel. 
     
     
         12 . The method of  claim 11 , wherein step (f) includes extracting the hash value from the table. 
     
     
         13 . A computer readable medium storing computer code instructions for executing the method of  claim 1  on the computing apparatus. 
     
     
         14 . An apparatus for computing a hash, comprising:
 (a) an input port for receiving a message;   (b) a first computer readable storage medium coupled to the input port for storing the received message as a table having plurality of entries; and   (c) a processor coupled to the first storage medium and which modifies entries for the table according to a roulette game algorithm;   (d) wherein the processor updates the table according to (c);   (e) wherein the processor uses the updated table to provide a hash value of the message; and   (f) wherein the processor stores the hash value in a second computer readable storage medium coupled to the processor.   
     
     
         15 . The apparatus of  claim 14 , wherein (c) includes modeling a ball moving relative to a wheel. 
     
     
         16 . The apparatus of  claim 15 , wherein the modeling includes a plurality of balls. 
     
     
         17 . The apparatus of  claim 14 , wherein (b) further includes partitioning the message into a plurality of blocks. 
     
     
         18 . The apparatus of  claim 14 , wherein the modeling includes providing an initial speed of the ball with reference to the wheel and stopping the modeling when the speed of the ball is a predetermined value or less. 
     
     
         19 . The apparatus of  claim 18 , wherein the modeling includes modeling impacts of the ball with the wheel and modeling friction according to a position of the ball. 
     
     
         20 . The apparatus of  claim 14 , further comprising:
 receiving at the processor from the port a hash value associated with the message;   comparing at the processor the received hash value to the stored hash value of (g); and   authenticating the message if the comparison indicates a match.   
     
     
         21 . The apparatus of  claim 14 , wherein the message is one of a digital signature or document, a digital message, a secret key or an identifier. 
     
     
         22 . The apparatus of  claim 14 , further comprising:
 providing a security parameter; and   repeating the method a number of times equal to the security parameter.   
     
     
         23 . The apparatus of  claim 14 , wherein each value in the matrix is one bit of data, one byte of data, one 16-bit word, one 32-bit word, or one 128-bit word. 
     
     
         24 . The apparatus of  claim 15 , wherein the roulette game algorithm includes a first function determining the ball characteristics, a second function determining friction between the ball and the wheel, and a third function determining impacts of the ball on the wheel. 
     
     
         25 . The apparatus of  claim 14 , wherein (e) includes extracting the hash value from the table.

Join the waitlist — get patent alerts

Track US2010304826A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.