BACKGROUND

Encryption technologies provide a number of benefits to many aspects of the computing industry. For instance, encrypted files may be shared between computers while providing controlled access to the contents of the files. In one illustrative example, a user of a client computer may encrypt a document using a password. The user may share the encrypted document with a remote computer, such as a server, with some certainty that the contents of the document will not be accessed without the password.

Although encryption technologies provide a high level of security, most existing technologies require a user to share a password with other users or computers to actually communicate the contents of encrypted data. In the present example, in addition to communicating the encrypted document to the remote computer, the user of the client computer also needs to share the password. Such a scenario may not be desirable for number of reasons. For example, it is common for users to have one password for many systems and documents. Thus, given that practice, if a user shares a document and a corresponding password, the security of other items that use the shared password may be at risk.

It is with respect to these and other considerations that the disclosure made herein is presented.

SUMMARY

Concepts and technologies are described herein for sharing encrypted data with enhanced security. In some configurations, an encryption key is generated from a password by the use of a password-based key generation technology. In addition, input data is then encrypted using the encryption key. The encrypted data and the generated key may be then shared with a remote computer, such as a server. The encrypted data can then be decrypted at the remote computer by the use of the key. By the use of the technologies described herein, the contents of an encrypted file may be accessed at a remote computer without requiring a user to share the password.

Technologies described herein also include the removal of selected metadata to improve the security of the shared content. When a file is encrypted using a password, some encryption technologies also embed metadata within the file. In some instances, the metadata may include information describing the encryption algorithm and other data used to generate the encrypted data. Techniques described herein remove selected portions of the metadata from an encrypted file, thus limiting the distribution of data that may be used to generate the password.

In one illustrative example, configurations disclosed herein may involve the verification of a password before any input data, which may include plain-text data, is encrypted. In such implementations, a verifier may be generated from a password and other input data such as verifier salt. In some configurations, when the input data is encrypted, the verifier may be integrated with the encrypted data. In such configurations, the verifier is not encrypted. It can be appreciated that some existing technologies for encrypting data may also integrate the verifier salt with the encrypted data. If such technologies are used, configurations herein may remove the verifier salt. Thus, as will be described below, when the encrypted data is communicated to another computer or user, the encrypted data and the verifier are delivered without the salt verifier. For illustrative purposes, the salt verifier is also referred to herein as “salt data.”

Technologies described herein also include techniques for removing select metadata from the generated key. In addition to generating a key, some password-based key derivation (PBKD) algorithms may produce PBKD-specific metadata such as information describing the encryption algorithm. Technologies described herein include techniques for removing select portions of the PBKD-specific metadata.

It should be appreciated that the above-described subject matter may also be implemented as a computer-controlled apparatus, a computer process, a computing system, or as an article of manufacture such as a computer-readable medium. These and various other features will be apparent from a reading of the following Detailed Description and a review of the associated drawings.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The term “techniques,” for instance, can refer to systems, methods, computer-readable instructions, modules, algorithms, hardware logic and/or operations as permitted by the context described above and throughout the document. Items or conditions that Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.

