Hash function using a roulette game process
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-modified1 . 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.