# US 8,542,827 B2 · Shared encryption key generation via accelerometer digitization

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,542,827 B2
- Document ID: US8542827B2
- Status: Granted
- Kind: B2
- Application number: 12/920,525
- Filed: 2009-03-05
- Published: 2011-01-13
- Granted: 2013-09-24
- Earliest claimed: 2008-03-05
- Assignees: NXP B.V.
- Applicants: Charles Razzell
- Inventors: Charles Razzell
- Web page: https://patentgrep.com/patent/US8542827B2

## CPC

- H04L 9/0838: {Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these (network architectures or network communication protocols for key exchange in a packet data network H04L63/061)}
- H04W 12/50: Secure pairing of devices
- H04L 2209/80: Wireless
- H04W 12/68: Gesture-dependent or behaviour-dependent
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

An apparatus and method for generating a shared secret between at least two wireless portable electronic devices. A shared secret is generated by holding together the at least two devices and shaking them. An acceleration of the at least two devices is measured at least during a time window beginning at a time corresponding to when a magnitude of the acceleration exceeds a predetermined threshold. The acceleration is sampled, resulting in a plurality of vectors, such that a first vector is an initial sample of the acceleration during the time window. In some embodiments, the acceleration is measured in three dimensions. Dot products are calculated between the first vector and each of a plurality of subsequent vectors, resulting in an array of scalars. At least a portion of this array is used to generate the shared secret between the at least two devices.

## Claims

### Claim 1

A method performed by a device for generating a shared secret between the device and at least one additional device, the method comprising:
measuring an acceleration of the device at least during a time window beginning at a time corresponding to when a magnitude of the acceleration exceeds a threshold;
sampling the acceleration to generate a plurality of vectors, a first vector among the plurality of vectors being an initial sample of the acceleration during the time window;
calculating dot products between the first vector and each of subsequent vectors among the plurality of vectors, resulting in an array of scalars;
reducing a resolution of at least one of the array of scalars or the plurality of vectors; and
utilizing at least a portion of the array of scalars to generate the shared secret.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising checking the array of scalars for a compliance with a characteristic.

### Claim 3 (depends on 2)

The method according to claim 2, further comprising notifying a user of a status of the compliance with the characteristic.

### Claim 4 (depends on 1)

The method according to claim 1, wherein said measuring the acceleration comprises measuring the acceleration in three dimensions.

### Claim 5 (depends on 1)

The method according to claim 1, further comprising: setting up a secure link between the at least two devices; and sending a confirmation datagram between the at least two devices.

### Claim 6 (depends on 5)

The method according to claim 5, further comprising notifying a user of a success or a failure of the confirmation datagram.

### Claim 7 (depends on 1)

The method according to claim 1, further comprising: calculating error correction syndromes corresponding to the array of scalars calculated in at least one of the devices; transmitting the error correction syndromes between the at least two devices; and utilizing the error correction syndromes to correct an error of at least one locally generated scalar relative to scalars generated by the other of the at least two devices.

### Claim 8

An apparatus comprising:
a computation unit comprising a timer, a memory, at least one communications port, and a central processing unit;
a three-dimensional accelerometer for measuring acceleration information during a time window beginning at a time corresponding to when a magnitude of acceleration exceeds a threshold; and
a wireless communications device coupled to the computation unit,
wherein the computation unit is configured to:
generate a reduced resolution array by coarsely quantizing scalar products,
generate a private key corresponding to the acceleration information.

### Claim 9 (depends on 8)

The apparatus according to claim 8, wherein the scalar products are generated based on an initial acceleration vector and each of a plurality of subsequent acceleration vectors.

### Claim 10 (depends on 9)

The apparatus according to claim 9, wherein the private key corresponds to said reduced resolution array.

### Claim 11 (depends on 9)

The apparatus according to claim 9, wherein the computation unit is further configured to check said scalar products for compliance with a reference characteristic.

### Claim 12 (depends on 9)

The apparatus according to claim 9, wherein the computation unit is further adapted to calculate error correction syndromes corresponding to the scalar products, and wherein errors in acceleration data are corrected utilizing the error correction syndromes.

### Claim 13

An apparatus comprising:
a computation unit comprising a timer, a memory, at least one communications port, and a central processing unit;
an accelerometer for measuring acceleration information; and
a wireless communications device coupled to the computation unit,
wherein the computation unit is configured to:
calculate scalar products of an initial acceleration vector and a plurality of subsequent acceleration vectors,
generate a reduced resolution array by coarsely quantizing the scalar products, and
generate a private key corresponding to the reduced resolution array.

### Claim 14 (depends on 13)

The apparatus according to claim 13, wherein the accelerometer comprises a three-dimensional accelerometer.

### Claim 15 (depends on 13)

The apparatus according to claim 13, wherein the computation unit is further configured to check said scalar products for compliance with a reference characteristic.

### Claim 16 (depends on 13)

The apparatus according to claim 13, wherein the computation unit is further adapted to calculate error correction syndromes corresponding to the scalar products, and wherein errors in acceleration data are corrected utilizing the error correction syndromes.

### Claim 17 (depends on 1)

The method according to claim 1, wherein reducing the resolution of at least one of the array of scalars or the plurality of vectors comprises using only a subset of bits representing at least one of: a scalar of the array of scalars and a vector of the plurality of vectors.

### Claim 18 (depends on 10)

The apparatus according to claim 10, wherein coarsely quantizing the scalar products comprises generating a reduced resolution value for a scalar product of the scalar products by utilizing only a subset of bits representing the scalar product.

### Claim 19 (depends on 13)

The apparatus according to claim 13, wherein coarsely quantizing the scalar products comprises generating a reduced resolution value for a scalar product of the scalar products by utilizing only a subset of bits representing the scalar product.
