Encryption System using Web Browsers and Untrusted Web Servers
First Claim
1. A computer-implemented method comprising:
- (A) at a first web browser;
(1) receiving a plaintext message from a first user;
(2) encrypting the plaintext message, using an encryption key, to produce an encrypted message;
(3) hashing the encryption key to produce a first hash of the encryption key; and
(4) transmitting the encrypted message and the first hash of the encryption key to a web server;
(B) at a second web browser;
(1) receiving the encryption key from a second user;
(2) hashing the encryption key to produce a second hash of the encryption key; and
(3) transmitting the second hash of the encryption key to the web server;
(C) at the web server;
(1) receiving the encrypted message and the first hash of the encryption key from the first web browser;
(2) receiving the second hash of the encryption key from the second web browser;
(3) using the first and second hash to identify the encrypted message; and
(4) transmitting the encrypted message to the second web browser; and
(D) at the second web browser;
(1) receiving the encrypted message from the web server; and
(2) using the encryption key to decrypt the encrypted message.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment of the present invention, a first user—the creator—uses a web browser to encrypt some information. The web browser provides to the creator a URL which contains the key used for encryption, such as in the form of an anchor embedded within a URL. The web browser also provides a hash of the cryptographic key and the encrypted information to a web server. The creator transmits the URL to a second user—the viewer—who provides the URL to a web browser, thereby causing the web browser to navigate to a decryption web page maintained by the web server, but without transmitting the cryptographic key to the web server. The viewer'"'"'s web browser hashes the cryptographic key and sends the hash to the web server, which uses the hash to identify and return the encrypted information to the viewer'"'"'s web browser, which in turn uses the encryption key to decrypt the message and display the decrypted message to the viewer.
85 Citations
2 Claims
-
1. A computer-implemented method comprising:
-
(A) at a first web browser; (1) receiving a plaintext message from a first user; (2) encrypting the plaintext message, using an encryption key, to produce an encrypted message; (3) hashing the encryption key to produce a first hash of the encryption key; and (4) transmitting the encrypted message and the first hash of the encryption key to a web server; (B) at a second web browser; (1) receiving the encryption key from a second user; (2) hashing the encryption key to produce a second hash of the encryption key; and (3) transmitting the second hash of the encryption key to the web server; (C) at the web server; (1) receiving the encrypted message and the first hash of the encryption key from the first web browser; (2) receiving the second hash of the encryption key from the second web browser; (3) using the first and second hash to identify the encrypted message; and (4) transmitting the encrypted message to the second web browser; and (D) at the second web browser; (1) receiving the encrypted message from the web server; and (2) using the encryption key to decrypt the encrypted message.
-
-
2. A computer-readable medium comprising computer-executable instructions tangibly stored on the computer-readable medium, wherein the instructions are executable by at least one computer processor to perform a method comprising:
-
(A) at a first web browser; (1) receiving a plaintext message from a first user; (2) encrypting the plaintext message, using an encryption key, to produce an encrypted message; (3) hashing the encryption key to produce a first hash of the encryption key; and (4) transmitting the encrypted message and the first hash of the encryption key to a web server; (B) at a second web browser; (1) receiving the encryption key from a second user; (2) hashing the encryption key to produce a second hash of the encryption key; and (3) transmitting the second hash of the encryption key to the web server; (C) at the web server; (1) receiving the encrypted message and the first hash of the encryption key from the first web browser; (2) receiving the second hash of the encryption key from the second web browser; (3) using the first and second hash to identify the encrypted message; and (4) transmitting the encrypted message to the second web browser; and (D) at the second web browser; (1) receiving the encrypted message from the web server; and (2) using the encryption key to decrypt the encrypted message.
-
Specification