# US 2014/0195804 A1 · Techniques for secure data exchange

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

- Number: US 2014/0195804 A1
- Document ID: US20140195804A1
- Status: Published application
- Kind: A1
- Application number: 14/050,947
- Filed: 2013-10-10
- Published: 2014-07-10
- Earliest claimed: 2012-10-12
- Assignees: SafelyLocked, LLC
- Applicants: SafelyLocked, LLC
- Inventors: Harri Hursti
- Web page: https://patentgrep.com/patent/US20140195804A1

## CPC

- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/0863: {involving passwords or one-time passwords (network architectures or network communication protocols for using one-time keys in a packet data network H04L63/067)}
- H04L 9/14: using a plurality of keys or algorithms
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed are various embodiments for securely sending and receiving data between one or more clients. A ciphertext key suitable for use by a first encryption algorithm is generated. Plaintext data is encrypted according to the first encryption algorithm using the first encryption key. The ciphertext key is then encrypted using a second encryption algorithm configured with a recipient key to generate a recipient wrapper. The ciphertext data and the recipient wrapper are then transmitted to a remote computing device via a network.

## Claims

### Claim 1

A system, comprising:
a computing device having a processor; and
a cryptographic application executable in the computing device, the cryptographic application comprising:
logic that generates a ciphertext key, the ciphertext key being suitable for use by a first encryption algorithm;
logic that encrypts plaintext data using the first encryption algorithm configured with the ciphertext key, wherein the first encryption algorithm operating upon the plaintext data produces ciphertext data;
logic that encrypts the ciphertext key using a second encryption algorithm configured with a recipient key, wherein the second encryption algorithm operating upon the ciphertext key produces a recipient wrapper that comprises the encrypted ciphertext key; and
logic that transmits the ciphertext data and the recipient wrapper to at least one remote computing device accessible via a network.

### Claim 2 (depends on 1)

The system of claim 1, further comprising a virtual machine executable in the computing device, the cryptographic application executable in the virtual machine.

### Claim 3 (depends on 1)

The system of claim 1, wherein the recipient key is based at least in part upon a passphrase.

### Claim 4 (depends on 1)

The system of claim 1, wherein the recipient key is based at least in part upon a public key of a user.

### Claim 5 (depends on 1)

The system of claim 1, wherein the cryptographic application further comprises logic that generates a cryptographic hash value of the plaintext data, the cryptographic hash value being transmitted to the at least one remote computing device.

### Claim 6 (depends on 1)

The system of claim 1, wherein the ciphertext data is divided into a plurality of segments, the segments being transmitted independently to the at least one remote computing device.

### Claim 7 (depends on 1)

The system of claim 1, wherein the recipient key is one of a plurality of unique recipient keys, and the cryptographic application further comprises:
logic that identifies a recipient for the plaintext data; and
logic that selects the recipient key corresponding to the identified recipient.

### Claim 8

A computer-implemented method comprising:
generating a ciphertext key, the ciphertext key being suitable for use by a first encryption algorithm;
encrypting plaintext data using the first encryption algorithm configured with the ciphertext key, wherein the first encryption algorithm operating upon the plaintext data produces ciphertext data;
encrypting the ciphertext key using a second encryption algorithm configured with a recipient key, wherein the second encryption algorithm operating upon the ciphertext key produces a recipient wrapper; and
transmitting the ciphertext data and the recipient wrapper to at least one remote computing device accessible via a network.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, wherein the computer-implemented method is implemented in a secure sandbox provided by at least one computing device.

### Claim 10 (depends on 8)

The computer-implemented method of claim 8, wherein the recipient key is based at least in part upon a passphrase.

### Claim 11 (depends on 8)

The computer-implemented method of claim 8, wherein the recipient key is based at least in part upon a public key of a user.

### Claim 12 (depends on 8)

The computer-implemented method of claim 8, further comprising:
generating a cryptographic hash value of the plaintext data; and
transmitting the cryptographic hash value to the at least one remote computing device.

### Claim 13 (depends on 8)

The computer-implemented method of claim 8, further comprising independently transmitting to the at least one remote computing device a plurality of segments of the ciphertext data.

### Claim 14 (depends on 8)

The computer-implemented method of claim 8, wherein the first encryption algorithm comprises a symmetric encryption algorithm and the ciphertext key further permits decryption of the ciphertext data.

### Claim 15

A non-transitory computer-readable medium comprising a program executable in a computing device, wherein the program comprises:
code that generates a ciphertext key, the ciphertext key being suitable for use by a first encryption algorithm;
code that encrypts plaintext data using the first encryption algorithm configured with the ciphertext key, wherein the first encryption algorithm operating upon the plaintext data produces ciphertext data;
code that encrypts the ciphertext key using a second encryption algorithm configured with a recipient key, wherein the second encryption algorithm operating upon the ciphertext key produces a recipient wrapper that comprises the encrypted ciphertext key; and
code that transmits the ciphertext data and the recipient wrapper to at least one remote computing device accessible via a network.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the first encryption algorithm comprises a symmetric encryption algorithm and the ciphertext key further permits decryption of the ciphertext data.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the recipient key is based at least in part upon a passphrase.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the recipient key is based at least in part upon a public key of a user.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the program further comprises:
code that generates a cryptographic hash value of the plaintext data; and
code that transmits the cryptographic hash value to the at least one remote computing device.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the ciphertext data is divided into a plurality of segments and the program further comprises code that independently transmits the plurality of segments to the at least one remote computing device.
