A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

This invention relates to encryption of software and more specifically to encryption and decryption of e-mail and other digital data.

The Internet and Internet communications such as e-mail have enjoyed widespread success. However, there are significant concerns about preventing data breaches and ways of securing digital communications.

There is a need for improved approaches to securing digital communications, especially through encryption.

BRIEF SUMMARY OF THE INVENTION

A system encrypts and decrypts e-mail, messages, and other digital data. By using quantum random number generators, the system has improved data security. Using a quantum random number, an agent (at a sender side) generates an encryption key which is used to automatically encrypt a message. The encryption key is stored at a key server. The encrypted message will be sent by an application using its standard transmission means such as SMTP, SMS, and others. The encrypted message can be automatically unencrypted by using an agent (at a recipient side) and retrieving the key from the key server. The system also provides an optional double encryption, where the message is encrypted with a user-generated password before being encrypted using the encryption key.

In an implementation, a method includes: installing an encryption helper agent for use with a first Web e-mail application at a first device; invoking the first Web e-mail application (e.g., Gmail, Yahoo Mail, or Outlook) via a browser on the first device; within the first Web e-mail application, invoking the encryption helper agent; receiving a message input by the user in an input screen (e.g., pop-up window) generated by the encryption helper agent within the first Web e-mail application, without exiting the first Web e-mail application; from the encryption helper agent, requesting a quantum random number from a quantum random number generator server; using the quantum random number received, within the first Web e-mail application, generating an encryption key; and using the encryption helper agent within the first Web e-mail application, sending a copy of the encryption key to the encryption key server and receiving a transaction receipt identifier (e.g., number or transaction ID) from an encryption key server.

The method includes: using the encryption helper agent within the first Web e-mail application, encrypting the message using the encryption key and inserting the encrypted message in a body section of a new message screen of the first Web e-mail application in a form of a uniform resource locator (URL) link; and using the encryption helper agent within the first Web e-mail application, adding the transaction receipt identifier in unencrypted form to the body section of the new message screen of the first Web e-mail application. The encrypted message and the transaction receipt identifier in the body section of a new message screen will be transmitted by the first Web e-mail application.

In various implementations, the method can include: installing the encryption helper agent for use with a second Web e-mail application at a second device; receiving the encrypted message at the second Web e-mail application on the second device; invoking the encryption helper agent within the second Web e-mail application; upon receiving a decryption request, at the encryption helper agent, sending the transaction receipt identifier to the encryption key server and receiving the corresponding encryption key used to the encrypt the encrypted message; and using the encryption helper agent within the second Web e-mail application, decrypting the encrypted message using the encryption key.

The invoking the encryption helper agent within the second Web e-mail application can be by way a user at the second device clicking on the URL link of the encrypted message. The encryption helper agent can be installed as an application within an application framework of the Web e-mail application. The encryption helper agent can be installed as a plug-in of the browser.

The method can include after passage of specific period of time, automatically removing the copy of the encryption key stored at the encryption key server. The method can include: after the encrypted message has been transmitted by the first Web e-mail application, and before the encrypted message has been decrypted at the second device, receiving a request at the encryption key server to revoke the sent encrypted message; and in response to the revoke request, deleting the copy of the encryption key, whereby the encryption helper agent within the second Web e-mail application will be unable to decrypt the encrypted message without the availability of the copy of the encryption key.

The method can include: after the encrypted message has been transmitted by the first Web e-mail application, receiving a request at the encryption key server to delete the sent encrypted message; and in response to the delete request, deleting the copy of the encryption key, whereby the encryption helper agent within the second Web e-mail application will be unable to decrypt the encrypted message without the availability of the copy of the encryption key.

The encrypted message is transmitted by the first Web e-mail application via a simple mail transfer protocol (SMTP) protocol. The encryption helper agent can have an option to allow to user to encrypt the message before encryption using quantum random number received using a password. This would provide double encryption. The encrypted message is not stored at a server maintained by a service provider of the encryption helper agent.

In an implementation, a method includes: installing an encryption helper application on a first mobile device (e.g., iPhone iOS or Android); invoking a first messaging application on the first mobile device; within the first messaging application, selecting the encryption helper application from a menu of applets made available by the first messaging application; upon receiving an encryption request, via the encryption helper application, requesting a quantum random number from a quantum random number generator server; and using the quantum random number received, within the first messaging application, generating an encryption key.

The method includes: using the encryption helper application within the first messaging application, sending a copy of the encryption key and receiving a transaction receipt identifier from an encryption key server; receiving a message input by the user in the encryption helper application within the messaging application, without exiting the first messaging application; using the encryption helper application within the first messaging application, encrypting the message using the encryption key; and using the encryption helper application, inputting the encrypted message along the transaction receipt identifier to the first messaging application for transmission by the first messaging application.

In various implementations, the method can include: installing the encryption helper application on a second mobile device; receiving the encrypted message at a second messaging application on the second mobile device; determining that encrypted message is encrypted and invoking the encryption helper application within the second messaging application; upon receiving a decryption request, at the encryption helper application, sending the transaction receipt to the encryption key server and receiving the corresponding encryption key used to the encrypt the encrypted message; and using the encryption helper application within the second messaging application, decrypting the message using the encryption key.

The method can include after passage of specific period of time, automatically removing the copy of the encryption key stored at the encryption key server. The method can include: after the encrypted message has been transmitted by the first messaging application, and before the encrypted message has been decrypted at the second mobile device, receiving a request at the encryption key server to revoke the sent encrypted message; and in response to the revoke request, deleting the copy of the encryption key, whereby the encryption helper application within the second messaging application will be unable to decrypt the encrypted message without the availability of the copy of the encryption key.

The method can include: after the encrypted message has been transmitted by the first messaging application, receiving a request at the encryption key server to delete the sent encrypted message; and in response to the delete request, deleting the copy of the encryption key, whereby the encryption helper application within the second messaging application will be unable to decrypt the encrypted message without the availability of the copy of the encryption key.

The first messaging application can be Apple iMessage. The encrypted message can be transmitted by the first messaging application via a short message service (SMS) protocol. The encrypted message is not stored at a server maintained by a service provider of the encryption helper application. The message, in unencrypted form, is not stored at a server maintained by a service provider of the first messaging application. A first service provider of the encryption helper application (e.g., XQ) is different from a second service provider of the first messaging application (e.g. Apple).

Other objects, features, and advantages of the present invention will become apparent upon consideration of the following detailed description and the accompanying drawings, in which like reference designations represent like features throughout the figures.

