From 7ca1dac9745c9e82d1847ed3a7f6ba50063c6810 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 13:02:40 -0600 Subject: [PATCH 01/67] Rewrite the README with links to other docs --- README.md | 111 +++++++++------------ doc/01-Formats.md | 14 --- doc/02-Crypto.php.md | 93 ------------------ doc/03-File.php.md | 127 ------------------------- doc/README.md | 4 - docs/CryptoDetails.md | 0 docs/DeveloperDocs.md | 53 +++++++++++ docs/InstallingAndVerifying.md | 0 docs/Troubleshooting.md | 0 docs/Tutorial.md | 0 docs/classes/Crypto.md | 0 docs/classes/File.md | 0 docs/classes/Key.md | 0 docs/classes/KeyProtectedByPassword.md | 0 14 files changed, 96 insertions(+), 306 deletions(-) delete mode 100644 doc/01-Formats.md delete mode 100644 doc/02-Crypto.php.md delete mode 100644 doc/03-File.php.md delete mode 100644 doc/README.md create mode 100644 docs/CryptoDetails.md create mode 100644 docs/DeveloperDocs.md create mode 100644 docs/InstallingAndVerifying.md create mode 100644 docs/Troubleshooting.md create mode 100644 docs/Tutorial.md create mode 100644 docs/classes/Crypto.md create mode 100644 docs/classes/File.md create mode 100644 docs/classes/Key.md create mode 100644 docs/classes/KeyProtectedByPassword.md diff --git a/README.md b/README.md index a9f726e..f465c87 100644 --- a/README.md +++ b/README.md @@ -3,88 +3,63 @@ php-encryption [![Build Status](https://travis-ci.org/defuse/php-encryption.svg?branch=master)](https://travis-ci.org/defuse/php-encryption) -This is a class for doing symmetric encryption in PHP. **Requires PHP 5.4 or newer.** +This is a library for encrypting data with a key or password in PHP. **It +requires PHP 5.4 or newer.** The current version is v2.0.0, which is supported +by its authors with security and bugfixes until (at least) Jan 01, 2019. -Implementation --------------- +The library is a joint effort between Taylor Hornby and Scott Arciszewski as +well as numerous open-source contributotrs. -Messages are encrypted with AES-256 in CTR mode and are authenticated with -HMAC-SHA256 (Encrypt-then-Mac). HKDF is used to split the user-provided key into -two keys: one for encryption, and the other for authentication. It is -implemented using the `openssl_` and `hash_hmac` functions. +What separates this library from other PHP encryption libraries is, firstly, +that it is secure. The authors used to encounter insecure PHP encryption code on +a daily basis, so they created this library to bring more security to the +ecosystem. Secondly, this library is "difficult to misuse." Like +[libsodium](https://github.com/jedisct1/libsodium), its API is designed to be +easy to use in a secure way and hard to use in an insecure way. -Audit Status +Docmentation ------------- -This code has not been subjected to a formal, paid, security audit. However, it -has received some informal review from members of the PHP security community. - -As the author of this library, I take security very seriously and always opt to -not implement a feature unless I am confident that I can do so without -introducing security bugs. I take particular care to ensure the library is hard -to use in an insecure way, even by someone who is not experienced in -cryptography. - -This library considers many edge cases that most PHP encryption libraries do not -handle correctly. In all likelihood, you are safer using this library than -almost any other encryption library for PHP. - -If you use this library as a part of your business and would like to fund (or -help fund) a formal audit, I would be very grateful. - -Philosophy ------------ - -This library was created after noticing how much insecure PHP encryption code -there is. I once did a Google search for "php encryption" and found insecure -code or advice on 9 of the top 10 results. - -Encryption is becoming an essential component of modern websites. This library -aims to fulfil a subset of that need: Authenticated symmetric encryption of -short strings, given a random key. +Start with the [**Tutorial**](docs/Tutorial.md). You can find instructions for +obtaining this library's code securely in the [Installing and +Verifying](docs/InstallingAndVerifying.md) documentation. -This library is developed around several core values: +After you've read the tutorial and got the code, refer to the formal +documentation for each of the classes this library provides: -- Rule #1: Security is prioritized over everything else. +- [Crypto](docs/classes/Crypto.md) +- [File](docs/classes/File.md) +- [Key](docs/classes/Key.md) +- [KeyProtectedByPassword](docs/classes/KeyProtectedByPassword.md) - > Whenever there is a conflict between security and some other property, - > security will be favored. For example, the library has runtime tests, - > which make it slower, but will hopefully stop it from encrypting stuff - > if the platform it's running on is broken. +If you encounter difficulties, see the +[Troubleshooting](docs/Troubleshooting.md) answers. The fixes to the most +commonly-reported problems are explained there. -- Rule #2: It should be difficult to misuse the library. +If you're a cryptographer and want to understand the nitty-gritty details of how +this library works, look at the [Cryptography Details](docs/CryptoDetails.md) +documentation. - > We assume the developers using this library have no experience with - > cryptography. We only assume that they know that the "key" is something - > you need to encrypt and decrypt the messages, and that it must be - > protected. Whenever possible, the library should refuse to encrypt or - > decrypt messages when it is not being used correctly. +If you're interested in contributing to this library, see the [Developer +Documentation](docs/DeveloperDocs.md). -- Rule #3: The library aims only to be compatible with itself. - - > Other PHP encryption libraries try to support every possible type of - > encryption, even the insecure ones (e.g. ECB mode). Because there are so - > many options, inexperienced developers must make decisions between - > things like "CBC" mode and "ECB" mode, knowing nothing about either one, - > which inevitably creates vulnerabilities. - - > This library will only support one secure mode. A developer using this - > library will call "encrypt" and "decrypt" not caring about how they are - > implemented. - -- Rule #4: The library should require no special installation. +Examples +--------- - > Some PHP encryption libraries, like libsodium-php [1], are not - > straightforward to install and cannot packaged with "just download and - > extract" applications. This library will always be just a handful of PHP - > files that you can copy to your source tree and require(). +If the documentation is not enough for you to understand how to use this +library, then you can look at an example project that uses this library: -References: +- [encutil](https://github.com/defuse/encutil) - [1] https://github.com/jedisct1/libsodium-php +Security Audit Status +--------------------- -Authors ---------- +This code has not been subjected to a formal, paid, security audit. However, it +has received lots of review from members of the PHP security community. -This library is authored by Taylor Hornby and Scott Arciszewski. +This library considers many edge cases that most PHP encryption libraries do not +handle correctly. In all likelihood, you are safer using this library than +almost any other encryption library for PHP. +If you use this library as a part of your business and would like to help fund +a formal audit, please [contact Taylor Hornby](https://defuse.ca/contact.htm). diff --git a/doc/01-Formats.md b/doc/01-Formats.md deleted file mode 100644 index c40a754..0000000 --- a/doc/01-Formats.md +++ /dev/null @@ -1,14 +0,0 @@ -# Cryptographic Message Formats - -## `\Defuse\Crypto\Crypto` - -`[____VERSION____][____HMAC____][____HKDF_SALT____][____IV____][____CIPHERTEXT____]` - - -### Legacy Encryption format (can only be decrypted with `legacyDecrypt()` - -`[____HMAC____][____IV____][____CIPHERTEXT____]` - -## `\Defuse\Crypto\File` - -`[____VERSION____][____HKDF_SALT____][____FIRST_NONCE____][____CIPHERTEXT____][____HMAC____]` diff --git a/doc/02-Crypto.php.md b/doc/02-Crypto.php.md deleted file mode 100644 index 48f12c6..0000000 --- a/doc/02-Crypto.php.md +++ /dev/null @@ -1,93 +0,0 @@ -Symmetric Key Encryption -======================== - -At a glance: - -* **Cipher and Mode**: `AES-256-CTR` -* **Padding**: None (CTR mode doesn't pad) -* **Authentication**: `HMAC-SHA-256` -* **Construction**: `Encrypt then MAC` -* **Algorithm Backend**: `ext/openssl` - -## `\Defuse\Crypto\Crypto` - -**WARNING:** This encryption library is not a silver bullet. It only provides -symmetric encryption given a uniformly random key. This means you **MUST NOT** -use an ASCII string like a password as the key parameter, it **MUST** be -a uniformly random key generated by `createNewRandomKey()`. If you want to -encrypt something with a password, apply a password key derivation function -like PBKDF2 or scrypt with a random salt to generate a key. - -***WARNING:*** Error handling is *very* important, especially for crypto code! - -How to use this code: -===================== - -Generating a Key ----------------- - -```php -try { - $key = \Defuse\Crypto\Key::createNewRandomKey(); - // WARNING: Do NOT encode $key with bin2hex() or base64_encode(), - // they may leak the key to the attacker through side channels. - // - // This library offers these two for cache-timing-safe encoding: - // - // \Defuse\Crypto\Crypto\binToHex() - // \Defuse\Crypto\Crypto\hexToBin() - // -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely create a key'); -} -``` - -Encrypting a Message --------------------- - -```php -$message = 'ATTACK AT DAWN'; -try { - $ciphertext = \Defuse\Crypto\Crypto::Encrypt($message, $key); -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely perform encryption'); -} -``` - -Decrypting a Message --------------------- - -```php -try { - $decrypted = self::Decrypt($ciphertext, $key); -} catch (\Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException $ex) { // VERY IMPORTANT - // Either: - // 1. The ciphertext was modified by the attacker, - // 2. The key is wrong, or - // 3. $ciphertext is not a valid ciphertext or was corrupted. - // Assume the worst. - die('DANGER! DANGER! The ciphertext has been tampered with!'); -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely perform decryption'); -} -``` - - - -Decrypting a Message Encrypted with version 1 of this Library -------------------------------------------------------------- - -```php -try { - $decrypted = self::legacyDecrypt($ciphertext, $key); -} catch (\Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException $ex) { // VERY IMPORTANT - // Either: - // 1. The ciphertext was modified by the attacker, - // 2. The key is wrong, or - // 3. $ciphertext is not a valid ciphertext or was corrupted. - // Assume the worst. - die('DANGER! DANGER! The ciphertext has been tampered with!'); -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely perform decryption'); -} -``` diff --git a/doc/03-File.php.md b/doc/03-File.php.md deleted file mode 100644 index ef38ebf..0000000 --- a/doc/03-File.php.md +++ /dev/null @@ -1,127 +0,0 @@ -Symmetric Key File Encryption -============================= - -At a glance: - -* **Cipher and Mode**: `AES-256-CTR` -* **Padding**: None (CTR mode doesn't pad) -* **Authentication**: `HMAC-SHA-256` -* **Construction**: `Encrypt then MAC` -* **Algorithm Backend**: `ext/openssl` - -## `\Defuse\Crypto\File` - -**WARNING:** This encryption library is not a silver bullet. It only provides -symmetric encryption given a uniformly random key. This means you **MUST NOT** -use an ASCII string like a password as the key parameter, it **MUST** be -a uniformly random key generated by `createNewRandomKey()`. If you want to -encrypt something with a password, apply a password key derivation function -like PBKDF2 or scrypt with a random salt to generate a key. - -***WARNING:*** Error handling is *very* important, especially for crypto code! - -How to use this code: -===================== - -Generating a Key ----------------- - -```php -try { - $key = \Defuse\Crypto\Key::createNewRandomKey(); - // WARNING: Do NOT encode $key with bin2hex() or base64_encode(), - // they may leak the key to the attacker through side channels. - // - // This library offers these two for cache-timing-safe encoding: - // - // \Defuse\Crypto\File\binToHex() - // \Defuse\Crypto\File\hexToBin() - // -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely create a key'); -} -``` - -Encrypting a File ------------------ - -```php -/* - // Don't forget to generate a random key - $key = \Defuse\Crypto\Key::createNewRandomKey(); -*/ - -$inputFilename = 'image.jpg'; -$outputFilename = 'image.enc.jpg'; - -try { - \Defuse\Crypto\File::encryptFile( - $inputFilename, - $outputFilename, - $key - ); -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely perform encryption'); -} -``` - -Decrypting a File ------------------ - -```php -/* - // Don't forget to generate a random key - $key = \Defuse\Crypto\Key::createNewRandomKey(); -*/ - -$inputFilename = 'image.enc.jpg'; -$outputFilename = 'image.dec.jpg'; - -try { - \Defuse\Crypto\File::decryptFile( - $inputFilename, - $outputFilename, - $key - ); -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely perform decryption'); -} -``` - -Encrypting a File Resource --------------------------- - -```php -/* - // Don't forget to generate a random key - $key = \Defuse\Crypto\Key::createNewRandomKey(); -*/ - -$iFile = \fopen('image2.jpg', 'rb'); -$oFile = \fopen('image2.enc.jpg', 'wb'); - -try { - \Defuse\Crypto\File::encryptResource($iFile, $oFile, $key); -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely perform encryption'); -} -``` - -Decrypting a File Resource --------------------------- - -```php -/* - // Don't forget to generate a random key - $key = \Defuse\Crypto\Key::createNewRandomKey(); -*/ - -$iFile = \fopen('image2.enc.jpg', 'rb'); -$oFile = \fopen('image2.dec.jpg', 'wb'); - -try { - \Defuse\Crypto\File::decryptResource($iFile, $oFile, $key); -} catch (\Defuse\Crypto\Exception\EnvironmentIsBrokenException $ex) { - die('Cannot safely perform decryption'); -} -``` diff --git a/doc/README.md b/doc/README.md deleted file mode 100644 index 125099e..0000000 --- a/doc/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# PHP Encryption Documentation - -Web: https://defuse.ca/secure-php-encryption.htm -GitHub: https://github.com/defuse/php-encryption \ No newline at end of file diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/DeveloperDocs.md b/docs/DeveloperDocs.md new file mode 100644 index 0000000..c3fc139 --- /dev/null +++ b/docs/DeveloperDocs.md @@ -0,0 +1,53 @@ +Information The Developers of php-encryption +============================================= + +Philosophy +----------- + +This library was created after noticing how much insecure PHP encryption code +there is. I once did a Google search for "php encryption" and found insecure +code or advice on 9 of the top 10 results. + +Encryption is becoming an essential component of modern websites. This library +aims to fulfil a subset of that need: Authenticated symmetric encryption of +short strings, given a random key. + +This library is developed around several core values: + +- Rule #1: Security is prioritized over everything else. + + > Whenever there is a conflict between security and some other property, + > security will be favored. For example, the library has runtime tests, + > which make it slower, but will hopefully stop it from encrypting stuff + > if the platform it's running on is broken. + +- Rule #2: It should be difficult to misuse the library. + + > We assume the developers using this library have no experience with + > cryptography. We only assume that they know that the "key" is something + > you need to encrypt and decrypt the messages, and that it must be + > protected. Whenever possible, the library should refuse to encrypt or + > decrypt messages when it is not being used correctly. + +- Rule #3: The library aims only to be compatible with itself. + + > Other PHP encryption libraries try to support every possible type of + > encryption, even the insecure ones (e.g. ECB mode). Because there are so + > many options, inexperienced developers must make decisions between + > things like "CBC" mode and "ECB" mode, knowing nothing about either one, + > which inevitably creates vulnerabilities. + + > This library will only support one secure mode. A developer using this + > library will call "encrypt" and "decrypt" not caring about how they are + > implemented. + +- Rule #4: The library should require no special installation. + + > Some PHP encryption libraries, like libsodium-php [1], are not + > straightforward to install and cannot packaged with "just download and + > extract" applications. This library will always be just a handful of PHP + > files that you can copy to your source tree and require(). + +References: + + [1] https://github.com/jedisct1/libsodium-php diff --git a/docs/InstallingAndVerifying.md b/docs/InstallingAndVerifying.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Tutorial.md b/docs/Tutorial.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/classes/File.md b/docs/classes/File.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/classes/Key.md b/docs/classes/Key.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/classes/KeyProtectedByPassword.md b/docs/classes/KeyProtectedByPassword.md new file mode 100644 index 0000000..e69de29 From 8b96aec8e465fcace9e368f09ed8cc5dbdc378a4 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 13:17:31 -0600 Subject: [PATCH 02/67] Write the developer docs. --- README.md | 10 +++---- docs/DeveloperDocs.md | 65 +++++++++++++++++++++++++++---------------- 2 files changed, 45 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index f465c87..a71fe72 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ php-encryption This is a library for encrypting data with a key or password in PHP. **It requires PHP 5.4 or newer.** The current version is v2.0.0, which is supported -by its authors with security and bugfixes until (at least) Jan 01, 2019. +by its authors with security and bugfixes until Jan 01, 2019. The library is a joint effort between Taylor Hornby and Scott Arciszewski as well as numerous open-source contributotrs. @@ -55,11 +55,9 @@ Security Audit Status --------------------- This code has not been subjected to a formal, paid, security audit. However, it -has received lots of review from members of the PHP security community. - -This library considers many edge cases that most PHP encryption libraries do not -handle correctly. In all likelihood, you are safer using this library than -almost any other encryption library for PHP. +has received lots of review from members of the PHP security community. In all +likelihood, you are safer using this library than almost any other encryption +library for PHP. If you use this library as a part of your business and would like to help fund a formal audit, please [contact Taylor Hornby](https://defuse.ca/contact.htm). diff --git a/docs/DeveloperDocs.md b/docs/DeveloperDocs.md index c3fc139..f91625c 100644 --- a/docs/DeveloperDocs.md +++ b/docs/DeveloperDocs.md @@ -1,16 +1,37 @@ Information The Developers of php-encryption ============================================= -Philosophy ------------ +Status +------- + +This library is currently frozen under a long-term support release. We do not +plan to add any new features. We will maintain the library by fixing any bugs +that are reported, or security vulnerabilities that are found. + +Development Environment +------------------------ + +Development is done on Linux. To run the tests, you will need to have the +following tools installed: + +- `php` (with OpenSSL enabled, if you're compiling from source). +- `gpg` + +Running the Tests +------------------ -This library was created after noticing how much insecure PHP encryption code -there is. I once did a Google search for "php encryption" and found insecure -code or advice on 9 of the top 10 results. +Simply run `./test.sh`. This will download a PHPUnit PHAR, verify its +cryptographic signatures, and then use it to run the tests in `test/unit`. -Encryption is becoming an essential component of modern websites. This library -aims to fulfil a subset of that need: Authenticated symmetric encryption of -short strings, given a random key. +Reporting Bugs +--------------- + +Please report bugs, even critical security vulnerabilities, by opening an issue +on GitHub. We recommend disclosing security vulnerabilities found in this +library *publicly* as soon as possible. + +Philosophy +----------- This library is developed around several core values: @@ -25,29 +46,25 @@ This library is developed around several core values: > We assume the developers using this library have no experience with > cryptography. We only assume that they know that the "key" is something - > you need to encrypt and decrypt the messages, and that it must be - > protected. Whenever possible, the library should refuse to encrypt or - > decrypt messages when it is not being used correctly. + > you need to encrypt and decrypt the messages, and that it must be kept + > secret. Whenever possible, the library should refuse to encrypt or decrypt + > messages when it is not being used correctly. - Rule #3: The library aims only to be compatible with itself. > Other PHP encryption libraries try to support every possible type of > encryption, even the insecure ones (e.g. ECB mode). Because there are so - > many options, inexperienced developers must make decisions between - > things like "CBC" mode and "ECB" mode, knowing nothing about either one, - > which inevitably creates vulnerabilities. + > many options, inexperienced developers must decide whether to use "CBC + > mode" or "ECB mode" when both are meaningless terms to them. This + > inevitably leads to vulnerabilities. > This library will only support one secure mode. A developer using this - > library will call "encrypt" and "decrypt" not caring about how they are - > implemented. + > library will call "encrypt" and "decrypt" methods without worrying about + > how they are implemented. - Rule #4: The library should require no special installation. - > Some PHP encryption libraries, like libsodium-php [1], are not - > straightforward to install and cannot packaged with "just download and - > extract" applications. This library will always be just a handful of PHP - > files that you can copy to your source tree and require(). - -References: - - [1] https://github.com/jedisct1/libsodium-php + > Some PHP encryption libraries, like libsodium-php, are not straightforward + > to install and cannot packaged with "just download and extract" + > applications. This library will always be just a handful of PHP files that + > you can copy to your source tree and require(). From e657dca0c6945e9602b8ed1e9fd0ba16c02fa3db Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 13:18:45 -0600 Subject: [PATCH 03/67] Fix headers --- docs/DeveloperDocs.md | 2 +- docs/Troubleshooting.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperDocs.md b/docs/DeveloperDocs.md index f91625c..0353e85 100644 --- a/docs/DeveloperDocs.md +++ b/docs/DeveloperDocs.md @@ -1,4 +1,4 @@ -Information The Developers of php-encryption +Information For Developers of php-encryption ============================================= Status diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index e69de29..475f231 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -0,0 +1,2 @@ +Troubleshooting +================ From f01e9b7d82677d8f7faba1257508d3b78a67d28f Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 13:18:56 -0600 Subject: [PATCH 04/67] For should be lowercase for --- docs/DeveloperDocs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperDocs.md b/docs/DeveloperDocs.md index 0353e85..df2a0ca 100644 --- a/docs/DeveloperDocs.md +++ b/docs/DeveloperDocs.md @@ -1,4 +1,4 @@ -Information For Developers of php-encryption +Information for Developers of php-encryption ============================================= Status From 2f591ddb4a46bc802ad73ecd24ba9c5b7b351bfe Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 13:44:32 -0600 Subject: [PATCH 05/67] Write the troubleshooting docs --- docs/Troubleshooting.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index 475f231..02cc3bd 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -1,2 +1,39 @@ Troubleshooting ================ + +How do I use this library to encrypt passwords? +------------------------------------------------ + +Passwords should not be encrypted, they should be hashed with a *slow* password +hashing function that's designed to slow down password guessing attacks. See +[How to Safely Store Your Users' Passwords in +2016](https://paragonie.com/blog/2016/02/how-safely-store-password-in-2016). + +How do I give it the same key every time instead of a new random key? +---------------------------------------------------------------------- + +A `Key` object can be saved to a string by calling its `saveToAsciiSafeString()` +method. You will have to save that string somewhere safe, and then load it back +into a `Key` object using `Key`'s `loadFromAsciiSafeString` static method. + +Where you store the string depends on your application. For example if you are +using `KeyProtectedByPassword` to encrypt files with a user's login password, +then you should not store the `Key` at all. If you are protecting sensitive data +on a server that may be compromised, then you should store it in a hardware +security module. When in doubt, consult a security expert. + +Why is an EnvironmentIsBrokenException getting thrown? +------------------------------------------------------- + +Either you've encountered a bug in this library, or your system doesn't support +the use of this library. For example, if your system does not have a secure +random number generator, this library will refuse to run, by throwing that +exception, instead of falling back to an insecure random number generator. + +Why am I getting a BadFormatException when loading a Key from a string? +------------------------------------------------------------------------ + +If you're getting this exception, then the string you're giving to +`loadFromAsciiSafeString()` is *not* the same as the string you got from +`saveToAsciiSafeString()`. Perhaps your database column isn't wide enough and +it's truncating the string as you insert it? From 762f20935ccdd1b215dc7238d8d1feaa5ae57bcb Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 14:09:06 -0600 Subject: [PATCH 06/67] Write the cryptography details docs --- README.md | 5 +++-- docs/CryptoDetails.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a71fe72..a2de1e6 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,9 @@ This is a library for encrypting data with a key or password in PHP. **It requires PHP 5.4 or newer.** The current version is v2.0.0, which is supported by its authors with security and bugfixes until Jan 01, 2019. -The library is a joint effort between Taylor Hornby and Scott Arciszewski as -well as numerous open-source contributotrs. +The library is a joint effort between [Taylor Hornby](https://defuse.ca/) and +[Scott Arciszewski](https://paragonie.com/blog/author/scott-arcizewski) as well +as numerous open-source contributotrs. What separates this library from other PHP encryption libraries is, firstly, that it is secure. The authors used to encounter insecure PHP encryption code on diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index e69de29..c5f555c 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -0,0 +1,42 @@ +Cryptography Details +===================== + +Here is a high-level description of how this library works. Any discrepancy +between this documentation and the actual implementation will be considered +a security bug. + +To encrypt a message *m* using a 32-byte key *k*, the following steps are taken: + +1. Generate a random 32-byte string *salt*. +2. Derive the 32-byte authentication key *akey* = + HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForAuthentication", *salt*). +3. Derive the 32-byte encryption key *ekey* = + HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForEncryption", *salt*). +4. Generate a random 16-byte initialization vector *iv*. +5. Compute *c* = AES-256-CTR(*m*, *ekey*, *iv*). +6. Combine *ctxt* = "\xDE\xF5\x02\x00" || *salt* || *iv* || *c*. +7. Compute *h* = HMAC-SHA256(*ctxt*, *akey*). +8. Output *ctxt* || *h*. + +Decryption is roughly the reverse process (see the code for details). The HMAC +is verified before *c* is decrypted. + +For encryption using a password *p*, steps 1-3 above are replaced with: + +1. Generate a random 32-byte string *salt*. +2. Compute *k* = PBKDF2-SHA256(*p*, *salt*, 100000, 32). +3. Derive the 32-byte authentication key *akey* = + HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForAuthentication", *salt*). +4. Derive the 32-byte encryption key *ekey* = + HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForEncryption", *salt*). + +Here, + +- HKDF-SHA256(*k*, *n*, *info*, *salt*) is the key derivation function specified + in RFC 5869 (using SHA256 as the hash function) where *k* is the initial + keying material, *n* is the number of output bytes, *info* is the info string, + and *salt* is the salt. +- AES-256-CTR(*m*, *key*, *iv*) is the encryption of *m* with AES-256 in CTR + mode using key *key* and initialization vector *iv*. +- PBKDF2-SHA256(*p*, *s*, *i*, *n*) is PBKDF2 using *i* iterations of the + hash function SHA256 on the password *p* and salt *s*, outputting *n* bytes. From c3bf2f4b8207041c116e5b93729807c1f1a9fb1c Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 14:13:00 -0600 Subject: [PATCH 07/67] Reorganize the crypto details page --- docs/CryptoDetails.md | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index c5f555c..0db8b5c 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -5,16 +5,28 @@ Here is a high-level description of how this library works. Any discrepancy between this documentation and the actual implementation will be considered a security bug. +Let's start with the following definitions: + +- HKDF-SHA256(*k*, *n*, *info*, *salt*) is the key derivation function specified + in RFC 5869 (using SHA256 as the hash function) where *k* is the initial + keying material, *n* is the number of output bytes, *info* is the info string, + and *salt* is the salt. +- AES-256-CTR(*m*, *key*, *iv*) is the encryption of *m* with AES-256 in CTR + mode using key *key* and initialization vector *iv*. +- PBKDF2-SHA256(*p*, *s*, *i*, *n*) is PBKDF2 using *i* iterations of the + hash function SHA256 on the password *p* and salt *s*, outputting *n* bytes. +- VERSION is the string `"\xDE\xF5\x02\x00"`. +- AUTHINFO is the string `"DefusePHP|V2|KeyForAuthentication"`. +- ENCRINFO is the string `"DefusePHP|V2|KeyForEncryption"`. + To encrypt a message *m* using a 32-byte key *k*, the following steps are taken: 1. Generate a random 32-byte string *salt*. -2. Derive the 32-byte authentication key *akey* = - HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForAuthentication", *salt*). -3. Derive the 32-byte encryption key *ekey* = - HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForEncryption", *salt*). +2. Derive the 32-byte authentication key *akey* = HKDF-SHA256(*k*, 32, AUTHINFO, *salt*). +3. Derive the 32-byte encryption key *ekey* = HKDF-SHA256(*k*, 32, ENCRINFO, *salt*). 4. Generate a random 16-byte initialization vector *iv*. 5. Compute *c* = AES-256-CTR(*m*, *ekey*, *iv*). -6. Combine *ctxt* = "\xDE\xF5\x02\x00" || *salt* || *iv* || *c*. +6. Combine *ctxt* = VERSION || *salt* || *iv* || *c*. 7. Compute *h* = HMAC-SHA256(*ctxt*, *akey*). 8. Output *ctxt* || *h*. @@ -30,13 +42,6 @@ For encryption using a password *p*, steps 1-3 above are replaced with: 4. Derive the 32-byte encryption key *ekey* = HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForEncryption", *salt*). -Here, +The remainder of the process is the same. Notice the reuse of the same *salt* +for PBKDF2 and HKDF-SHA256. -- HKDF-SHA256(*k*, *n*, *info*, *salt*) is the key derivation function specified - in RFC 5869 (using SHA256 as the hash function) where *k* is the initial - keying material, *n* is the number of output bytes, *info* is the info string, - and *salt* is the salt. -- AES-256-CTR(*m*, *key*, *iv*) is the encryption of *m* with AES-256 in CTR - mode using key *key* and initialization vector *iv*. -- PBKDF2-SHA256(*p*, *s*, *i*, *n*) is PBKDF2 using *i* iterations of the - hash function SHA256 on the password *p* and salt *s*, outputting *n* bytes. From 92f619163155807d7e89877f7e188a51cd4bb5d2 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 14:15:02 -0600 Subject: [PATCH 08/67] Better wording --- docs/CryptoDetails.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index 0db8b5c..8ba7197 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -30,10 +30,10 @@ To encrypt a message *m* using a 32-byte key *k*, the following steps are taken: 7. Compute *h* = HMAC-SHA256(*ctxt*, *akey*). 8. Output *ctxt* || *h*. -Decryption is roughly the reverse process (see the code for details). The HMAC -is verified before *c* is decrypted. +Decryption is roughly the reverse process (see the code for details, since the +security of the decryption routine is highly implementation-dependant). -For encryption using a password *p*, steps 1-3 above are replaced with: +For encryption using a password *p*, steps 1-3 above are replaced by: 1. Generate a random 32-byte string *salt*. 2. Compute *k* = PBKDF2-SHA256(*p*, *salt*, 100000, 32). From 31bb0a159bb7cd41555e8ef3b36af351fe9ea23b Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 14:15:35 -0600 Subject: [PATCH 09/67] Fix a word --- docs/CryptoDetails.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index 8ba7197..cedae69 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -31,7 +31,7 @@ To encrypt a message *m* using a 32-byte key *k*, the following steps are taken: 8. Output *ctxt* || *h*. Decryption is roughly the reverse process (see the code for details, since the -security of the decryption routine is highly implementation-dependant). +security of the decryption routine is highly implementation-dependent). For encryption using a password *p*, steps 1-3 above are replaced by: From 50e052870edcf73bafb1b023c68f95da3a69c23b Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 14:16:58 -0600 Subject: [PATCH 10/67] Use the name we defined to shorten --- docs/CryptoDetails.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index cedae69..53a4693 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -37,10 +37,8 @@ For encryption using a password *p*, steps 1-3 above are replaced by: 1. Generate a random 32-byte string *salt*. 2. Compute *k* = PBKDF2-SHA256(*p*, *salt*, 100000, 32). -3. Derive the 32-byte authentication key *akey* = - HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForAuthentication", *salt*). -4. Derive the 32-byte encryption key *ekey* = - HKDF-SHA256(*k*, 32, "DefusePHP|V2|KeyForEncryption", *salt*). +3. Derive the 32-byte authentication key *akey* = HKDF-SHA256(*k*, 32, AUTHINFO, *salt*) +4. Derive the 32-byte encryption key *ekey* = HKDF-SHA256(*k*, 32, ENCRINFO, *salt*) The remainder of the process is the same. Notice the reuse of the same *salt* for PBKDF2 and HKDF-SHA256. From eef2dcab01c5a331ce3082d3f344c56eaf4c30f3 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 14:18:13 -0600 Subject: [PATCH 11/67] Clarify --- docs/CryptoDetails.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index 53a4693..dde18ef 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -13,8 +13,9 @@ Let's start with the following definitions: and *salt* is the salt. - AES-256-CTR(*m*, *key*, *iv*) is the encryption of *m* with AES-256 in CTR mode using key *key* and initialization vector *iv*. -- PBKDF2-SHA256(*p*, *s*, *i*, *n*) is PBKDF2 using *i* iterations of the - hash function SHA256 on the password *p* and salt *s*, outputting *n* bytes. +- PBKDF2-SHA256(*p*, *s*, *i*, *n*) is the password-based key derivation + function defined in RFC 2898, using *i* iterations of the hash function SHA256 + on the password *p* and salt *s*, outputting *n* bytes. - VERSION is the string `"\xDE\xF5\x02\x00"`. - AUTHINFO is the string `"DefusePHP|V2|KeyForAuthentication"`. - ENCRINFO is the string `"DefusePHP|V2|KeyForEncryption"`. @@ -41,5 +42,5 @@ For encryption using a password *p*, steps 1-3 above are replaced by: 4. Derive the 32-byte encryption key *ekey* = HKDF-SHA256(*k*, 32, ENCRINFO, *salt*) The remainder of the process is the same. Notice the reuse of the same *salt* -for PBKDF2 and HKDF-SHA256. +for PBKDF2-SHA256 and HKDF-SHA256. From 4431011bd1c0d1236804dffe4ac22468872febef Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 14:59:11 -0600 Subject: [PATCH 12/67] Start working on the tutorial --- README.md | 5 +++++ docs/Tutorial.md | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/README.md b/README.md index a2de1e6..e747f26 100644 --- a/README.md +++ b/README.md @@ -62,3 +62,8 @@ library for PHP. If you use this library as a part of your business and would like to help fund a formal audit, please [contact Taylor Hornby](https://defuse.ca/contact.htm). + +Public Keys +------------ + +TODO: put links (and fingerprints) for the developers' public keys here. diff --git a/docs/Tutorial.md b/docs/Tutorial.md index e69de29..3558313 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -0,0 +1,38 @@ +Tutorial +========= + +A Word of Caution +------------------ + +TODO: it's not for "encrypting passwords", it's not TLS, it's not Axolotl. +TODO: get advice from expert, you can hire Taylor or Paraon. + +Getting the Code +----------------- + +TODO: explain the importance of verifying signatures and stuff then link them to +the installing page. + +Using the Library +------------------ + +TODO: explain that these steriotypes illustruate thow the library can be used +and to look at one that's sorta similar to what you want to do + +### Stereotype #1: Encrypting data in a remote database + +### Stereotype #2: A tool for encrypting files with a password + +### Stereotype #3: Encrypting account data with the user's login password + +TODO: note the fact that they have to re-encrypt all data upon a password change + +Formal Documentation +--------------------- + +TODO: link to the class docs + +Getting Help +------------- + +TODO: link to troubleshooting From 75de3699761784fb7dfe1e05fb16a8c8c56b14d0 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 16:29:40 -0600 Subject: [PATCH 13/67] More documentation work --- docs/Tutorial.md | 66 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 54 insertions(+), 12 deletions(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index 3558313..e3a3df4 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -1,23 +1,69 @@ Tutorial ========= +Hello! If you're reading this file, it's because you want to add encryption to +one of your PHP projects. My job, as the person writing this documentation, is +to help you make sure you're doing the right thing and then show you how to use +this library to do it. To help me help you, please read the documentation +*carefully* and *deliberately*. + A Word of Caution ------------------ -TODO: it's not for "encrypting passwords", it's not TLS, it's not Axolotl. -TODO: get advice from expert, you can hire Taylor or Paraon. +Encryption is not like a magic dust you can sprinkle on a system to make it more +secure. The way encryption is incorporated into a system's design needs to be +carefully thought through. Sometimes, encryption is the wrong thing to use. +Other times, encryption needs to be used in a very specific way in order for it +to work as intended. Even if you are sure of what you are doing, we strongly +recommend seeking advice from an expert. + +**This isn't for storing passwords:** The most common thing web applications do +is protect their users passwords. If you're trying to use this library to +"encrypt" your users' passwords, you're in the wrong place. Passwords shouldn't +be *encrypted*, they should be *hashed* with a slow computation-heavy function +that makes password guessing attacks more expensive. See [How to Safely Store +Your Users' Passwords in +2016](https://paragonie.com/blog/2016/02/how-safely-store-password-in-2016). + +**This isn't for encrypting network communication:** Likewise, if you're trying +to encrypt messages sent between two parties over the internet, you don't want +to be using this library. For that, set up a TLS connection between the two +points, or, if it's a chat app, use the [Signal +Protocol](https://whispersystems.org/blog/advanced-ratcheting/). + +This library provides symmetric encryption for "data at rest." This means it is +not suitable for use in building protocols where "data is in motion" (i.e. over +a network) except in a very restricted set of cases. Getting the Code ----------------- -TODO: explain the importance of verifying signatures and stuff then link them to -the installing page. +There are several different ways to obtain this library's code and to add it to +your project. Even if you've already cloned the code from GitHub, you should +take steps to verify the cryptographic signatures, to make sure the code you got +was not intercepted and modified by an attacker. + +See the [Installing and Verifying](docs/InstallingAndVerifying.md) +documentation. Using the Library ------------------ -TODO: explain that these steriotypes illustruate thow the library can be used -and to look at one that's sorta similar to what you want to do +### Encryption 101 + + + +The following "stereotypes" are example scenarios where this library can be +used. + +### Formal Documentation + +The following classes are available for you to use: + +- [Crypto](docs/classes/Crypto.md) +- [File](docs/classes/File.md) +- [Key](docs/classes/Key.md) +- [KeyProtectedByPassword](docs/classes/KeyProtectedByPassword.md) ### Stereotype #1: Encrypting data in a remote database @@ -27,12 +73,8 @@ and to look at one that's sorta similar to what you want to do TODO: note the fact that they have to re-encrypt all data upon a password change -Formal Documentation ---------------------- - -TODO: link to the class docs - Getting Help ------------- -TODO: link to troubleshooting +If you're having difficulty using the library, see if your problem has already +been solved in the [Troubleshooting](docs/Troubleshooting.md) answers. From dc5f0a3d1190300320c1be0077e9560a0a1fa97a Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 16:30:58 -0600 Subject: [PATCH 14/67] More documentation work --- docs/Tutorial.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index e3a3df4..cd0909a 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -17,12 +17,12 @@ Other times, encryption needs to be used in a very specific way in order for it to work as intended. Even if you are sure of what you are doing, we strongly recommend seeking advice from an expert. -**This isn't for storing passwords:** The most common thing web applications do -is protect their users passwords. If you're trying to use this library to -"encrypt" your users' passwords, you're in the wrong place. Passwords shouldn't -be *encrypted*, they should be *hashed* with a slow computation-heavy function -that makes password guessing attacks more expensive. See [How to Safely Store -Your Users' Passwords in +**This isn't for storing passwords:** The most common use of cryptography in web +applications is to protect the users' passwords. If you're trying to use this +library to "encrypt" your users' passwords, you're in the wrong place. Passwords +shouldn't be *encrypted*, they should be *hashed* with a slow computation-heavy +function that makes password guessing attacks more expensive. See [How to Safely +Store Your Users' Passwords in 2016](https://paragonie.com/blog/2016/02/how-safely-store-password-in-2016). **This isn't for encrypting network communication:** Likewise, if you're trying From 374159f15c7195016e6bc4e5059657dac6abaac2 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 16:31:56 -0600 Subject: [PATCH 15/67] More documentation work --- docs/Tutorial.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index cd0909a..8fd2720 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -31,9 +31,9 @@ to be using this library. For that, set up a TLS connection between the two points, or, if it's a chat app, use the [Signal Protocol](https://whispersystems.org/blog/advanced-ratcheting/). -This library provides symmetric encryption for "data at rest." This means it is -not suitable for use in building protocols where "data is in motion" (i.e. over -a network) except in a very restricted set of cases. +What this library provides is symmetric encryption for "data at rest." This +means it is not suitable for use in building protocols where "data is in motion" +(i.e. over a network) except in a very restricted set of cases. Getting the Code ----------------- From 4f9dc0decac5b42dccf555f5f381bfa8320c9fc2 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 16:32:50 -0600 Subject: [PATCH 16/67] More documentation work --- docs/Tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index 8fd2720..c59a7de 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -43,7 +43,7 @@ your project. Even if you've already cloned the code from GitHub, you should take steps to verify the cryptographic signatures, to make sure the code you got was not intercepted and modified by an attacker. -See the [Installing and Verifying](docs/InstallingAndVerifying.md) +See the [**Installing and Verifying**](docs/InstallingAndVerifying.md) documentation. Using the Library From 2660eec2f27fa50f088c4e6267eb6a9f29b974e8 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 16:34:04 -0600 Subject: [PATCH 17/67] More documentation work --- docs/Tutorial.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index c59a7de..1663857 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -60,10 +60,12 @@ used. The following classes are available for you to use: -- [Crypto](docs/classes/Crypto.md) -- [File](docs/classes/File.md) -- [Key](docs/classes/Key.md) -- [KeyProtectedByPassword](docs/classes/KeyProtectedByPassword.md) +- [Crypto](docs/classes/Crypto.md): Encrypting and decrypting strings. +- [File](docs/classes/File.md): Encrypting and decrypting files. +- [Key](docs/classes/Key.md): Represents a secret encryption key. +- [KeyProtectedByPassword](docs/classes/KeyProtectedByPassword.md): Represents + a secret encryption key that needs to be "unlocked" by a password before it + can be used. ### Stereotype #1: Encrypting data in a remote database From f05201e8554dfa96ce5f3c59ff1d9a312a272ca0 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 17:00:19 -0600 Subject: [PATCH 18/67] More documentation work --- docs/Tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index 1663857..6c0f0c8 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -40,7 +40,7 @@ Getting the Code There are several different ways to obtain this library's code and to add it to your project. Even if you've already cloned the code from GitHub, you should -take steps to verify the cryptographic signatures, to make sure the code you got +take steps to verify the cryptographic signatures to make sure the code you got was not intercepted and modified by an attacker. See the [**Installing and Verifying**](docs/InstallingAndVerifying.md) From 0184f409c385bb20d1d6f77ce46d70189536bb18 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 17:09:57 -0600 Subject: [PATCH 19/67] Add dependencies to the readme --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index e747f26..b914a84 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,14 @@ ecosystem. Secondly, this library is "difficult to misuse." Like [libsodium](https://github.com/jedisct1/libsodium), its API is designed to be easy to use in a secure way and hard to use in an insecure way. +Dependencies +------------ + +This library requres no special dependencies except for a version of PHP 5.4 or +newer with the OpenSSL extensions enabled (the default). It comes bundled with +[random\_compat](https://github.com/paragonie/random_compat) so that your users +will not need to follow any special installation steps. + Docmentation ------------- From 96f3dfce6fc45cebc1d1733cd5bd91747dd9d248 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 10 Apr 2016 17:10:59 -0600 Subject: [PATCH 20/67] More documentation work --- docs/DeveloperDocs.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/DeveloperDocs.md b/docs/DeveloperDocs.md index df2a0ca..ab37c93 100644 --- a/docs/DeveloperDocs.md +++ b/docs/DeveloperDocs.md @@ -68,3 +68,8 @@ This library is developed around several core values: > to install and cannot packaged with "just download and extract" > applications. This library will always be just a handful of PHP files that > you can copy to your source tree and require(). + +Publishing Releases +-------------------- + +TODO: add those steps here From f24c4cda6d9f6ef0b6d39a9bd57cca4f6049283d Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Mon, 18 Apr 2016 18:36:26 -0600 Subject: [PATCH 21/67] Make the definitions clearer --- docs/CryptoDetails.md | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index dde18ef..b9cba72 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -7,15 +7,24 @@ a security bug. Let's start with the following definitions: -- HKDF-SHA256(*k*, *n*, *info*, *salt*) is the key derivation function specified - in RFC 5869 (using SHA256 as the hash function) where *k* is the initial - keying material, *n* is the number of output bytes, *info* is the info string, - and *salt* is the salt. -- AES-256-CTR(*m*, *key*, *iv*) is the encryption of *m* with AES-256 in CTR - mode using key *key* and initialization vector *iv*. +- HKDF-SHA256(*k*, *n*, *info*, *s*) is the key derivation function specified in + RFC 5869 (using the SHA256 hash function). The parameters are: + - *k*: The initial keying material. + - *n*: The number of output bytes. + - *info*: The info string. + - *s*: The salt. +- AES-256-CTR(*m*, *k*, *iv*) is AES-256 encryption in CTR mode. The parameters + are: + - *m*: An arbitrary-length (possibly zero-length) message. + - *k*: A 32-byte key. + - *iv*: A 16-byte initialization vector (nonce). - PBKDF2-SHA256(*p*, *s*, *i*, *n*) is the password-based key derivation - function defined in RFC 2898, using *i* iterations of the hash function SHA256 - on the password *p* and salt *s*, outputting *n* bytes. + function defined in RFC 2898 (using the SHA256 hash function). The parameters + are: + - *p*: The password string. + - *s*: The salt string. + - *i*: The iteration count. + - *n*: The output length in bytes. - VERSION is the string `"\xDE\xF5\x02\x00"`. - AUTHINFO is the string `"DefusePHP|V2|KeyForAuthentication"`. - ENCRINFO is the string `"DefusePHP|V2|KeyForEncryption"`. From d509bd7111b2ce2cdf10ff204fcf0c8114ab7fca Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Mon, 18 Apr 2016 18:39:13 -0600 Subject: [PATCH 22/67] Document the prehashing. --- docs/CryptoDetails.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index b9cba72..5ea0571 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -46,10 +46,12 @@ security of the decryption routine is highly implementation-dependent). For encryption using a password *p*, steps 1-3 above are replaced by: 1. Generate a random 32-byte string *salt*. -2. Compute *k* = PBKDF2-SHA256(*p*, *salt*, 100000, 32). +2. Compute *k* = PBKDF2-SHA256(SHA256(*p*), *salt*, 100000, 32). 3. Derive the 32-byte authentication key *akey* = HKDF-SHA256(*k*, 32, AUTHINFO, *salt*) 4. Derive the 32-byte encryption key *ekey* = HKDF-SHA256(*k*, 32, ENCRINFO, *salt*) The remainder of the process is the same. Notice the reuse of the same *salt* -for PBKDF2-SHA256 and HKDF-SHA256. +for PBKDF2-SHA256 and HKDF-SHA256. The prehashing in step 2 is done to prevent +a [DoS attack using long +passwords](https://github.com/defuse/php-encryption/issues/230). From dd5386b5f22ce0b59d0b40de5a807ebf9b4273a9 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Mon, 18 Apr 2016 18:41:34 -0600 Subject: [PATCH 23/67] Clarify what is being prehashed --- docs/CryptoDetails.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index 5ea0571..61118db 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -51,7 +51,7 @@ For encryption using a password *p*, steps 1-3 above are replaced by: 4. Derive the 32-byte encryption key *ekey* = HKDF-SHA256(*k*, 32, ENCRINFO, *salt*) The remainder of the process is the same. Notice the reuse of the same *salt* -for PBKDF2-SHA256 and HKDF-SHA256. The prehashing in step 2 is done to prevent -a [DoS attack using long +for PBKDF2-SHA256 and HKDF-SHA256. The prehashing of the password in step 2 is +done to prevent a [DoS attack using long passwords](https://github.com/defuse/php-encryption/issues/230). From c9932311210a1703b595f0b44831edc38d0cb5b7 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Wed, 20 Apr 2016 10:19:24 -0600 Subject: [PATCH 24/67] More docs, including sketch of Crypto class --- README.md | 14 +-- docs/{Troubleshooting.md => FAQ.md} | 5 + ...eloperDocs.md => InternalDeveloperDocs.md} | 4 +- docs/UpgradingFromV1.2.md | 0 docs/classes/Crypto.md | 105 ++++++++++++++++++ 5 files changed, 119 insertions(+), 9 deletions(-) rename docs/{Troubleshooting.md => FAQ.md} (94%) rename docs/{DeveloperDocs.md => InternalDeveloperDocs.md} (96%) create mode 100644 docs/UpgradingFromV1.2.md diff --git a/README.md b/README.md index b914a84..d1fb0e1 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,9 @@ php-encryption [![Build Status](https://travis-ci.org/defuse/php-encryption.svg?branch=master)](https://travis-ci.org/defuse/php-encryption) This is a library for encrypting data with a key or password in PHP. **It -requires PHP 5.4 or newer.** The current version is v2.0.0, which is supported -by its authors with security and bugfixes until Jan 01, 2019. +requires PHP 5.4 or newer.** The current version is v2.0.0, which is expected to +remain stable and supported by its authors with security and bugfixes until Jan +01, 2019. The library is a joint effort between [Taylor Hornby](https://defuse.ca/) and [Scott Arciszewski](https://paragonie.com/blog/author/scott-arcizewski) as well @@ -41,16 +42,15 @@ documentation for each of the classes this library provides: - [Key](docs/classes/Key.md) - [KeyProtectedByPassword](docs/classes/KeyProtectedByPassword.md) -If you encounter difficulties, see the -[Troubleshooting](docs/Troubleshooting.md) answers. The fixes to the most -commonly-reported problems are explained there. +If you encounter difficulties, see the [FAQ](docs/FAQ.md) answers. The fixes to +the most commonly-reported problems are explained there. If you're a cryptographer and want to understand the nitty-gritty details of how this library works, look at the [Cryptography Details](docs/CryptoDetails.md) documentation. -If you're interested in contributing to this library, see the [Developer -Documentation](docs/DeveloperDocs.md). +If you're interested in contributing to this library, see the [Internal +Developer Documentation](docs/InternalDeveloperDocs.md). Examples --------- diff --git a/docs/Troubleshooting.md b/docs/FAQ.md similarity index 94% rename from docs/Troubleshooting.md rename to docs/FAQ.md index 02cc3bd..4a7084c 100644 --- a/docs/Troubleshooting.md +++ b/docs/FAQ.md @@ -22,6 +22,11 @@ then you should not store the `Key` at all. If you are protecting sensitive data on a server that may be compromised, then you should store it in a hardware security module. When in doubt, consult a security expert. +Where do I store the encryption key? +------------------------------------- + +TODO: (point to the stereotypes) + Why is an EnvironmentIsBrokenException getting thrown? ------------------------------------------------------- diff --git a/docs/DeveloperDocs.md b/docs/InternalDeveloperDocs.md similarity index 96% rename from docs/DeveloperDocs.md rename to docs/InternalDeveloperDocs.md index ab37c93..b687077 100644 --- a/docs/DeveloperDocs.md +++ b/docs/InternalDeveloperDocs.md @@ -1,5 +1,5 @@ -Information for Developers of php-encryption -============================================= +Information for the Developers of php-encryption +================================================= Status ------- diff --git a/docs/UpgradingFromV1.2.md b/docs/UpgradingFromV1.2.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index e69de29..315dfbd 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -0,0 +1,105 @@ +Class: Crypto +============== + +**Purpose:** The `Crypto` class provides encryption and decryption of *strings* +either using a secret key or secret password. + +Static Methods +--------------- + +## encrypt($plaintext, Key $key, $raw\_binary = false) + +**Description:** Encrypts a plaintext string using a secret key. + +**Parameters:** + +**Return value:** + +**Exceptions:** + +**Side-effects:** + +**Cautions:** + +## decrypt($ciphertext, Key $key, $raw\_binary = false) + +**Description:** Decrypts a ciphertext string using a secret key. + +**Parameters:** + +**Return value:** + +**Exceptions:** + +**Side-effects:** + +**Cautions:** + +## encryptWithPassword($plaintext, $password, $raw\_binary = false) + +**Description:** Encrypts a plaintext string using a secret password. + +**Parameters:** + +**Return value:** + +**Exceptions:** + +**Side-effects:** + +This function is intentionally slow. It applies key stretching to the password +in order to make password guessing attacks more computationally expensive. If +you need a faster way to encrypt multiple ciphertexts under the same password, +see the `KeyProtectedByPassword` class. + +**Cautions:** + +TODO: stack trace will leak password + +## decryptWithPassword($ciphertext, $password, $raw\_binary = false) + +**Description:** Decrypts a ciphertext string using a secret password. + +**Parameters:** + +**Return value:** + +**Exceptions:** + +**Side-effects:** + +This function is intentionally slow. It applies key stretching to the password +in order to make password guessing attacks more computationally expensive. If +you need a faster way to encrypt multiple ciphertexts under the same password, +see the `KeyProtectedByPassword` class. + +**Cautions:** + +TODO: stack trace will leak password + (make sure this caution goes in File too) + +## legacyDecrypt($ciphertext, $key) + +**Description:** Decrypts a ciphertext produced by version 1 of this library so +that the plaintext can be re-encrypted into a version 2 ciphertext. See +[Upgrading from v1.2](docs/UpgradingFromV1.2.md). + +**Parameters:** + +**Return value:** + +**Exceptions:** + +**Side-effects:** + +**Cautions:** + +Instance Methods +----------------- + +This class has no instance methods, it only provides the static methods above. + +Where's the Code? +------------------ + +`src/Crypto.php` From a6382c70b5bd10c6a4ae6d2a302405a8d3c032dd Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 19:37:04 -0600 Subject: [PATCH 25/67] Check-in PHPUnit's public key since pgp.mit.edu is not reliable. --- test/phpunit-pubkey.asc | 6121 +++++++++++++++++++++++++++++++++++++++ test/phpunit.sh | 2 +- 2 files changed, 6122 insertions(+), 1 deletion(-) create mode 100644 test/phpunit-pubkey.asc diff --git a/test/phpunit-pubkey.asc b/test/phpunit-pubkey.asc new file mode 100644 index 0000000..c05d2ea --- /dev/null +++ b/test/phpunit-pubkey.asc @@ -0,0 +1,6121 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +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 +YWluLmNvbS9zaWduaW5ncG9saWN5LnR4dAAKCRCgsx+I6BIzVnqTD/9VWjJC6JXS +MGrKJ8jGXwagukdOeV7rZhXYJEAQIZNSk5ouqx8OFODDrEVzTiX/0khuPIyidL+g +h3j9WPk0OuYR7t01zwbNEza9AnnP2GiJOY5py3rmA4ai1d4pMY1hrxJRtg1bRQ6X +VwjZMnLUVyTbDYbOoCmCrU6celJoogmQi8OQlnhjpFEIr/pY0PPHCH0OqzY8MxbS +3ckzWjl9LJa3f/H6PU68nAvIiMv7AM2O5O4++Ok6DnsXXnyI3if1IjCX3qudIsyg +B9Iv3MTlAbDMZxgvYxPZ+t7Yq3qknIlnufqvkdhTuslKNibDGVREYxi8JwFBhx3h +M3EdovS+79z4M4yKKNU5/URzgBpZ7rkMcn+xhHb7Pyl/6E9ZM4ae7xplRvlqns9r +NcYA5exbrpB1sgeGvbZIY8W/kk0NoALLdhOjEZYLmBaKnSy7R4FpDqFFQXPVDom/ +Dsq98lk0ktdIqgeCHoQ6Y2RCcv5ldPO9KSd0vXpX7A/tCwfL5ZSbOhZflJWGsr0/ +B3hg9CDhNWkcdFnrmHXrZ3HeOS+/5VISwa5BJXRHT1rAykp9TbH69uYgwte5XX5g +Dkk003RN3CpYn7WcNiPuaDcsYl2vp71ST5ijixszhbnN+v/ua1kGoml4PqSjjYr4 +FcDUN1CiGO5j16AQBO64Aq5p805/YNYyw4kCzgQSAQgAuAUCVN4wbAWDELRqz3IU +gAAAAAAeAEtvY2Nhc2lvbkBuaWVscy5kZXN0LXVucmVhY2guYmUiWmltbWVybWFu +buKAk1Nhc3NhbWFuIGJhc2VkIGtleSBzaWduaW5nIHBhcnR5IGF0IEZPU0RFTTIw +MTUgb24gMjAxNS0wMi0wMSI4Gmh0dHA6Ly9uaWVscy5kZXN0LXVucmVhY2guYmUv +cGdwLWtleS1zaWduaW5nLXBvbGljeS50eHQACgkQJb9ITwirSEmiPw//eGVCe3mL +UwBnkdUDrixi4x1trEF2HqnmG+mQA6FslnqYupPBW052osbixh1klp1mfbxffFQI +RTxAcNUOTUhdZCN+VWsv9K+ptTjVwBksOgsMK9dj/ffkboYBVahFOgfT/dXMiAbP +sPQ6cC6a22SQ48QVW228zJ24cTbkE7Ra8QlINqiLjksaUXeGuERIaYI7kvSs7ua7 +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 +fOkqEkiIi/3wyhQIdjQQAnkZd9/4OkvKLqTpO6Wh9B9AaNAWgCQN9TAOtbhVkugE +yCsUqCxzSlAE5+XaRnz8OAAYgIp22EhUpVWKhu++wZGID+C4bl5Na9v9Dv2tlfce +wt/HivafLDfonXiQL6XXqv468HFgvATrAhKUpWtaAqXXGa5OdkdYlEmmHq8vSYkl +NBZWy3gkwuOxWtHlmL9rc1GqOTxALBivMWxOVFO3VzIVXtl6rFuUsuqhAJGJtRuW +3HrmGSHsdEGxz2gVy1Uu5aPLwF/3r1Dq6ty6Ai3sEA6+2rkUv2xpDqUXkhgXMDNR +kvCh0MOWyo5YK91QsUFbcZEevZO+0IjE153Y2zzglBVOrl6incOBpPD6DgAeb/FL +czRIiZxh0r93ki0ehIWSu71rI9nR2KScLimRZfpiyZM/jPw9QwY0Bd3wb1ftoVMb +zjJTzf+lmRIuPg3+5vNGMiystGAPajQn9NslX0B9vhFlZM/4TaaFZRcSEGV2zL6H +30zdp9pQ++wfG3WWZGUjYiAewq69STrfSt1EV2jdtGDN0uATmkycGxc477f+sVF8 +maVMbbBoVQpMgWyahrM0EyEQPVZg3C6fzYl4CxfCK8EYbYnVsXEJ326abRYEigps +Vuo8cB6I0OAC3uVn/xUnOYU5zlXFFRd/r7vuRPrpfPaiuZqhHt5TIxzuMdW/S7Cv +DrTAcUoutJdEJVEl60F2Y7mqAeGf02H7eY7/nLpiBetU9lNb61MbMJbFxusH20sE +Yc6nHnkcQKyM9A7GvM3PpYrjuRfIZ+f/x1KDlQn1T4AnKbPnC8wsbjRY86cc29d1 +n0cM/yKP1rQISIYVy6lht9rcl2YYQu06iQSxBBIBAgCbBQJVHYh7lBpodHRwOi8v +d3d3LmplbnNlcmF0LmRlL2ZpbGVzL29wZW5wZ3AvQTRGRjIyNzktY2VydC1wb2xp +Y3ktMjAxMy0wNS0xNy50eHQ/c2hhNTEyc3VtPThjODU4MmYyNTI5OTI0ZGQ2OTI5 +N2I3NGMzNDBhMGEyOWExYzFkNzViMTgxYmZmNjAyZmRkZDc5ZTdmMDQ5NjQACgkQ +Th95mqT/InkD6x//RI5DK31FzMGmVT1Y05AEUd9u1B+YOGMmYG2mUMnTKiKvJWWx +HVNp9Y8/Nzu7HUDrK2WNR198HMnDGQ7hY9ed6ADbSQR92eoIoMe7OuZsuMzlD3ex +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 +N4kCRQQTAQoALwUCVOndJSgaaHR0cDovL3d3dy5kdW1haW4uY29tL3NpZ25pbmdw +b2xpY3kudHh0AAoJEKCzH4joEjNW60AQALAb25jzcSSneWR1fVgSqXFloWDDgspm +VSCkZPZ9TyQo9EnJmUTHbC9ubgG8gRzFNaGOPzWjVfyz/QyqwsuDIsICNtby+qFQ +NlyubcNEi82uIGi17h9V/W74XxOQmvq+w4gyTASbK/o20o8G2WEATuAjfSIkDWca +Z7o0ZZSEJLphuOacpvoOT+NCJTMkKXzAsZabZP75ikBJO/LI/aYeMkzP3j13ascc +E9l2BfOxfg9GR21rgF24v/PTv2j1v/vH6rSGAhvPIN3WbUedIRZUEmTfW1lcSMxv +75+mdDpYTWj3JMNplFya892BjEzWBlYxEWn7KPyW6YdOAc7YuqiI9hdQfnjvA8Xv +AwfBArR9gcSkaieLbohryr4+x4EFYdHJuTY8Beprx6u/QuXjbYzSKmkRJt970M8A +qXAIwiPeTU2krG3wMKudVkssp8ISerlIXE4AMvhKCnUGZ4sABZo2Yb3wgnlJzESS +QEgyzVNzXr5s6jK+RPEcG7Udk5ewVtqPXgvHoG8R9UCb6L5K1Hj4xL5FAuMUauc+ +iwWWr086Jhjxt18o7DA7vWJrD5ubUe48ZVpD3BN7PC1dJnH8zGJ6N9uMtxPx6FJB +88dTRJSGvAK92Dj3x5QiM8CkJrQrlZ4vvRPF0sKErfeBbB4QcUEmaoTZir0rBgyp +ckQlMCpB86bbiQLOBBIBCAC4BQJU3jBnBYMQtGrPchSAAAAAAB4AS29jY2FzaW9u +QG5pZWxzLmRlc3QtdW5yZWFjaC5iZSJaaW1tZXJtYW5u4oCTU2Fzc2FtYW4gYmFz +ZWQga2V5IHNpZ25pbmcgcGFydHkgYXQgRk9TREVNMjAxNSBvbiAyMDE1LTAyLTAx +IjgaaHR0cDovL25pZWxzLmRlc3QtdW5yZWFjaC5iZS9wZ3Ata2V5LXNpZ25pbmct +cG9saWN5LnR4dAAKCRAlv0hPCKtISRNtEACV0HlKMFY9umH/IAu7yVV9t+PY//Uy +/i+5mzngFHZQ7kNRHKrnZK8hGEN9YLyrI+ULgfK9aqrLH5okNkH0+BVy6oSSvhc5 +6vu/0RFrWexRVTMnaoi2t3T4bauDBiIkWA2bpzAwfeEn8mFEpZ42d3DUI7/ulnS6 +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 ++wVknfUMZ6BBDBGUSJcKc+4FOImu0RoEwwzDFLwAkQB/jnfqrdAmh66ov65Qa/Od +CpZQju+z9yTnWhmCC1nE/620+68WUbOQOqyuET3qLO7lijuKaJ6nG6xIUkH+TzLk +UwwQ/k6331WB0Sj12spxKWhD7od+ezQK1YMMwXWVIX2ftqkXNFr/wCAopuyQpYFK +xgqV+P4asJ5EIgJxFS9gwAv77lIqDnQ/w4jE00aHl/dwj1lyS0W5N4xQ9+TJDkmT +6TZPCaumzGB6oFJVjJH51ZGAbRVRWkFFqBts5rN9lUu8ALm3oKgLJ6a8w7SLOpdr +2Zt1Ws1ihkyBNXnBrfEujx/pFIf39dP2hcNJnctxJaouqQ2xBtLeIAD8gx/6df6e +X/cl2T4/ERA6VSjyjHro0ituJTyDitkN5KyM6yCInjwRC0JcbcMKEkrLKJsFoKAK +PBMegNogGphcEaQxr4oQFJQ7ddm/0+AowP0KltHvBiU5vwq0T89EbiCYkNLfwD7A +rnyZV1tn7JQBSgQUQJFxyFEeK0QIx8vXmqhTddX18PPcSvDHNUYXwSLeKVLdD8jT +8g1DjtQ/3zoxtfnL9oiS9LslkBE6JaTMuobojwRQwpZ0aW+HSmE0mi5tK/B7TqcG +7UncaOk6pltIHjh09QTobry5qnrz5w+kPR0AkhEBhWrcSyN1b7CrmRI1fzy+WQdD +G+IQc0FFajiC7V5Z6+Ppqz248LUWKiwcYD1Ww/Qjxzm6zrfdoKiDwEck9RIydGE7 +uFlDMsidqEFk6Nhwxi2XS8f8mSEWMsrFUQtFfNqZVycj0zB4Xn4IqYgZzybJ4AX+ +EOG7SjLQHjdRO1xcx7o8wjSVp4HYvjEKlyNgeskh5lIjFLtuz/D3a4645RV4MPRD +iZ6elTl/dVuJBLEEEgECAJsFAlUdiHuUGmh0dHA6Ly93d3cuamVuc2VyYXQuZGUv +ZmlsZXMvb3BlbnBncC9BNEZGMjI3OS1jZXJ0LXBvbGljeS0yMDEzLTA1LTE3LnR4 +dD9zaGE1MTJzdW09OGM4NTgyZjI1Mjk5MjRkZDY5Mjk3Yjc0YzM0MGEwYTI5YTFj +MWQ3NWIxODFiZmY2MDJmZGRkNzllN2YwNDk2NAAKCRBOH3mapP8ieRq2H/0ZqAZY +NYiDcUUFTuVKVI/zc7kHjjBxUKQf/zGIIyUwzonEthAS9EHMLUcHMqPTOZhy1B20 +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 +V4Qzr3tiuTlL3yLX818Oy4Wr8IPGv1MMQM6PsQ8sKV+fOFhCKCtspEur7Gu8ohNW +oeSLOfzM3A45WwL/6g2YYSnaetEvHqBOokQvWP/6iQJFBBMBCgAvBQJU6d0lKBpo +dHRwOi8vd3d3LmR1bWFpbi5jb20vc2lnbmluZ3BvbGljeS50eHQACgkQoLMfiOgS +M1ZJRA/9H13vNfOJVbCebYof1mdTFgj3t0syk+uPR027r5qyAyKSDVimbkvp87pa +vyx0a0sawq67wcMgLO7EylSCuI1yVQA3EtNYS2J3HrMtY9TohnuMqY/7HVQU7lnp +BAbcPkDPYHQohHO6N1+kt3FXhGxCghk+hYzW3bDHehVfJZ6ujy0uibvfaiHNtxaz +fGCJyQq0cx7BTAxuc8mFPZbat5kZGKk2NyjfFDYyGj9iOkkbtqLidkQJyc11zIU+ +elbdTsqwi+3XtdVUChwV0or5umFOZv+3wA9Yq7aUlC7UGzY9s6yAh3mTc+nb1aoh +u3wHf2HkyzvsX1Tpcu9Ql5L1MyYwluiYTh4tRyFphg2TgW2TuQQZ6onif6x7N5fq +mgv4grjD0ak8YvvINBjMDae4eAZedftGowIc8rs9xf31VH5HDikd+FFEOEI4NWB8 +mPx9LVtNtDspqLcDcOQoiOhPGjc2CFFqPK9W252cuE2H8HVNLLtLKJlnS2IKI0z4 +cCEUfKZQASxMLaBf2teViwAn+SHuCc/KXddzZn9elB5DgkTDWB1lmIIK9aZ904DI +tw0Tl5RCiVMCZPQkPiat01dpoEBI38Ic4AZOZEjLT1FjGQ0x5N5lMSn1aTKQrYAW +XSLf2FUhbUtqhXvdwlbMdDaMBB82QTNYh5X7l1mU0mWbQ7vDndOJAs4EEgEIALgF +AlTeMGoFgxC0as9yFIAAAAAAHgBLb2NjYXNpb25AbmllbHMuZGVzdC11bnJlYWNo +LmJlIlppbW1lcm1hbm7igJNTYXNzYW1hbiBiYXNlZCBrZXkgc2lnbmluZyBwYXJ0 +eSBhdCBGT1NERU0yMDE1IG9uIDIwMTUtMDItMDEiOBpodHRwOi8vbmllbHMuZGVz +dC11bnJlYWNoLmJlL3BncC1rZXktc2lnbmluZy1wb2xpY3kudHh0AAoJECW/SE8I +q0hJpZwP/3MEHCbdRUtBl29vz7HT3mJJo7S+Kn6gGExIBg2/9DWlMjS9VPgPSKbM +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 +lfO+JI1u9gln1fHbbFLr5AHEWLjxfGn9DSEsoIWtbNmv8ASxVcCA2LCSZKBFdtQu +vZbMBj0LTTgOUPEHok/zFU1v13G7qLPO+dyLzwioBN3EcyhhtIcoEFFArvnbHrGD +sYfVJ84Lstd19+00QLVdlfniYb0LcYCodrSDLhgRbEJ0MB2EeZ6oq9Vw/SCilYeS +KmnwZF8ELO13SRvV+5GqAmZUPOzDXIsNwTSdZYU61z2kvMSixN2lh/RH0TN/NnLz +ndOUdxbMEwDBj7f+VymKEt5HBqizdI5xBJesO0uFoi56pT3vYnXwufUwmdBQTWB3 +JJujnXzBT6SSQz/mNcVTYdMRu4iB3GHre4LfREs9eJBd513HbZSVba8KEo8HbrWj +oDfBAMjIexKX2QJWiKRwB/9H7n6nt8htsrirVN2P8C18tfV0+lUkERR5ZX4QaIMS +Yti5TeWKB5YAYDl63Wiybj8Zkf+OAwCNyrOTwwtQ8DUPEIHKjws7NdNkenoyvINK +bHaWecSYA1tHA7yH2peWxziYkxRgoCvrpbqZbgw3LvLazK2A7fMvlBU1xerP+3Ia +QurO6veF7yAyOIwlYpzFClF2D1HPNs+1oPq9x6gAGd++sAs2tkRysC8WuJOyqNou +4h+03QXNhZR6QFNtiTDluD+ySvlAFTkvwi8PjiyCD4urtFtwtN57zb3P87cASIcH +7Nls7iyX31wV8W3SflXO12RzUS97HYZdOw5a0MfhVvL7Bmi2h1+mQ8LmGdFbQ/G0 +gC81DrjQdNMQMBO8FaNM21oN7oNRRr5tBiEBie+2RcFdLWUzvUkTGc6UyMi6+8Qx +ABEzmbFXkytP3aJHwiM824kbeKXtNwJsmiLsUkKaVrL6EpnHCbf8UGf6kbJDQ1x7 +QMkd+RMbgh+Nzp+lYmHGsw5lkkoUz8kI/7Typ9ZKtQtAi3aKbE2ZdX5TRFHE5Z63 +w+qHeFWrkrRt8OXLotMKPR25FQTkuHtbGnL7ekwEAtIs5UKBc4kEsQQSAQIAmwUC +VR2Ie5QaaHR0cDovL3d3dy5qZW5zZXJhdC5kZS9maWxlcy9vcGVucGdwL0E0RkYy +Mjc5LWNlcnQtcG9saWN5LTIwMTMtMDUtMTcudHh0P3NoYTUxMnN1bT04Yzg1ODJm +MjUyOTkyNGRkNjkyOTdiNzRjMzQwYTBhMjlhMWMxZDc1YjE4MWJmZjYwMmZkZGQ3 +OWU3ZjA0OTY0AAoJEE4feZqk/yJ51zAgAJoHy7d4iI0Z7yEdqFFMS+5u6pM9r7zT +6HqF8Ttonbaz2FBRTIuSgwKpsbb8Dml/kUQ+6yP+cdF/NmifhlsIiNEXjM/Pham4 +W6kRTLeSlKC2fy5zXXzLvF+C8wuAGv6Y2/2WLZ9OYskk0R61HMg0h/jZdIzkKDiG +kaMOps1LOr69m/c/JXcLpxsz3vzNcZOUG/mTK6X6H/hL/wrfXzMCobPQTHtyGLSq +7LpfsPU7PXisxjKbdCiYq9hXIxJzPgkGJL2Wv5I9qXwKPC77utawEBdQLkKUgGFI +YRqrFpNUU6vcF6nXvq55BnjpETLzbbLY+6Gv1AIp9/x7youd4XEb41K7gUThq3ny +NXN6qYE/Jf2M34K7dDFs9kzRdw0RzcH3b+F2cekOdPtrBzN0/G6XouhpP9gksiHG +kZiHCoFnqF+ZxkE4iuRTfOCMcFFwXxplo84mqiMywF7e15BaTEcoSspnUoly6ZJq +8wgDmmSYtbQ7dN3dRKD9pUlxsMN9hEFnlUYMfHjh1d4CZd+39B+a2IbxngCNGsNf +b971MdeeE4AL6R3T5QPXXT9fKPg3PhL3xZrQGXO1XYEAjUmDkMbSbjkFDpThBdck +69aTf8EcxyiPeh5FoUWmoEHdKw9tL87JoAGGin14nLcd4dWnbFDJaoXswwaMtqaE +MvqGGiTG+sddGPf4GCLYyKqFNyh2calae6MHdfw22IIz2/1KQqQmImh8g5Bg27VJ +FB9qYgfRhDj2lGDnAadvHN8Ao4V36STeIeaXw3fLhnn4lF1Lg3oyx6ym6yG3VXvd +IdHDHAr3XM/JHMEER7CZxQsymOj2U24yRZdaoj52YpC2/gaxb9iOf6jXBiBU/aZU +IiX0F3bGU83dLSu9rqsciZPxgUqIZ9h0K9dFqjt31SZlMGrOpKd51MpWKoiuO70F +1QJclCulVSwJnXYYMQVEyq+Cy8l3PU3myhkN0URhwy6pnXYPRADns9c29/G32DwF +16JXtX2FC0F+mMKJrfcWTHdF44H79oN3+DRGIOEelyZk8Yie3NGk7fPuymsew20d +W72/Cnk7k/JB6vvu9tK2oWHH1Xpc0M+J/dO00Lxjly8eY4LnMpX2YHTZV5qDRtKa +jltHzshp6cjfkZO6Ndl56b3nCjhvswRYMMFr3VE+T6VWiemPsNkBHpu7RhnYg/XM +9VhzzsdEqBUD7YjBfC2MUBQsPle4xq/7QQRu2jh2ozLjqKwjEegrht/OfrDebZ/9 +DmIalZdmXdpoAJ6ea9JDsD+v0pvSk/9NCWLRlg4cI/bvVNBZqr/LiQatL1I0brzw +JIX2ihTVmLBvy9UAM+pyb2eJ62c6VC+AFd+9ZOHi+KFd0Soj6OztYnS0LVNlYmFz +dGlhbiBCZXJnbWFubiA8c2JAc2ViYXN0aWFuLWJlcmdtYW5uLmRlPohGBBARAgAG +BQJVinqCAAoJEOp785cBdWI+5TEAnA6DjYO94SBfehmSi0FKiHwA3krKAJ4tSxD5 +ySByE2nWlBFl/2boP0MnOYhGBBARCAAGBQJU1TKVAAoJEDlgZk+V6iPdN90AmgKP +e3cAgwep7joEm0S6K5ov9oQOAJ9m9SRwKfNSV40qx6tlNWi4WAQ5IohGBBIRAgAG +BQJUzlQjAAoJED1TPsBvgPcBe3MAoIx0wvdI8H0j00BdVEWMXJcehCnxAJ0UWjSj +dtp4j47NOkFjQefXSnZg4ohGBBIRAgAGBQJUzpN8AAoJEG7VFfsbKC6aXIAAoL1e +DpYQ3MiqGrM3sH4OgH1GU2NsAKD2l4UjnkXXB1JopSAYzG/dZeOVlIhGBBIRCAAG +BQJU0388AAoJEKXkmY+mzIX7HCAAn3ZMTXoovP6Bk4LBA86lVo2NcNBGAJ4voFGC +TI4+D9NE+dyAgCChtLCieohGBBMRAgAGBQJUjtUrAAoJECuuPPba/7AAnaIAoLMU +/ERFi0Il9RzM/GsDYMOpnn7MAKCca/m6RY0SlrtgJ2vno0V4kYYbfYheBBARCAAG +BQJU1kzOAAoJEJ8vqp7D6xHXbykA/2PiN/c+aEtME6mlLZCw7Lm3DzFasdYPDM1c +eWQxM53uAQCvkFa5k6He6enbMMSrAww/AwwwKroQKY4oaUCgmAGz14hlBBMRCgAl +BQJU1flgHhpodHRwOi8vd3d3LmdvdGhnb29zZS5uZXQvcGdwLwAKCRC0deIHurWC +KUFSAKDIFA7ocgXFXFCvdkHkGZOttM/kAwCePtBXP0JB1+I5+2SqyOpqHzWvWimI +ZQQTEQoAJQUCVNX5ah4aaHR0cDovL3d3dy5nb3RoZ29vc2UubmV0L3BncC8ACgkQ +lI/WoOEPUC76hACgmomM0xtzKFE+PZgfx0DNDh/AidwAn3oRK66IW4ycSVv1Vr1k +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 +EDFSOYJFfkLXfnGmkKzG7rYt/YNySUSRTYAiV6wVPLnwpgw0wA2BTPxkb1Jv4idV +u0aKPFc4UBR8Jwg7k+nfnb2mv3U7szqJAkUEEwEKAC8FAlTp3SUoGmh0dHA6Ly93 +d3cuZHVtYWluLmNvbS9zaWduaW5ncG9saWN5LnR4dAAKCRCgsx+I6BIzVtyMEACW ++QyL9j2xrdJAfKV1DePdrHJFeuyMAKlgw26aqhdB7obFP4lvRYEosZar8fphcKrm +1fRulbdyiIQeGlJlCvgQjmbGiVIheIROVUxI2P3cZcPAs0Nyi9zZzEiSxF9pRBhP +PdBArg/l/H0bufYjPCBydFB92mtUS0G1zu4R+myp8g7v3brEPQj5mpt7PTy5k6qq +iNYs2YxpFCMLxz3WPonHnQNeKbRHcCYdXQT//MoJkrfsZSkMsPNMmo4VXayUObiA +8tigC++lNk/DqiZOXcy6iSOHp/meaAZS8x7zg8rXKe/OlMtsPvRSsTPN7Uug8f2n +qdYP3/5LXEnonINjvN2E7AfZe+unq4g8qAN2LV3TyHurjDGge47gRyLAClVMvAJ4 +q1OjQDOgE+5AYitlj/FcbLIbFzKTNrC/lnseks4y+jgNz3mrWUjtF+q1ZIQHxX9x +bBooOhuzsJZ1lziki/zh9+J28CokXnk3ICfvhcs9FYgn1s5f7DR1AQwyNR+q6E9r +vFEwcQ7yIH7RYPssGkL/mSwN1eojKFcCqFJzYn5PXHqG/oKmFqMVvAnoa3iZTuAH +wtZUNisc+pwmaZ7kMPVziKkuQEEnFzrpSE/3uFrtWWQ975X1cMo+ye1lgPqE5uOM +5S8T5uqcvAdY6sgbHWyIMYpizpqq5pr0Uz2pDoU4gIkCzgQSAQgAuAUCVN4wZAWD +ELRqz3IUgAAAAAAeAEtvY2Nhc2lvbkBuaWVscy5kZXN0LXVucmVhY2guYmUiWmlt +bWVybWFubuKAk1Nhc3NhbWFuIGJhc2VkIGtleSBzaWduaW5nIHBhcnR5IGF0IEZP +U0RFTTIwMTUgb24gMjAxNS0wMi0wMSI4Gmh0dHA6Ly9uaWVscy5kZXN0LXVucmVh +Y2guYmUvcGdwLWtleS1zaWduaW5nLXBvbGljeS50eHQACgkQJb9ITwirSEkmYQ// +XkYjo5AvDrA1QQ/G/X2ShSOf0+7llLlNaw8LXV/2Gt4alptDzVkUh6ivQXPKUNBF +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 +u53vLBklVO4Y4HFCFSyAjFdNd56n/1ObgQCbvJXbLbRjYpWaJ7U/QJ87ucUp9apU +G3u21nXORWZ1+IIlMUzGrFppIiLYpHlwJGFU7h1XvZGjSE5TSB1PRLpjbaw9Q6Ht +RwNcnb5gBMOzMXizb2+OwmcPiF8isXvJTavFrQUpq16/zyZXorzMBVtBYMzEgI/Z +ZKYwX1iPkDRq2IyAwMdcfBJuFPJUrz4/TMEOuas/HuwwWkYZKl7+PW4+z8I7C940 +mqd8D5DJXj9VB3LjhsAx5k4+wvfIUMKnVRQxxqedRU96aiiRdRPrXC5vgQ1MquG2 +AMn3B4Opt2j7xYvRCOgSLMEGmphU1Q7gVct6l1zkiThauFO2/opF/azItQgD6emk +BiTwBuxbfobR0Nb676owATSxoP+S310h/CkUWns7c3hlih6GSKIN0hX/qYEbu2Vw +Bbqs55StBOv/3uwfyx6fACcxrYYIdYFeCfS2sDm7KzIXkctUjXeegfVzIiGnwAXH +vVX9wGwbggtZ/WdhePnANN0jYUh9AYy4RxGK9FAdckwuvV50rS+chjrcyzvB/vDp +/4Alj/PgRVu7ZFVMwCEtfQ5aNHuhQJ7KJIRjCZTQGDhZdg8ahZ9KGEHcnN70c/KX +IBEG+g09EfsRI1eozQgU/GUfLMlMkpNyveaKOOkRw7RpFak1zRqTrKB4mQE8pWbj +z5eJHtrHuL+xaKp0ETz0UPa2q5EyVtEDau9VpytvTLgWS0W2cGykKzyUoCP6Upzz +6PLk83Li+X7IymBjvtZfunkClHtzcHRiNgTzxVoe5F+Njo6EkPgkxUn5QpsK/1JA +rVM9npL8FLVlmUC0aaqInzZkPwpyw33irgcRsN/RKzlWWSFdFt0rnlI9eAsmjmxX +gZd18mxJXx3xjjzzwG7ggVqXZXlnFycLTS04Zbgc+ei+N/FQd8aDUGGyzkoydeh4 +hNT5/gLx4nMdqYoWryD0CjcSkSPeL2+/jgjbmnmTiQSxBBIBAgCbBQJVHYh7lBpo +dHRwOi8vd3d3LmplbnNlcmF0LmRlL2ZpbGVzL29wZW5wZ3AvQTRGRjIyNzktY2Vy +dC1wb2xpY3ktMjAxMy0wNS0xNy50eHQ/c2hhNTEyc3VtPThjODU4MmYyNTI5OTI0 +ZGQ2OTI5N2I3NGMzNDBhMGEyOWExYzFkNzViMTgxYmZmNjAyZmRkZDc5ZTdmMDQ5 +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 +GMNRbpXIPFmM1IAXOVcB46VaXuimYDYZvE9JmWIdWY0Swt3JSQ4BODHE62qUuKMU +026pufhrDmIYo7xktOdiM5igTCbx5YzuUrF3uReZYyY7A6ZYiQLOBBIBCAC4BQJU +3jBvBYMQtGrPchSAAAAAAB4AS29jY2FzaW9uQG5pZWxzLmRlc3QtdW5yZWFjaC5i +ZSJaaW1tZXJtYW5u4oCTU2Fzc2FtYW4gYmFzZWQga2V5IHNpZ25pbmcgcGFydHkg +YXQgRk9TREVNMjAxNSBvbiAyMDE1LTAyLTAxIjgaaHR0cDovL25pZWxzLmRlc3Qt +dW5yZWFjaC5iZS9wZ3Ata2V5LXNpZ25pbmctcG9saWN5LnR4dAAKCRAlv0hPCKtI +SaJ9D/oCnJsL2MTm0MATDpJsd57Ymy+5iM4+xcfAtBLrUTQOCZ/Co9a5VbfbHNvf +As4dAHbAUG0IptivZY1X2qx5T0GrQyryJWkle2ZxCGzG9k4Vh7pwG8ji8dDW6huK +rIr29mcInxKsKqkm1WkTYqVg8nQwqrVVupDwpr9eFKzWEEcOiFsGgtvd/4a/HhBr ++mUIBpxyBB6xrV1EB45MnaAdKqgjWyw/HwtiwTGn/MwmwUcchPo1nFek+DbUpvsv +bC6AZHrnNnZbs4A1s9K9aEYK3WTDwKmnvjDvRqiTqD5p+SvhMLBxYsex23JkhlDk +OZ4yCWfC8yX+gQTNb+cGFNKx27klXLs9+IUgOZuQkCGYlRRAJOx2uOUJa11thAS/ +5COxPGc3D+9zFpDne/DYaHBZ9q0tp2A1G1mSZHqRne2g5TSQWVGtGmVVhXkgrYMC +i5WZx5OAe1PFdgStYvaTZHd0DkWBNcNtcS3PFW6+uodawcJEMbDOaY2LsVgw1EpO +ukSF4E/DHKm1Iohmfug0qMzpWo1rUxsfqtKarLqCu/RKOVZRVbkgfmv9PwVMkN92 +z857eUej4PfQw+XNxmSYU9swrwnbn9hvUQ8pl0ZRNY6ViVYNHXnCvokkGyD8q8MZ +sBXLrJiYv+Cm/GavTKmhNw5ztz+2IGlBqHJ9Bnj1OgGzSVfW3okEHAQQAQIABgUC +VNZ7EAAKCRDYTvfnKr6tYWw4H/wOyjrnTwX5cFspSrROv1io89kpZV/fZS39x3jU +ZzsLuPGVOaERLXbhxlNNQ2RKiInyqT4YTSztbeajif9I3Ma8skPzGvHWvWj/x9MP +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 +iSCvEYNaY5dETKtfNxCbuJ/JIe4mTFoYYFSa5pNQWdHmroeqCaATpODPaxEA3muP +3HrqWkg0JzbCFDSWKKukPtRTzoNRHryyqflycVnJtD2Z9nMffeU4CMEoYkfxby/G +3Mmzw57SE/+4HND89A2t4sAKM/aL8dUxNlhXXvkFOVMmNL5gMILaCMWcOGZiUfSe +r17kSZYKz7aFeb9e0RoS850GgTDytJNZReRUpigm3buCh7aJBLEEEgECAJsFAlUd +iHuUGmh0dHA6Ly93d3cuamVuc2VyYXQuZGUvZmlsZXMvb3BlbnBncC9BNEZGMjI3 +OS1jZXJ0LXBvbGljeS0yMDEzLTA1LTE3LnR4dD9zaGE1MTJzdW09OGM4NTgyZjI1 +Mjk5MjRkZDY5Mjk3Yjc0YzM0MGEwYTI5YTFjMWQ3NWIxODFiZmY2MDJmZGRkNzll +N2YwNDk2NAAKCRBOH3mapP8ieSZsH/wLlfW6zcuUlHF6wZ9Xdo2FkMAca4r7cOKD +HwzuDWemEFK0G6No/ll5FqsKnyD33ZqdGTYqnMusCp/k61in+9JsLQ5UJVPOnqtz +40XpUiyBxe6mSpoLhehDfE0hkvr0n+E82qWgtSbpDJAtE4RZKKQWPaVebsm5WumS +H8Gy6mi1bMjoJbMe2xCYwaXMTX+sChOLyyvPmuzf0DyrxZs9MacWlWcGPzb1c5b2 +xIkcz83fxUa8L11sTZdE4Fdzosj7N1PAz1+kZtO3GDT2SvzuGhMdCZXhnf64J1E0 +3tcKxIO6lixPJdWlsgHvBGoGTLjxIxJSP5NMlj9Zx88Cvo1+ZE/M/s/oxmciSgow +0ZqQirD2sThyWj6OA0Dzwi77/7bft3SLPkXyHFaWFmbN5O6EUuOFrFs6m2ZykP3X +7LwwVKMGPEiL132+JqMolO271Zyo6oWXpRQFsTy2W6HUOoNghzl6ROun0xtzQ0Qo +NSHMCw9l8YuQnkDH5id5T1jPaimCxCnyI+bh2+zQhGFbPuriGCdYJWKDx+bi0Wf5 +ABbKNcn/wIU1VQ13oCA0GVHftEgbeHqjS686+nWcQlgHJtM5M8E7OdH/jUcLiXe9 +s0llwCe2XW4NaHTMiCZ1agyuBI6QrWgysw84fGZXcJywDm/faDppQcnpw6C9ELTw +gwyQ6HDxjcCS+DhMxca02+XqcdNN60W0Of7wWEPGPg/M7Aq3Mc3n+sHhgxobEBmX ++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 +pGk7fCuicUOZAptSIBOhrk3ETanFL7tZBMzpWrHBNmPLNpWUzGcavXXCqW9TMLGx +O8f35RVUxO3uXFd6bpOXNmleqZ5a86bcR4niGGOZ3EKU6+o5M/5Ujqf7U44XYxjE +HkN4dhv367dIHePq8Cf7egrdFbVwebkW98iWWCuXqFpVeKTmOq225k9SQmp3CuAu +GmilWKYg68uJhalJB+Aq2Yv2U8aW2GsXGJcYWWEm9eaaQ4FJt7ZnMN3Fk6a6bgbV +w3tbRiXAPHF5wpYcfuY21atsLN9a3IWyta20rIQUrUCBmicx1BrRDHPJ+LME9Rhx +PqzuNjw5we0ElLrRB/Kku7Hlz/WalE4LgiATbNNIJMlagVkn33rgasX4v4cu8Lsm +uJsOxdq/sbW5P3S5N02kvpzd05IGV5GYIWgbKTEmrba8T5Hu6vlPYJcmNlHul67i +dNT5VGeGcfJoxarFk4qjpV1gbbjRS04kJOisqRr8AB8ajzw+y0EhhDU7HupJ94qL +tOK760fbbxIIct3IAuGzoD/qHL129KuFtdsugAahfIaiqt9dl8kn0HCdibN9fcuB +CVmSnSFHqQNz71dQE5SOu9Q+HFCNeiYSkdPMVKoV4BGkjeqckkWYkaXZAWnoK829 +qVkq3x+5DqYClZgRuDv9elemQAV7TtXCO120BxS4cUgqVIyRseoPsPrSr9G/kZvU +F8TnPC1gpeIWS+5KgtwQkdJyz8/lXqTgHs2vXrL742q3cEKKUFwJISFkgwd5mdOt +cW7N8JsGMRYucRuksNWawoLWQAQsiU+kZh616asnMHQwhdniqHEZQEDY1LVZNz2k +/TMPtx3v9hpiuHLt8Pcac1UgTHQiuc4Y6cP7QG8hCS8UGfX/AGrql4ypy2cccVmC +wQDXLcUZS1xharb0UW21Aj1OteTqPjGz7H0tKanB/R9ZOF8QOL8M4TiijKruyYeV +6qQCfnUpzqldi7rj/ZXwy46ZV9wQknrBI/arrzr67DLdjjL7SPy3LHZklH6bCKKW +irCsSilooBKI1oo50AlLR0ooBKXpRzpaAxNFCt6KAUUTFEUfGgCk5GlpNYNALzpD +SxQRQBOtE0fGigCaBR8aIoBDRRFEUAcqOfvSxSc6AOUUvMURpFEa0AdKJmiPOj40 +AE6VC8bYexivCOL2FyJbcs3VehSnMD8QKmjMUwx9ObA8RT1tHh/2GoZVcJJ/TJ43 +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 +kVW75mNAsBXVhdTpTVvh0DmsP6bqboeAYg0jsUknPDDuRIbqQRIA+6Q0ZDGYES5X +huKpcO1y0Symipvpy+Z7jP47GBBugWQ015prQhftGR2/Gi3vy0SkAVBMiiPLraGL +XC9AAlIhB5UFfUXOHIDdKNKmJzacuA1HeflMfn4CgL31ESGP4ePuOu+INnfb237c +fTa8Db2B6USemgh1EcIiQcqeFRUxDt4O7/omYfXD2DyRlzFmkEYx6T/ErC5Uz309 +b45lG+lZ3FpFU7tDHi4fn0Ifi/43ftQzeq1M8UwxAN/1jI9JBwBaBPmFpQN60GKu +wBNDLXK6OzaZkSK6xZh74WwDwT/yca4SJ9iMF8najtiNzzpa1uKmMYnNNxsIsDPj +nOTdjOIzaeVduS9B0VUPWXWQZrn+ofDjQKmzZxSV2CWaWHvnzpcYubA6JnboiQSx +BBIBAgCbBQJVHYh7lBpodHRwOi8vd3d3LmplbnNlcmF0LmRlL2ZpbGVzL29wZW5w +Z3AvQTRGRjIyNzktY2VydC1wb2xpY3ktMjAxMy0wNS0xNy50eHQ/c2hhNTEyc3Vt +PThjODU4MmYyNTI5OTI0ZGQ2OTI5N2I3NGMzNDBhMGEyOWExYzFkNzViMTgxYmZm +NjAyZmRkZDc5ZTdmMDQ5NjQACgkQTh95mqT/InmPgSAAj1I4txhbIdH81cjeqNbb +ZKGT1LxLF33UT/9MygYIPG+UWDgf8/ynOAKgD0AyxRi06tCCSVLcUo6VMFOv+LaS +QYhI3MtC1jRMgyZ92InsB5CW6k8Hezkr1/MJJgaMk5KrZy9pzLZEt8J54EqUoDhR +MH2dArA3+bGRjsImd56nS9zYMtz6JXGwT0fFWI4BBY887RddPQPL5conUQL/tDvx +adUPlmRLIEDoXL763cBz/EcZPPY7/HNUgUHjBhgg5Pgz9uIUB/qpfDzkicy4HFSw +0Rru27T9WTVYHr4Wo+NvGLFbNb8E25YGxJrCGSyyoltuvBUz5FynMf2vCbIx+JAZ +1p/lyphjcXa06AGt2Amh/8VpiZoXAW2uHVBWD3F2VHfZ1JlbjxLDCujbMbuK2v2E +CuIsYjm9gjtpHBNsBNZS2OpNd19djN/5v/5S8NIOgGB58OnSDed/B+tpIHl4WKdM +HBcn5Lsdjcmh848T8Ycq0ibTgFfuob2DXMZDJQ9eELHvT3NERirqk586xY60+B7M +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 +QbFhnHBNpuSxFq2buB9pLkO9 +=MhQ9 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/test/phpunit.sh b/test/phpunit.sh index 224f8b6..b740b7d 100755 --- a/test/phpunit.sh +++ b/test/phpunit.sh @@ -13,7 +13,7 @@ clean=0 # Clean up? gpg --fingerprint D8406D0D82947747293778314AA394086372C20A if [ $? -ne 0 ]; then echo -e "\033[33mDownloading PGP Public Key...\033[0m" - gpg --keyserver pgp.mit.edu --recv-keys D8406D0D82947747293778314AA394086372C20A + gpg --import test/phpunit-pubkey.asc # Sebastian Bergmann gpg --fingerprint D8406D0D82947747293778314AA394086372C20A if [ $? -ne 0 ]; then From c5f20f07e2c5e93bc39861c5e716b76bbb6aae1f Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:07:42 -0600 Subject: [PATCH 26/67] Document some Crypto methods. --- docs/classes/Crypto.md | 84 +++++++++++++++++++++++++++++++++++------- 1 file changed, 70 insertions(+), 14 deletions(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index 315dfbd..937ef4f 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -1,5 +1,5 @@ -Class: Crypto -============== +Class: Defuse\Crypto\Crypto +============================ **Purpose:** The `Crypto` class provides encryption and decryption of *strings* either using a secret key or secret password. @@ -7,35 +7,90 @@ either using a secret key or secret password. Static Methods --------------- -## encrypt($plaintext, Key $key, $raw\_binary = false) +## Crypto::encrypt($plaintext, Key $key, $raw\_binary = false) **Description:** Encrypts a plaintext string using a secret key. **Parameters:** +1. `$plaintext` is the string to encrypt. +2. `$key` is an instance of `Key` containing the secret key for encryption. +3. `$raw\_binary` determines whether the output will be a byte string (true) or + hex encoded (false, the default). + **Return value:** +Returns a ciphertext string representing `$plaintext` encrypted with the key +`$key`. Knowledge of `$key` is required in order to decrypt the ciphertext. + **Exceptions:** -**Side-effects:** +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +This function has no externally-visible side-effects. It runs a fast set of +self-tests the very first time it is called, but the performance overhead is +negligible and can be safely ignored. **Cautions:** -## decrypt($ciphertext, Key $key, $raw\_binary = false) +The ciphertext returned by this function is decryptable by anyone with knowledge +of the key `$key`. It is the caller's responsibility to keep `$key` secret. +Where `$key` should be stored is up to the caller and depends on the threat +model the caller is designing their application under. If you are unsure where +to store `$key`, consult with a professional cryptographer to get help designing +your application. + +## Crypto::decrypt($ciphertext, Key $key, $raw\_binary = false) **Description:** Decrypts a ciphertext string using a secret key. **Parameters:** +1. `$ciphertext` is the ciphertext to be decrypted. +2. `$key` is an instance of `Key` containing the secret key for decryption. +3. `$raw\_binary` must have the same value as the `$raw\_binary` given to the + call to `encrypt()` that generated `$ciphertext`. + **Return value:** +If the decryption succeeds, returns a string containing the same value as the +string that was passed to `encrypt()` when `$ciphertext` was produced. Upon +a successful return, the caller can be assured that `$ciphertext` could not have +been produced except by someone with knowledge of `$key`. + **Exceptions:** -**Side-effects:** +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if + either the given `$key` is not the correct key for the given `$ciphertext` or + if `$ciphertext` is not the same string as that returned by `encrypt()`, i.e. + it was accidentally corrupted or intentionally corrupted by an attacker. There + is no way for the caller to distinguish between these two cases. + +**Side-effects and performance:** + +This function has no externally-visible side-effects. It runs a fast set of +self-tests the very first time it is called, but the performance overhead is +negligible and can be safely ignored. **Cautions:** -## encryptWithPassword($plaintext, $password, $raw\_binary = false) +It is impossible in principle to distinguish between the case where you attempt +to decrypt with the wrong key and the case where you attempt to decrypt +a modified (corrupted) ciphertext. It is up to the caller how to best deal with +this ambiguity, as it depends on the application this library is being used in. +If in doubt, consult with a professional cryptographer. + +## Crypto::encryptWithPassword($plaintext, $password, $raw\_binary = false) **Description:** Encrypts a plaintext string using a secret password. @@ -45,18 +100,19 @@ Static Methods **Exceptions:** -**Side-effects:** +**Side-effects and performance:** -This function is intentionally slow. It applies key stretching to the password -in order to make password guessing attacks more computationally expensive. If -you need a faster way to encrypt multiple ciphertexts under the same password, -see the `KeyProtectedByPassword` class. +This function is intentionally slow, using a lot of CPU resources for a fraction +of a second. It applies key stretching to the password in order to make password +guessing attacks more computationally expensive. If you need a faster way to +encrypt multiple ciphertexts under the same password, see the +`KeyProtectedByPassword` class. **Cautions:** TODO: stack trace will leak password -## decryptWithPassword($ciphertext, $password, $raw\_binary = false) +## Crypto::decryptWithPassword($ciphertext, $password, $raw\_binary = false) **Description:** Decrypts a ciphertext string using a secret password. @@ -78,7 +134,7 @@ see the `KeyProtectedByPassword` class. TODO: stack trace will leak password (make sure this caution goes in File too) -## legacyDecrypt($ciphertext, $key) +## Crypto::legacyDecrypt($ciphertext, $key) **Description:** Decrypts a ciphertext produced by version 1 of this library so that the plaintext can be re-encrypted into a version 2 ciphertext. See From dddf6cf769d3dff250e50603125d20d4fa24be81 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:10:15 -0600 Subject: [PATCH 27/67] Try something --- README.md | 4 ++-- docs/classes/Crypto.md | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d1fb0e1..2b4d936 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,8 @@ newer with the OpenSSL extensions enabled (the default). It comes bundled with [random\_compat](https://github.com/paragonie/random_compat) so that your users will not need to follow any special installation steps. -Docmentation -------------- +Getting Started +---------------- Start with the [**Tutorial**](docs/Tutorial.md). You can find instructions for obtaining this library's code securely in the [Installing and diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index 937ef4f..93ccd3b 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -4,10 +4,17 @@ Class: Defuse\Crypto\Crypto **Purpose:** The `Crypto` class provides encryption and decryption of *strings* either using a secret key or secret password. +Instance Methods +----------------- + +This class has no instance methods, it only provides the static methods above. + Static Methods --------------- -## Crypto::encrypt($plaintext, Key $key, $raw\_binary = false) +## Crypto::encrypt + +**Signature:** `Crypto::encrypt($plaintext, Key $key, $raw\_binary = false)` **Description:** Encrypts a plaintext string using a secret key. @@ -150,11 +157,6 @@ that the plaintext can be re-encrypted into a version 2 ciphertext. See **Cautions:** -Instance Methods ------------------ - -This class has no instance methods, it only provides the static methods above. - Where's the Code? ------------------ From e8447c6df869c2d8ff087192d06c2e43cc9ccbcc Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:10:33 -0600 Subject: [PATCH 28/67] Try something --- docs/classes/Crypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index 93ccd3b..ad06db2 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -12,7 +12,7 @@ This class has no instance methods, it only provides the static methods above. Static Methods --------------- -## Crypto::encrypt +### Crypto::encrypt **Signature:** `Crypto::encrypt($plaintext, Key $key, $raw\_binary = false)` From 8d2332a30f12d0a9d07ca11bad5d1e0becb3bf7a Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:11:04 -0600 Subject: [PATCH 29/67] Try something --- docs/classes/Crypto.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index ad06db2..36e3c29 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -12,9 +12,7 @@ This class has no instance methods, it only provides the static methods above. Static Methods --------------- -### Crypto::encrypt - -**Signature:** `Crypto::encrypt($plaintext, Key $key, $raw\_binary = false)` +### Crypto::encrypt($plaintext, Key $key, $raw\_binary = false) **Description:** Encrypts a plaintext string using a secret key. @@ -52,7 +50,7 @@ model the caller is designing their application under. If you are unsure where to store `$key`, consult with a professional cryptographer to get help designing your application. -## Crypto::decrypt($ciphertext, Key $key, $raw\_binary = false) +### Crypto::decrypt($ciphertext, Key $key, $raw\_binary = false) **Description:** Decrypts a ciphertext string using a secret key. @@ -97,7 +95,7 @@ a modified (corrupted) ciphertext. It is up to the caller how to best deal with this ambiguity, as it depends on the application this library is being used in. If in doubt, consult with a professional cryptographer. -## Crypto::encryptWithPassword($plaintext, $password, $raw\_binary = false) +### Crypto::encryptWithPassword($plaintext, $password, $raw\_binary = false) **Description:** Encrypts a plaintext string using a secret password. @@ -119,7 +117,7 @@ encrypt multiple ciphertexts under the same password, see the TODO: stack trace will leak password -## Crypto::decryptWithPassword($ciphertext, $password, $raw\_binary = false) +### Crypto::decryptWithPassword($ciphertext, $password, $raw\_binary = false) **Description:** Decrypts a ciphertext string using a secret password. @@ -141,7 +139,7 @@ see the `KeyProtectedByPassword` class. TODO: stack trace will leak password (make sure this caution goes in File too) -## Crypto::legacyDecrypt($ciphertext, $key) +### Crypto::legacyDecrypt($ciphertext, $key) **Description:** Decrypts a ciphertext produced by version 1 of this library so that the plaintext can be re-encrypted into a version 2 ciphertext. See From 68f5c04437c8985b04ea5ae6535242fc45e307ee Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:11:43 -0600 Subject: [PATCH 30/67] Try something --- docs/classes/Crypto.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index 36e3c29..2090ab2 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -1,8 +1,8 @@ Class: Defuse\Crypto\Crypto ============================ -**Purpose:** The `Crypto` class provides encryption and decryption of *strings* -either using a secret key or secret password. +The `Crypto` class provides encryption and decryption of *strings* either using +a secret key or secret password. Instance Methods ----------------- From 855ac4757c5d1e74860ca8d85a37723b5756d02f Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:12:32 -0600 Subject: [PATCH 31/67] Try something --- docs/classes/Crypto.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index 2090ab2..9fd4309 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -1,8 +1,9 @@ Class: Defuse\Crypto\Crypto ============================ -The `Crypto` class provides encryption and decryption of *strings* either using -a secret key or secret password. +The `Crypto` class provides encryption and decryption of strings either using +a secret key or secret password. For encryption and decryption of large files, +see the `File` class. Instance Methods ----------------- From 52bff94236dfa44d26dd9c37ef9f8c48d00cd84e Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:25:23 -0600 Subject: [PATCH 32/67] Finish documenting Crypto --- docs/classes/Crypto.md | 94 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 87 insertions(+), 7 deletions(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index 9fd4309..659155d 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -5,6 +5,8 @@ The `Crypto` class provides encryption and decryption of strings either using a secret key or secret password. For encryption and decryption of large files, see the `File` class. +This code for this class is in `src/Crypto.php`. + Instance Methods ----------------- @@ -27,7 +29,8 @@ Static Methods **Return value:** Returns a ciphertext string representing `$plaintext` encrypted with the key -`$key`. Knowledge of `$key` is required in order to decrypt the ciphertext. +`$key`. Knowledge of `$key` is required in order to decrypt the ciphertext and +recover the plaintext. **Exceptions:** @@ -102,10 +105,24 @@ If in doubt, consult with a professional cryptographer. **Parameters:** +1. `$plaintext` is the string to encrypt. +2. `$password` is a string containing the secret password used for encryption. +3. `$raw\_binary` determines whether the output will be a byte string (true) or + hex encoded (false, the default). + **Return value:** +Returns a ciphertext string representing `$plaintext` encrypted with a key +derived from `$password`. Knowledge of `$password` is required in order to +decrypt the ciphertext and recover the plaintext. + **Exceptions:** +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + **Side-effects and performance:** This function is intentionally slow, using a lot of CPU resources for a fraction @@ -116,7 +133,11 @@ encrypt multiple ciphertexts under the same password, see the **Cautions:** -TODO: stack trace will leak password +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$password` may be leaked out to an attacker through the stack trace. +We recommend configuring PHP to never output stack traces (either displaying +them to the user or saving them to log files). ### Crypto::decryptWithPassword($ciphertext, $password, $raw\_binary = false) @@ -124,10 +145,32 @@ TODO: stack trace will leak password **Parameters:** +1. `$ciphertext` is the ciphertext to be decrypted. +2. `$password` is a string containing the secret password used for decryption. +3. `$raw\_binary` must have the same value as the `$raw\_binary` given to the + call to `encryptWithPassword()` that generated `$ciphertext`. + **Return value:** +If the decryption succeeds, returns a string containing the same value as the +string that was passed to `encryptWithPassword()` when `$ciphertext` was +produced. Upon a successful return, the caller can be assured that `$ciphertext` +could not have been produced except by someone with knowledge of `$password`. + **Exceptions:** +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if + either the given `$password` is not the correct password for the given + `$ciphertext` or if `$ciphertext` is not the same string as that returned by + `encrypt()`, i.e. it was accidentally corrupted or intentionally corrupted by + an attacker. There is no way for the caller to distinguish between these two + cases. + **Side-effects:** This function is intentionally slow. It applies key stretching to the password @@ -137,8 +180,17 @@ see the `KeyProtectedByPassword` class. **Cautions:** -TODO: stack trace will leak password - (make sure this caution goes in File too) +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$password` may be leaked out to an attacker through the stack trace. +We recommend configuring PHP to never output stack traces (either displaying +them to the user or saving them to log files). + +It is impossible in principle to distinguish between the case where you attempt +to decrypt with the wrong password and the case where you attempt to decrypt +a modified (corrupted) ciphertext. It is up to the caller how to best deal with +this ambiguity, as it depends on the application this library is being used in. +If in doubt, consult with a professional cryptographer. ### Crypto::legacyDecrypt($ciphertext, $key) @@ -148,15 +200,43 @@ that the plaintext can be re-encrypted into a version 2 ciphertext. See **Parameters:** +1. `$ciphertext` is a ciphertext produced by version 1.x of this library. +2. `$key` is a 16-byte string (*not* a Key object) containing the key that was + used with version 1.x of this library to produce `$ciphertext`. + **Return value:** +If the decryption succeeds, returns the string that was encrypted to make +`$ciphertext` by version 1.x of this library. Upon a successful return, the +caller can be assured that `$ciphertext` could not have been produced except by +someone with knowledge of `$key`. + **Exceptions:** +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if + either the given `$key` is not the correct key for the given `$ciphertext` or + if `$ciphertext` is not the same string as that returned by `encrypt()`, i.e. + it was accidentally corrupted or intentionally corrupted by an attacker. There + is no way for the caller to distinguish between these two cases. + **Side-effects:** **Cautions:** -Where's the Code? ------------------- +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$key` may be leaked out to an attacker through the stack trace. We +recommend configuring PHP to never output stack traces (either displaying them +to the user or saving them to log files). + +It is impossible in principle to distinguish between the case where you attempt +to decrypt with the wrong key and the case where you attempt to decrypt +a modified (corrupted) ciphertext. It is up to the caller how to best deal with +this ambiguity, as it depends on the application this library is being used in. +If in doubt, consult with a professional cryptographer. -`src/Crypto.php` From 2462c3fcea1ee77bdcc5c961dde05da2e6d9aca8 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:29:02 -0600 Subject: [PATCH 33/67] Crypto doc improvements --- docs/classes/Crypto.md | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index 659155d..fbeeb17 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -41,13 +41,13 @@ recover the plaintext. **Side-effects and performance:** -This function has no externally-visible side-effects. It runs a fast set of -self-tests the very first time it is called, but the performance overhead is -negligible and can be safely ignored. +This method runs a small and very fast set of self-tests if it is the very first +time one of the `Crypto` methods has been called. The performance overhead is +negligible and can be safely ignored in all applications. **Cautions:** -The ciphertext returned by this function is decryptable by anyone with knowledge +The ciphertext returned by this method is decryptable by anyone with knowledge of the key `$key`. It is the caller's responsibility to keep `$key` secret. Where `$key` should be stored is up to the caller and depends on the threat model the caller is designing their application under. If you are unsure where @@ -87,9 +87,9 @@ been produced except by someone with knowledge of `$key`. **Side-effects and performance:** -This function has no externally-visible side-effects. It runs a fast set of -self-tests the very first time it is called, but the performance overhead is -negligible and can be safely ignored. +This method runs a small and very fast set of self-tests if it is the very first +time one of the `Crypto` methods has been called. The performance overhead is +negligible and can be safely ignored in all applications. **Cautions:** @@ -125,12 +125,16 @@ decrypt the ciphertext and recover the plaintext. **Side-effects and performance:** -This function is intentionally slow, using a lot of CPU resources for a fraction +This method is intentionally slow, using a lot of CPU resources for a fraction of a second. It applies key stretching to the password in order to make password guessing attacks more computationally expensive. If you need a faster way to encrypt multiple ciphertexts under the same password, see the `KeyProtectedByPassword` class. +This method runs a small and very fast set of self-tests if it is the very first +time one of the `Crypto` methods has been called. The performance overhead is +negligible and can be safely ignored in all applications. + **Cautions:** PHP stack traces display (portions of) the arguments passed to methods on the @@ -173,10 +177,14 @@ could not have been produced except by someone with knowledge of `$password`. **Side-effects:** -This function is intentionally slow. It applies key stretching to the password -in order to make password guessing attacks more computationally expensive. If -you need a faster way to encrypt multiple ciphertexts under the same password, -see the `KeyProtectedByPassword` class. +This method is intentionally slow. It applies key stretching to the password in +order to make password guessing attacks more computationally expensive. If you +need a faster way to encrypt multiple ciphertexts under the same password, see +the `KeyProtectedByPassword` class. + +This method runs a small and very fast set of self-tests if it is the very first +time one of the `Crypto` methods has been called. The performance overhead is +negligible and can be safely ignored in all applications. **Cautions:** @@ -226,6 +234,10 @@ someone with knowledge of `$key`. **Side-effects:** +This method runs a small and very fast set of self-tests if it is the very first +time one of the `Crypto` methods has been called. The performance overhead is +negligible and can be safely ignored in all applications. + **Cautions:** PHP stack traces display (portions of) the arguments passed to methods on the From 03b4d99f6c5e710b9f37a73347534f252f345b76 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:29:33 -0600 Subject: [PATCH 34/67] Fix a thing --- docs/classes/Crypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index fbeeb17..f567ff3 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -10,7 +10,7 @@ This code for this class is in `src/Crypto.php`. Instance Methods ----------------- -This class has no instance methods, it only provides the static methods above. +This class has no instance methods. Static Methods --------------- From d5b7acd0e78fd035f948292d609475461982af88 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:30:09 -0600 Subject: [PATCH 35/67] Fix a thing --- docs/classes/Crypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index f567ff3..67c112a 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -204,7 +204,7 @@ If in doubt, consult with a professional cryptographer. **Description:** Decrypts a ciphertext produced by version 1 of this library so that the plaintext can be re-encrypted into a version 2 ciphertext. See -[Upgrading from v1.2](docs/UpgradingFromV1.2.md). +[Upgrading from v1.2](../docs/UpgradingFromV1.2.md). **Parameters:** From ebc3c526c9c335c830280159511618105038e711 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 20:30:19 -0600 Subject: [PATCH 36/67] Fix a thing --- docs/classes/Crypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index 67c112a..e91c807 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -204,7 +204,7 @@ If in doubt, consult with a professional cryptographer. **Description:** Decrypts a ciphertext produced by version 1 of this library so that the plaintext can be re-encrypted into a version 2 ciphertext. See -[Upgrading from v1.2](../docs/UpgradingFromV1.2.md). +[Upgrading from v1.2](../UpgradingFromV1.2.md). **Parameters:** From 38327e9f100b53b6546a4705127c9899dd70df4d Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 21:01:32 -0600 Subject: [PATCH 37/67] Document Key --- docs/classes/Key.md | 106 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/docs/classes/Key.md b/docs/classes/Key.md index e69de29..5c3e6cc 100644 --- a/docs/classes/Key.md +++ b/docs/classes/Key.md @@ -0,0 +1,106 @@ +Class: Defuse\Crypto\Key +========================= + +The `Key` class represents a secret key used for encrypting and decrypting. Once +you have a `Key` instance, you can use it with the `Crypto` class to encrypt and +decrypt strings and with the `File` class to encrypt and decrypt files. + +Instance Methods +----------------- + +### saveToAsciiSafeString() + +**Description:** Saves the encryption key to a string of printable ASCII +characters, which can be loaded again into a `Key` instance using +`Key::loadFromAsciiSafeString()`. + +**Parameters:** + +This method does not take any parameters. + +**Return value:** + +Returns a string of printable ASCII characters representing this `Key` instance, +which can be loaded back into an instance of `Key` using +`Key::loadFromAsciiSafeString()`. + +**Exceptions:** + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +None. + +**Cautions:** + +This method currently returns a hexadecimal string. You should not rely on this +behavior. For example, it may be improved in the future to return a base64 +string. + +Static Methods +--------------- + +### Key::createNewRandomKey() + +**Description:** Generates a new random key and returns an instance of `Key`. + +**Parameters:** + +This method does not take any parameters. + +**Return value:** + +Returns an instance of `Key` containing a randomly-generated encryption key. + +**Exceptions:** + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +None. + +**Cautions:** + +None. + +### Key::loadFromAsciiSafeString($savedKeyString) + +**Description:** Loads an instance of `Key` that was saved to a string by +`saveToAsciiSafeString()`. + +**Parameters:** + +1. `$savedKeyString` is the string returned from `saveToAsciiSafeString()` when + the original `Key` instance was saved. + +**Return value:** + +Returns an instance of `Key` representing the same encryption key as the one +that was represented by the `Key` instance that got saved into `$savedKeyString` +by a call to `saveToAsciiSafeString()`. + +**Exceptions:** + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\BadFormatException` is thrown whenever + `$savedKeyString` does not represent a valid `Key` instance. + +**Side-effects and performance:** + +None. + +**Cautions:** + +None. From 38bd04f1c19ee25c83a668f76a304c1c4c653e2d Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 21:12:19 -0600 Subject: [PATCH 38/67] Fix inconsistency in parameter names --- docs/classes/Key.md | 2 +- src/Key.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/classes/Key.md b/docs/classes/Key.md index 5c3e6cc..f6101b5 100644 --- a/docs/classes/Key.md +++ b/docs/classes/Key.md @@ -71,7 +71,7 @@ None. None. -### Key::loadFromAsciiSafeString($savedKeyString) +### Key::loadFromAsciiSafeString($saved\_key\_string) **Description:** Loads an instance of `Key` that was saved to a string by `saveToAsciiSafeString()`. diff --git a/src/Key.php b/src/Key.php index 4e4e90f..300befe 100644 --- a/src/Key.php +++ b/src/Key.php @@ -33,7 +33,7 @@ public static function createNewRandomKey() * * @return \Defuse\Crypto\Key */ - public static function loadFromAsciiSafeString($savedKeyString) + public static function loadFromAsciiSafeString($saved_key_string) { $key_bytes = Encoding::loadBytesFromChecksummedAsciiSafeString(self::KEY_CURRENT_VERSION, $savedKeyString); return new Key($key_bytes); From c9f204991685167c7ad1b46c4d0270ca47d915a7 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 21:15:35 -0600 Subject: [PATCH 39/67] Fix it here too. --- docs/classes/Key.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/classes/Key.md b/docs/classes/Key.md index f6101b5..e6cb5d1 100644 --- a/docs/classes/Key.md +++ b/docs/classes/Key.md @@ -78,8 +78,8 @@ None. **Parameters:** -1. `$savedKeyString` is the string returned from `saveToAsciiSafeString()` when - the original `Key` instance was saved. +1. `$saved\_key\_string` is the string returned from `saveToAsciiSafeString()` + when the original `Key` instance was saved. **Return value:** From c0d68a4cf33500d77f43db222304a67388f643f5 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 21:17:02 -0600 Subject: [PATCH 40/67] Fix here too --- docs/classes/Key.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/classes/Key.md b/docs/classes/Key.md index e6cb5d1..8f19de9 100644 --- a/docs/classes/Key.md +++ b/docs/classes/Key.md @@ -84,8 +84,8 @@ None. **Return value:** Returns an instance of `Key` representing the same encryption key as the one -that was represented by the `Key` instance that got saved into `$savedKeyString` -by a call to `saveToAsciiSafeString()`. +that was represented by the `Key` instance that got saved into +`$saved\_key\_string` by a call to `saveToAsciiSafeString()`. **Exceptions:** @@ -95,7 +95,7 @@ by a call to `saveToAsciiSafeString()`. detected a bug in this library. - `Defuse\Crypto\Exception\BadFormatException` is thrown whenever - `$savedKeyString` does not represent a valid `Key` instance. + `$saved\_key\_string` does not represent a valid `Key` instance. **Side-effects and performance:** From 793b50c516f539318acb144f1ec8aae3882ecffd Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 21:19:10 -0600 Subject: [PATCH 41/67] I am an idiot. --- src/Key.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Key.php b/src/Key.php index 300befe..3963577 100644 --- a/src/Key.php +++ b/src/Key.php @@ -35,7 +35,7 @@ public static function createNewRandomKey() */ public static function loadFromAsciiSafeString($saved_key_string) { - $key_bytes = Encoding::loadBytesFromChecksummedAsciiSafeString(self::KEY_CURRENT_VERSION, $savedKeyString); + $key_bytes = Encoding::loadBytesFromChecksummedAsciiSafeString(self::KEY_CURRENT_VERSION, $saved_key_string); return new Key($key_bytes); } From f6a839e38ad87a019ff160892e152a7a8b80c998 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 21:56:54 -0600 Subject: [PATCH 42/67] Transform an exception to simplify documentation. --- src/KeyProtectedByPassword.php | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/KeyProtectedByPassword.php b/src/KeyProtectedByPassword.php index 7c1cb8f..a0dcb65 100644 --- a/src/KeyProtectedByPassword.php +++ b/src/KeyProtectedByPassword.php @@ -2,6 +2,8 @@ namespace Defuse\Crypto; +use Defuse\Crypto\Exception as Ex; + final class KeyProtectedByPassword { const PASSWORD_KEY_CURRENT_VERSION = "\xDE\xF1\x00\x00"; @@ -69,19 +71,30 @@ public function saveToAsciiSafeString() * be used for encryption and decryption. * * @throws Defuse\Crypto\Exception\EnvironmentIsBrokenException - * @throws Defuse\Crypto\Exception\BadFormatException * @throws Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException * * @return Key */ public function unlockKey($password) { - $inner_key_encoded = Crypto::decryptWithPassword( - $this->encrypted_key, - $password, - true - ); - return Key::loadFromAsciiSafeString($inner_key_encoded); + try { + $inner_key_encoded = Crypto::decryptWithPassword( + $this->encrypted_key, + $password, + true + ); + return Key::loadFromAsciiSafeString($inner_key_encoded); + } catch (Ex\BadFormatException $ex) { + /* This should never happen unless an attacker replaced the + * encrypted key ciphertext with some other ciphertext that was + * encrypted with the same password. We transform the exception type + * here in order to make the API simpler, avoiding the need to + * document that this method might throw an Ex\BadFormatException. */ + throw new Ex\WrongKeyOrModifiedCiphertextException( + "The decrypted key was found to be in an invalid format. " . + "This very likely indicates it was modified by an attacker." + ); + } } /** From 46e760029f4a7cd97248aee34abad37176bf94b5 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Thu, 21 Apr 2016 22:55:42 -0600 Subject: [PATCH 43/67] Document (partially?) KeyProtectedByPassword --- docs/classes/KeyProtectedByPassword.md | 195 +++++++++++++++++++++++++ 1 file changed, 195 insertions(+) diff --git a/docs/classes/KeyProtectedByPassword.md b/docs/classes/KeyProtectedByPassword.md index e69de29..ee6503a 100644 --- a/docs/classes/KeyProtectedByPassword.md +++ b/docs/classes/KeyProtectedByPassword.md @@ -0,0 +1,195 @@ +Class: Defuse\Crypto\KeyProtectedByPassword +============================================ + +The `KeyProtectedByPassword` class represents a key that is "locked" with +a password. In order to obtain a usable `Key` instance, +a `KeyProtectedByPassword` must first be "unlocked" by providing the correct +password. + +It provides an alternative to using the `encryptWithPassword()`, +`decryptWithPassword()`, `encryptFileWithPassword()`, and +`decryptFileWithPassword()` methods with several advantages: + +- The slow and computationally-expensive key stretching is run only once when + you unlock a `KeyProtectedByPassword` to obtain the `Key`. +- You do not have to keep the original password in memory to encrypt and decrypt + things. After you've obtained the `Key` from a `KeyProtectedByPassword`, the + password is no longer necessary. + + +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO + +I found a vuln while writing this doc and that distracted me, so I have no idea +if it's in a finished state. I'll have to re-read the entire thing to make sure +it's all good and there are no copy/paste errors. + +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO +TODO TODO TODO + +Instance Methods +----------------- + +### saveToAsciiSafeString() + +**Description:** Saves the protected key to a string of printable ASCII +characters, which can be loaded again into a `KeyProtectedByPassword` instance using +`KeyProtectedByPassword::loadFromAsciiSafeString()`. + +**Parameters:** + +This method does not take any parameters. + +**Return value:** + +Returns a string of printable ASCII characters representing this +`KeyProtectedByPassword` instance, which can be loaded back into an instance of +`KeyProtectedByPassword` using `Key::loadFromAsciiSafeString()`. + +**Exceptions:** + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +None. + +**Cautions:** + +This method currently returns a hexadecimal string. You should not rely on this +behavior. For example, it may be improved in the future to return a base64 +string. + +### unlockKey($password) + +**Description:** + +**Parameters:** + +1. `$password` is the password required to unlock this `KeyProtectedByPassword` + to obtain the `Key`. + +**Return value:** + +If `$password` is the correct password, then this method returns an instance of +the `Key` class. + +**Exceptions:** + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if + either the given `$password` is not the correct password for this + `KeyProtectedByPassword` or the ciphertext stored internally by this object + has been modified, i.e. it was accidentally corrupted or intentionally + corrupted by an attacker. There is no way for the caller to distinguish + between these two cases. + +**Side-effects and performance:** + +This method runs a small and very fast set of self-tests if it is the very first +time this method or one of the `Crypto` methods has been called. The performance +overhead is negligible and can be safely ignored in all applications. + +**Cautions:** + +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$password` may be leaked out to an attacker through the stack trace. +We recommend configuring PHP to never output stack traces (either displaying +them to the user or saving them to log files). + +It is impossible in principle to distinguish between the case where you attempt +to unlock with the wrong password and the case where you attempt to unlock +a modified (corrupted) `KeyProtectedByPassword. It is up to the caller how to +best deal with this ambiguity, as it depends on the application this library is +being used in. If in doubt, consult with a professional cryptographer. + +Static Methods +--------------- + +### KeyProtectedByPassword::createRandomPasswordProtectedKey($password) + +**Description:** Generates a new random key that's protected by the string +`$password` and returns an instance of `KeyProtectedByPassword`. + +**Parameters:** + +This method does not take any parameters. + +**Return value:** + +Returns an instance of `KeyProtectedByPassword` containing a randomly-generated +encryption key that's protected by the password `$password`. + +**Exceptions:** + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +This method runs a small and very fast set of self-tests if it is the very first +time this method or one of the `Crypto` methods has been called. The performance +overhead is negligible and can be safely ignored in all applications. + +**Cautions:** + +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$password` may be leaked out to an attacker through the stack trace. +We recommend configuring PHP to never output stack traces (either displaying +them to the user or saving them to log files). + +### KeyProtectedByPassword::loadFromAsciiSafeString($saved\_key\_string) + +**Description:** Loads an instance of `KeyProtectedByPassword` that was saved to +a string by `saveToAsciiSafeString()`. + +**Parameters:** + +1. `$saved\_key\_string` is the string returned from `saveToAsciiSafeString()` + when the original `KeyProtectedByPassword` instance was saved. + +**Return value:** + +Returns an instance of `KeyProtectedByPassword` representing the same +password-protected key as the one that was represented by the +`KeyProtectedByPassword` instance that got saved into `$saved\_key\_string` by +a call to `saveToAsciiSafeString()`. + +**Exceptions:** + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\BadFormatException` is thrown whenever + `$saved\_key\_string` does not represent a valid `KeyProtectedByPassword` + instance. + +**Side-effects and performance:** + +None. + +**Cautions:** + +None. From b3eee7d37239b9be7188f48afd074ec0d04f2528 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Fri, 22 Apr 2016 14:22:50 -0600 Subject: [PATCH 44/67] Add poor man's domain separation to fix the issue described in #240 --- src/KeyProtectedByPassword.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/KeyProtectedByPassword.php b/src/KeyProtectedByPassword.php index a0dcb65..424091d 100644 --- a/src/KeyProtectedByPassword.php +++ b/src/KeyProtectedByPassword.php @@ -21,11 +21,10 @@ final class KeyProtectedByPassword */ public static function createRandomPasswordProtectedKey($password) { - /* Create a new random key. */ $inner_key = Key::createNewRandomKey(); $encrypted_key = Crypto::encryptWithPassword( $inner_key->saveToAsciiSafeString(), - $password, + \hash(Core::HASH_FUNCTION_NAME, $password, true), true ); @@ -80,7 +79,7 @@ public function unlockKey($password) try { $inner_key_encoded = Crypto::decryptWithPassword( $this->encrypted_key, - $password, + \hash(Core::HASH_FUNCTION_NAME, $password, true), true ); return Key::loadFromAsciiSafeString($inner_key_encoded); From 3d5a69b2b0d9a835ed449d70a9e68749d8d83f0f Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Fri, 22 Apr 2016 14:32:11 -0600 Subject: [PATCH 45/67] Finish documenting KeyProtectedByPassword --- docs/classes/KeyProtectedByPassword.md | 39 +++++++------------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/docs/classes/KeyProtectedByPassword.md b/docs/classes/KeyProtectedByPassword.md index ee6503a..2e11317 100644 --- a/docs/classes/KeyProtectedByPassword.md +++ b/docs/classes/KeyProtectedByPassword.md @@ -2,13 +2,13 @@ Class: Defuse\Crypto\KeyProtectedByPassword ============================================ The `KeyProtectedByPassword` class represents a key that is "locked" with -a password. In order to obtain a usable `Key` instance, -a `KeyProtectedByPassword` must first be "unlocked" by providing the correct -password. +a password. In order to obtain an instance of `Key` that you can use for +encrypting and decrypting, a `KeyProtectedByPassword` must first be "unlocked" +by providing the correct password. -It provides an alternative to using the `encryptWithPassword()`, -`decryptWithPassword()`, `encryptFileWithPassword()`, and -`decryptFileWithPassword()` methods with several advantages: +`KeyProtectedByPassword` provides an alternative to using the +`encryptWithPassword()`, `decryptWithPassword()`, `encryptFileWithPassword()`, +and `decryptFileWithPassword()` methods with several advantages: - The slow and computationally-expensive key stretching is run only once when you unlock a `KeyProtectedByPassword` to obtain the `Key`. @@ -16,34 +16,14 @@ It provides an alternative to using the `encryptWithPassword()`, things. After you've obtained the `Key` from a `KeyProtectedByPassword`, the password is no longer necessary. - -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO - -I found a vuln while writing this doc and that distracted me, so I have no idea -if it's in a finished state. I'll have to re-read the entire thing to make sure -it's all good and there are no copy/paste errors. - -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO -TODO TODO TODO - Instance Methods ----------------- ### saveToAsciiSafeString() **Description:** Saves the protected key to a string of printable ASCII -characters, which can be loaded again into a `KeyProtectedByPassword` instance using -`KeyProtectedByPassword::loadFromAsciiSafeString()`. +characters, which can be loaded again into a `KeyProtectedByPassword` instance +using `KeyProtectedByPassword::loadFromAsciiSafeString()`. **Parameters:** @@ -53,7 +33,8 @@ This method does not take any parameters. Returns a string of printable ASCII characters representing this `KeyProtectedByPassword` instance, which can be loaded back into an instance of -`KeyProtectedByPassword` using `Key::loadFromAsciiSafeString()`. +`KeyProtectedByPassword` using +`KeyProtectedByPassword::loadFromAsciiSafeString()`. **Exceptions:** From f7aa17e9a7aa4282e30afd9987fa95282960d7ad Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Fri, 22 Apr 2016 14:36:39 -0600 Subject: [PATCH 46/67] Document the #240 domain separation in CryptoDetails.md --- docs/CryptoDetails.md | 7 +++++++ docs/classes/File.md | 2 ++ 2 files changed, 9 insertions(+) diff --git a/docs/CryptoDetails.md b/docs/CryptoDetails.md index 61118db..43abd72 100644 --- a/docs/CryptoDetails.md +++ b/docs/CryptoDetails.md @@ -55,3 +55,10 @@ for PBKDF2-SHA256 and HKDF-SHA256. The prehashing of the password in step 2 is done to prevent a [DoS attack using long passwords](https://github.com/defuse/php-encryption/issues/230). +For `KeyProtectedByPassword`, the serialized key is encrypted according to the +password encryption defined above. However, the actual password used for +encryption is the SHA256 hash of the password the user provided. This is done in +order to provide domain separation between the message encryption in the user's +application and the internal key encryption done by this library. It fixes +a [key replacement chosen-protocol +attack](https://github.com/defuse/php-encryption/issues/240). diff --git a/docs/classes/File.md b/docs/classes/File.md index e69de29..b3588f2 100644 --- a/docs/classes/File.md +++ b/docs/classes/File.md @@ -0,0 +1,2 @@ +Class: Defuse\Crypto\File +========================== From 8dac93099c108a405e95b868df2a2484eb0c6d87 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Fri, 22 Apr 2016 22:51:28 -0600 Subject: [PATCH 47/67] Write the tutorial --- docs/Tutorial.md | 253 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 229 insertions(+), 24 deletions(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index 6c0f0c8..f33efee 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -10,30 +10,41 @@ this library to do it. To help me help you, please read the documentation A Word of Caution ------------------ -Encryption is not like a magic dust you can sprinkle on a system to make it more -secure. The way encryption is incorporated into a system's design needs to be -carefully thought through. Sometimes, encryption is the wrong thing to use. -Other times, encryption needs to be used in a very specific way in order for it -to work as intended. Even if you are sure of what you are doing, we strongly +Encryption is not magic dust you can sprinkle on a system to make it more +secure. The way encryption is integrated into a system's design needs to be +carefully thought out. Sometimes, encryption is the wrong thing to use. Other +times, encryption needs to be used in a very specific way in order for it to +work as intended. Even if you are sure of what you are doing, we strongly recommend seeking advice from an expert. -**This isn't for storing passwords:** The most common use of cryptography in web -applications is to protect the users' passwords. If you're trying to use this -library to "encrypt" your users' passwords, you're in the wrong place. Passwords -shouldn't be *encrypted*, they should be *hashed* with a slow computation-heavy -function that makes password guessing attacks more expensive. See [How to Safely -Store Your Users' Passwords in +The first step is to think about your application's threat model. Ask yourself +the following questions. Who will want to attack my application, and what will +they get out of it? Are they trying to steal some information? Trying to alter +or destroy some information? Or just trying to make the system go down so people +can't access it? Then ask yourself how encryption can help combat those threats. +If you're going to add encryption to your application, you should have a very +clear idea of exactly which kinds of attacks it's helping to secure your +application against. Once you have your threat model, think about what kinds of +attacks it *does not* cover, and whether or not you should improve your threat +model to include those attacks. + +**This isn't for storing user login passwords:** The most common use of +cryptography in web applications is to protect the users' login passwords. If +you're trying to use this library to "encrypt" your users' passwords, you're in +the wrong place. Passwords shouldn't be *encrypted*, they should be *hashed* +with a slow computation-heavy function that makes password guessing attacks more +expensive. See [How to Safely Store Your Users' Passwords in 2016](https://paragonie.com/blog/2016/02/how-safely-store-password-in-2016). **This isn't for encrypting network communication:** Likewise, if you're trying -to encrypt messages sent between two parties over the internet, you don't want +to encrypt messages sent between two parties over the Internet, you don't want to be using this library. For that, set up a TLS connection between the two points, or, if it's a chat app, use the [Signal Protocol](https://whispersystems.org/blog/advanced-ratcheting/). What this library provides is symmetric encryption for "data at rest." This means it is not suitable for use in building protocols where "data is in motion" -(i.e. over a network) except in a very restricted set of cases. +(i.e. moving over a network) except in limited set of cases. Getting the Code ----------------- @@ -43,21 +54,30 @@ your project. Even if you've already cloned the code from GitHub, you should take steps to verify the cryptographic signatures to make sure the code you got was not intercepted and modified by an attacker. -See the [**Installing and Verifying**](docs/InstallingAndVerifying.md) -documentation. +Please head over to the [**Installing and +Verifying**](docs/InstallingAndVerifying.md) documentation to get the code, and +then come back here to continue the tutorial. Using the Library ------------------ -### Encryption 101 - - +I'm going to assume you know what symmetric encryption is, and the difference +between symmetric and asymmetric encryption. If you don't, I recommend taking +[Dan Boneh's Cryptography I course](https://www.coursera.org/learn/crypto/) on +Coursera. -The following "stereotypes" are example scenarios where this library can be -used. +To give you a quick introduction to the library, I'm going to explain how it +would be used in two sterotypical scenarios. Hopefully, one of these sterotypes +is close enough to what you want to do that you'll be able to figure out what +needs to be different on your own. ### Formal Documentation +While this tutorial should get you up and running fast, it's important to +understand how this library behaves. Please make sure you read the formal +documentation of all of the functions you're using, since there are some +important security warnings there. + The following classes are available for you to use: - [Crypto](docs/classes/Crypto.md): Encrypting and decrypting strings. @@ -67,13 +87,198 @@ The following classes are available for you to use: a secret encryption key that needs to be "unlocked" by a password before it can be used. -### Stereotype #1: Encrypting data in a remote database +### Scenario #1: Keep data secret from the database administrator + +In this scenario, our threat model is as follows. Alice is a server +administrator responsible for managing a trusted web server. Eve is a database +administrator responsibile for managing a database server. Dave is a web +developer working on code that will eventually run on the trusted web server. + +Let's say Alice and Dave trust each other, and Alice is going to host Dave's +application on her server. But both Alice and Dave don't trust Eve. They know +Eve is a good database administrator, but he might have incentive to steal the +data from the database. They want to keep some of the web application's data +secret from Eve. + +In order to do that, Alice will write a script that generates a random +encryption key and prints it to standard output: + +```php +saveToAsciiSafeString(); + +``` + +Alice will run this script once and save it to a configuration file, say in +`/etc/daveapp-secret-key.txt` and set the file permissions appropriately. + +Dave will write his code to load the key from the configuration file: + +```php +saveToAsciiSafeString(); + // ... save $protected_key_encoded into the user's account record + } +``` + +Then, when the user logs in, Dave's code will load the protected key from the +user's account record, unlock it to get a `Key` object, and save the `Key` +object somewhere safe (like temporary memory-backed session storage). Note that +wherever Dave's code save the key, it must be destroyed once the user logs out, +or else the attacker might be able to find users' keys even if they were never +logged in during the attack. + +```php +unlock($password); + $user_key_encoded = $user_key->saveToAsciiSafeString(); + // ... save $user_key_encoded in the session +``` + +```php + Date: Fri, 22 Apr 2016 23:00:26 -0600 Subject: [PATCH 48/67] Write the upgrading from v1.2 page --- docs/FAQ.md | 9 ++------- docs/Tutorial.md | 4 ++-- docs/UpgradingFromV1.2.md | 31 +++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index 4a7084c..135e235 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -1,5 +1,5 @@ -Troubleshooting -================ +Frequently Asked Questions +=========================== How do I use this library to encrypt passwords? ------------------------------------------------ @@ -22,11 +22,6 @@ then you should not store the `Key` at all. If you are protecting sensitive data on a server that may be compromised, then you should store it in a hardware security module. When in doubt, consult a security expert. -Where do I store the encryption key? -------------------------------------- - -TODO: (point to the stereotypes) - Why is an EnvironmentIsBrokenException getting thrown? ------------------------------------------------------- diff --git a/docs/Tutorial.md b/docs/Tutorial.md index f33efee..4c5604d 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -283,5 +283,5 @@ backups. Getting Help ------------- -If you're having difficulty using the library, see if your problem has already -been solved in the [Troubleshooting](docs/Troubleshooting.md) answers. +If you're having difficulty using the library, see if your problem is already +solved by an answer in the [FAQ](docs/FAQ.md). diff --git a/docs/UpgradingFromV1.2.md b/docs/UpgradingFromV1.2.md index e69de29..32dbdf2 100644 --- a/docs/UpgradingFromV1.2.md +++ b/docs/UpgradingFromV1.2.md @@ -0,0 +1,31 @@ +Upgrading From Version 1.2 +=========================== + +With version 2.0.0 of this library came major changes to the ciphertext format +and algorithms used for encryption. In order to decrypt ciphertexts made by +version 1.2 of this library, you need call the special `legacyDecrypt()` +method and then re-encrypt the data to get a version 2.0.0 ciphertext. Your +upgrade code would look something like this: + +```php + Date: Fri, 22 Apr 2016 23:10:22 -0600 Subject: [PATCH 49/67] Remove unmaintained benchmark script --- other/benchmark.php | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 other/benchmark.php diff --git a/other/benchmark.php b/other/benchmark.php deleted file mode 100644 index 2670cb9..0000000 --- a/other/benchmark.php +++ /dev/null @@ -1,42 +0,0 @@ - Date: Fri, 22 Apr 2016 23:14:09 -0600 Subject: [PATCH 50/67] Add public key FP to readme --- README.md | 11 +++++++++- other/signingkey.asc | 52 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 other/signingkey.asc diff --git a/README.md b/README.md index 2b4d936..6d2975d 100644 --- a/README.md +++ b/README.md @@ -74,4 +74,13 @@ a formal audit, please [contact Taylor Hornby](https://defuse.ca/contact.htm). Public Keys ------------ -TODO: put links (and fingerprints) for the developers' public keys here. +The GnuPG public key used to sign releases is available in +[other/signingkey.asc](other/signingkey.asc). Its fingerprint is: + +``` +2FA6 1D8D 99B9 2658 6BAC 3D53 385E E055 A129 1538 +``` + +You can verify it against the Taylor Hornby's [contact +page](https://defuse.ca/contact.htm) and +[twitter](https://twitter.com/DefuseSec/status/723741424253059074). diff --git a/other/signingkey.asc b/other/signingkey.asc new file mode 100644 index 0000000..63b6aa3 --- /dev/null +++ b/other/signingkey.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +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 +IEgAL/CYqrk38w== +=lmD7 +-----END PGP PUBLIC KEY BLOCK----- From dafce8fdabb7009c84681f8040d52c3cf87d7265 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Fri, 22 Apr 2016 23:34:22 -0600 Subject: [PATCH 51/67] Add release signing infrastructure --- dist/defuse-crypto.phar | Bin 0 -> 122260 bytes dist/defuse-crypto.phar.sig | 17 +++++++++++++++++ other/build_phar.php | 0 other/sign-release.sh | 24 ++++++++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 dist/defuse-crypto.phar create mode 100644 dist/defuse-crypto.phar.sig mode change 100644 => 100755 other/build_phar.php create mode 100755 other/sign-release.sh diff --git a/dist/defuse-crypto.phar b/dist/defuse-crypto.phar new file mode 100644 index 0000000000000000000000000000000000000000..1ee1b4451d5eb76f71291791291e6e15b22287bc GIT binary patch literal 122260 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 Date: Fri, 22 Apr 2016 23:39:39 -0600 Subject: [PATCH 52/67] Fix bug --- other/sign-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/other/sign-release.sh b/other/sign-release.sh index 5d787a9..5ea19d2 100755 --- a/other/sign-release.sh +++ b/other/sign-release.sh @@ -21,4 +21,4 @@ gpg -u 7B4B2D98 --armor --output dist/defuse-crypto.phar.sig --detach-sig dist/d git add dist git commit -m "Automatic commit of dist/" -git -c signingkey=7B4B2D98 tag -s "$1" -m "$2" +git -c user.signingkey=7B4B2D98 tag -s "$1" -m "$2" From f135d6634764edd03dc04fc6bc2fa8c433e3ae98 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Fri, 22 Apr 2016 23:40:35 -0600 Subject: [PATCH 53/67] Document the release process --- docs/InternalDeveloperDocs.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/InternalDeveloperDocs.md b/docs/InternalDeveloperDocs.md index b687077..d2d3207 100644 --- a/docs/InternalDeveloperDocs.md +++ b/docs/InternalDeveloperDocs.md @@ -72,4 +72,23 @@ This library is developed around several core values: Publishing Releases -------------------- -TODO: add those steps here +Make a fresh clone of the repository: + +``` +git clone +``` + +Check out the branch you want to release: + +``` +git checkout +``` + +Run the sign-release script (note this will make a commit on your current +branch): + +``` +./other/sign-release.sh +``` + +Push the tag up to GitHub. From f6508e350ce3b994151ee99e9248b8b4204692ba Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Fri, 22 Apr 2016 23:41:04 -0600 Subject: [PATCH 54/67] Clarify --- docs/InternalDeveloperDocs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/InternalDeveloperDocs.md b/docs/InternalDeveloperDocs.md index d2d3207..2bfcdcf 100644 --- a/docs/InternalDeveloperDocs.md +++ b/docs/InternalDeveloperDocs.md @@ -91,4 +91,4 @@ branch): ./other/sign-release.sh ``` -Push the tag up to GitHub. +Push the branch and tag up to GitHub. From 5b6e003f9820637a1630b4d5fd9ea5f7c7b20424 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sat, 23 Apr 2016 22:00:04 -0600 Subject: [PATCH 55/67] Make it more obvious how to build the .phar, and test the built .phar --- build-phar.sh => other/build-phar.sh | 2 +- other/sign-release.sh | 3 ++- test.sh | 8 +++++++- test/phpunit.sh | 4 ++-- 4 files changed, 12 insertions(+), 5 deletions(-) rename build-phar.sh => other/build-phar.sh (78%) mode change 100644 => 100755 diff --git a/build-phar.sh b/other/build-phar.sh old mode 100644 new mode 100755 similarity index 78% rename from build-phar.sh rename to other/build-phar.sh index a1dc35a..aa20926 --- a/build-phar.sh +++ b/other/build-phar.sh @@ -5,6 +5,6 @@ basedir=$( dirname $( readlink -f ${BASH_SOURCE[0]} ) ) cp ./autoload.php ./src/index.php sed -i "s/__DIR__.'\/src\/'/'phar:\/\/defuse-crypto.phar\/'/" ./src/index.php -php -dphar.readonly=0 "$basedir/other/build_phar.php" $* +php -dphar.readonly=0 "$basedir/build_phar.php" $* rm ./src/index.php diff --git a/other/sign-release.sh b/other/sign-release.sh index 5ea19d2..0455e18 100755 --- a/other/sign-release.sh +++ b/other/sign-release.sh @@ -15,7 +15,8 @@ if current_repo_has_unsaved_changes; then exit 1 fi -php -d phar.readonly=Off other/build_phar.php +./other/build-phar.sh +./test.sh dist/defuse-crypto.phar gpg -u 7B4B2D98 --armor --output dist/defuse-crypto.phar.sig --detach-sig dist/defuse-crypto.phar git add dist diff --git a/test.sh b/test.sh index 3384536..0ee8a53 100755 --- a/test.sh +++ b/test.sh @@ -7,5 +7,11 @@ if [ ! -e $BIG_GENERATED_FILE ] || [ $(wc -c < $BIG_GENERATED_FILE) -ne "2097152 dd if=/dev/urandom "of=$BIG_GENERATED_FILE" bs=1M count=200 fi -./test/phpunit.sh +if [ -n "$1" ]; then + BOOTSTRAP="$1" +else + BOOTSTRAP="autoload.php" +fi + +./test/phpunit.sh "$BOOTSTRAP" echo "" diff --git a/test/phpunit.sh b/test/phpunit.sh index b740b7d..9af0ecf 100755 --- a/test/phpunit.sh +++ b/test/phpunit.sh @@ -57,9 +57,9 @@ if [ $? -eq 0 ]; then echo echo -e "\033[33mBegin Unit Testing\033[0m" # Run the test suite with normal func_overload. - php -d mbstring.func_overload=0 phpunit.phar --bootstrap "$parentdir/autoload.php" "$parentdir/test/unit" && \ + php -d mbstring.func_overload=0 phpunit.phar --bootstrap "$parentdir/$1" "$parentdir/test/unit" && \ # Run the test suite again with funky func_overload. - php -d mbstring.func_overload=7 phpunit.phar --bootstrap "$parentdir/autoload.php" "$parentdir/test/unit" + php -d mbstring.func_overload=7 phpunit.phar --bootstrap "$parentdir/$1" "$parentdir/test/unit" EXITCODE=$? # Cleanup if [ "$clean" -eq 1 ]; then From 6ab0e7dc48b053e985fa009bc4583bbaeaa9260d Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sat, 23 Apr 2016 22:04:31 -0600 Subject: [PATCH 56/67] Automatic commit of dist/ --- dist/defuse-crypto.phar | Bin 122260 -> 124302 bytes dist/defuse-crypto.phar.sig | 26 +++++++++++++------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/dist/defuse-crypto.phar b/dist/defuse-crypto.phar index 1ee1b4451d5eb76f71291791291e6e15b22287bc..2652fe30de77fa558af1b6289c1f8bf43a5c93c0 100644 GIT binary patch delta 2409 zcmaJ?U2GIp6uw(2WtRfANRj<%Z$s(+&~{6x1`BPmEtHCtKmQ;b%XIc`J7#xgoSDV0 zP?l(-P_TwvBZ?v#(@5fjl0o_){$O~)h7c4&d_W_?#vqug#Q30z=ib>_mfgks&^tZn zJKy=vx%ZxZ{j;*M$+Ay8?$RBl2rZ)6z1ZhO2uX633^%Dm>ZLM-{^|BU#rE~DjGv=E zZ$mjVJY0p))b3L^=^MTWxS<5%nob>IsowKuS@&rH|`+k{mb3O_f?(;IpApk?0xUg-|3jUIn5HLz|aR8K%E#DbUlc7x-hJ87;n^+XNhPu>M9Y_QcM!DEF_4o3L?R(Mq<)1N7h;2xDETe zNi3<8NW|(wB;sG`vdKCHo#3dX0imL$a7@v#F+}ddH~`>&05eW?NYGltE#WBVZWQeX z3tAZHnN%r;1GN#mkbW`@mFWS0Btl>MxPDHSs|owVRPf%HW~Y-09m(qJR*23O@h)H} zqo}?PtK>M5L0d#OH24Z+IuN`qhk0Z%q1vtnY;_m*c$&yTT-(-$o9$j_`YkIBIHBx- z#EO-h3>(-!C=$KnKv@VZjTlKyw({PtrH2@tKqGOu3qWYq#7+<7r!lUxJ^hx4m699) z&6!KUWP(bI*E&IV$=C|vq^uK765`SeBoM@n?K!&Ge~+&1#c*U%B1`gMCML{xs|AU) zphE8iO%qZ9%MY~vE=41L+}578uw>lIkEX@$f6R35(*R9o`Q&Bk*Mq~trO&EoM=TN86uqn$){lRr!dT(O1X7GL4`mt z<}-q6gSHVK_VbDs)M< zBXYfYkua6k*j?6JUAQt+i$80P(1Z2!i%6!2-MA`OZBE3pKYYa^W_v;_ibrGyT$ZA+ z2D-`P6Ymn-yWxKVv#xLsEUybW)gHR=jHAAo_)*VtDU(0*j$z~yK^(FNeFC1Lpl9Y1 z8x8RIa9s>8VD4CAv(D#@JnUkwM&WY(=j=kFty{0%enWt-Btfpf% zeiQ$4gwT$gF51`bq~6sj``bL<-shlCwy*OZoJ_V{TX1pI^~i}?U-#5h^)}6(3qS0r Ir?ao~KMnD@;s5{u delta 617 zcmeA>%|2x}`vz$#)<9MU28qcEQp(~y3=9medCB=HnR)4Y1sMgsG7JoC?9!7j$ZGHa z>2M7u28Q$3S1g|#C~p83s03=T)oR-~d9Iu$Gf3r0IcG4=$HUsN8tz+2lDg#+o2EYKt>4)F`a@0&^qKat7z3%7T)7kRu=IKtfhg z4&uc}77Pqae@LrNzAd8wcFI2)W3agbybKJTC+{my?v<4g0hxO2gmP4Y%KY%;?KFJ@7GO<>dO?W}8{QN^@>L^x_NmG2$4YGT)=&Yi%}c$VSvOyqF_#k}(OoF1wt2A=6X)h7(+wCm|A^Wz2$X%r zGC6+@+vddOp+egi)-ujb-Q2&^Sbwwpzm5c%`6rqAv*m*On3z$|I I+?{-#0KLYv-v9sr diff --git a/dist/defuse-crypto.phar.sig b/dist/defuse-crypto.phar.sig index b29643a..0aa6ab3 100644 --- a/dist/defuse-crypto.phar.sig +++ b/dist/defuse-crypto.phar.sig @@ -1,17 +1,17 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAABCAAGBQJXGwhdAAoJEDhe4FWhKRU4CVcP/0tSC5IPLg8rk4d092bC6sYh -wXD8cd2A4RBB97JMgHgLVWKnxM2xQxg0evf8RCKw4Vy8hj2k0M513HJCaxahUWDs -pnk2XcOY4x5grwE4QjHDdShUA9f6sNc33GAuNMzUuver2kJTAH/lPm/zWxxDTfCZ -iAdN4In0Z8hObKFScXCpVsiMf5e1jftv+yzksZVm8kY6Oz0chT6ijQdNpOXTwU2z -aBEfG1agw1Vg/CwAJalGpDZNQaDVhTHGd0+n1RbQmmhUhHGZn6kTBevIAUh2VO3R -cWek4Od28GiXZt+nFk1sEtlaUHqMf5YNjF96YEsmMMTohDAHth78XLxFYAmMhE2U -pQXMmkRTMISjalhL/JY+i6u6QzqT0ufw8LoK6cJoGGVhkl2o2Sau2nbei3cIKA8X -ccnndTpwQj0JmSDei/E4jG13S3y0TniDgkJDKTCBVFG/iUsAesxCGufDTD9s5Hvm -tzmFdGp27twczRFB77G/6XNFeAErbs0j4xEqX48d+JMM9w7DpzU+iBV1Gu7EudHN -HN7J32QFM4KBha2m7EF+KcEVtlHx5wWbOlkWv3EDIoRSeYKsXTyqOcewJQX66gse -liOjfiI7iQZv1+8mTe2TIQXvMeHB1wSDRmKQkeqWiWIoCLnbSj/zmlt6B0g0oufV -1QAcKggIFKCYxKkvyygW -=HPeu +iQIcBAABCAAGBQJXHEXKAAoJEDhe4FWhKRU48fsP/i4BpueNJWLqQf/wmrzkITXx +6ulnWg3Kw1sjl+Q1+TQ7zQjfV0tOQwEuZ4V60V4Qb7u4E5A4Rqh4IbnRguYqb0dT +OYNyZh6m7GPY87SF8SIy3l4qhg28AxHicTwA9UnhvrY4eW8FLH7WUMxmsX7Jf9HI +THT+H7xdKcuLuGzzo3axKjrwehqY8EYvcjHf1WPCdTtSR87/5KRjCzvK0rmK5rqA +6hZ1pY63pDyKqUClQYcRSYY3nk9jU/QnI2q321XD0MB0etGa4YkZI21zFkJ0AgaE +vY9Ugzes+fXY3MHD8+nKOg6m0aySZ35Ejb3cAkpaj6vwXoqG7aV2KfSORsiIxnsB +z7/seXo+UCNF5klPvlZyI3H1aFAh5GQ1N8M2nZLuBQ6V77soLD0bjFh4g7mqOIqB +C6vIB1NsjTv4MiHoNha9qi8AY33c8ltFciT1bpvl0rs1j+4NWVCUT6151rjttrrT +/kXViVbJVo/dNOb4973Z1obfwWxyrTaj3unT/r4LK/jKJfQtOk3gLb2RQxOTqnYw +ohVlfuTVlTTsta1itNwE0k3La9ovCJnNHTn6nytxBlD8tQkXR/vyt9kQS6PoIvCF +ooQHiooJJ8x2OMkLQm7XwonHDxT2iX4nMhoZsYLTLVwBlun2TUz+fgYTM5jpcadn +paZDJ0H7JeBqIeMUx65S +=ybn9 -----END PGP SIGNATURE----- From 6a581c2e1e12cdae04b186dbc7f8268ae1e4350c Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sat, 23 Apr 2016 22:08:20 -0600 Subject: [PATCH 57/67] Automatic commit of dist/ --- dist/defuse-crypto.phar | Bin 124302 -> 124302 bytes dist/defuse-crypto.phar.sig | 26 +++++++++++++------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/dist/defuse-crypto.phar b/dist/defuse-crypto.phar index 2652fe30de77fa558af1b6289c1f8bf43a5c93c0..b9986f43db260a0f5caef2f558c5365daaf06a43 100644 GIT binary patch delta 218 zcmeA>&E9vKeM5*8lc?L|Fex(-)hA^SqRvZsf+#6zClD1U?E<2fNIQe5m(oTcN>;`S zL`BM&gQ!U|wjk=Fj24LcD`NtpjAgY!RD!G`h-#Kq0#VCl)j-sFSxpf2OI8I$Dae84 zT;zN~yvcILAnJr1*jhe$unq3=Ap4q|<+nG>Grm76v(jrC@5kGHvh2I;6Wwk<;kh+& O-Ek%c1_pO0Unc-#gg#RM delta 218 zcmeA>&E9vKeM5*8(;t_~VNzxws!z%uM4gxN1W{7bP9Q2y+66={k#+`AFQtt@l&p*u zh>Dak2T_w`Y(dmT87&a?SH=WH8Ov&es03L>5Y;TJ1frJ9s)4BUvYH_3m#hkiQji17 zxybo~c$4LfLDUI3u(f>hU>n@!LH0E_%WrR%XMBHDX5#5mlP98Ay12Zya2#@%7xUEP O=3`=DU~qTxbpikv>rsmU diff --git a/dist/defuse-crypto.phar.sig b/dist/defuse-crypto.phar.sig index 0aa6ab3..c935db2 100644 --- a/dist/defuse-crypto.phar.sig +++ b/dist/defuse-crypto.phar.sig @@ -1,17 +1,17 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 -iQIcBAABCAAGBQJXHEXKAAoJEDhe4FWhKRU48fsP/i4BpueNJWLqQf/wmrzkITXx -6ulnWg3Kw1sjl+Q1+TQ7zQjfV0tOQwEuZ4V60V4Qb7u4E5A4Rqh4IbnRguYqb0dT -OYNyZh6m7GPY87SF8SIy3l4qhg28AxHicTwA9UnhvrY4eW8FLH7WUMxmsX7Jf9HI -THT+H7xdKcuLuGzzo3axKjrwehqY8EYvcjHf1WPCdTtSR87/5KRjCzvK0rmK5rqA -6hZ1pY63pDyKqUClQYcRSYY3nk9jU/QnI2q321XD0MB0etGa4YkZI21zFkJ0AgaE -vY9Ugzes+fXY3MHD8+nKOg6m0aySZ35Ejb3cAkpaj6vwXoqG7aV2KfSORsiIxnsB -z7/seXo+UCNF5klPvlZyI3H1aFAh5GQ1N8M2nZLuBQ6V77soLD0bjFh4g7mqOIqB -C6vIB1NsjTv4MiHoNha9qi8AY33c8ltFciT1bpvl0rs1j+4NWVCUT6151rjttrrT -/kXViVbJVo/dNOb4973Z1obfwWxyrTaj3unT/r4LK/jKJfQtOk3gLb2RQxOTqnYw -ohVlfuTVlTTsta1itNwE0k3La9ovCJnNHTn6nytxBlD8tQkXR/vyt9kQS6PoIvCF -ooQHiooJJ8x2OMkLQm7XwonHDxT2iX4nMhoZsYLTLVwBlun2TUz+fgYTM5jpcadn -paZDJ0H7JeBqIeMUx65S -=ybn9 +iQIcBAABCAAGBQJXHEa0AAoJEDhe4FWhKRU4ZS8QAJzo8p9K7UqGyiRMHd4rsV7f +e3fUlr9YHnvrxHKtxBeY/817+lng8d8yc3PdLQHnmUDB04zEbeh+U95ZYZT3Jm9W +6fU8y8n5EzzxZBbkDGeDM+ds/BZZeGjNfl9HUz2huERwNueiASOmpUYLFaWiGziw +ivDiVWISfFnxU9IIeWUUX8wbRO3kL23AuNsRHXnjaL8OWLdZHg+562QaBP8l/vGp +JXSGdknIzb0hHTQgrk/fqMl8S2eHzgl/ZK6xI15RUPWQ85L4wIno5rkeD0jSdPuu +5EoQoBkcdC5H88dBcd6zhnAcBgBRl715jvLbZU+Jr3CQEGWD41MRRSwa7sAPYR1l +MjUdwvU4MVK/VHBbRD2JlgCrR/HXchfWpYwdSIx+2UcF8wEH5nqqRPAi3LTCN+bu +qA6CD9/rQh2dlYEZgq60VoDiXKHPM6kPcpyyIC/iaYgfif4M4reBDu9aVCCmYmwk +33oQ0S+nu0+q7IaQrIY8ohD7lguVloYTqhdysUrWQaEYo+uKaCz6WlZuhJz3RrhX +u5lNTeajWKXhPGhBfE0prQ6kdGfMGEb5iV9JxzM1f/9nq2ow5fg1QtBmKcegNP52 +FKU29BM6DU82dOUckJY+KICgQ2XWka+Laqj1x26a2Hml+xx3eiSmHQjO+v6CvZfo +Am8gGvNnyc6DgDKXVXzN +=BZoQ -----END PGP SIGNATURE----- From 529dedd39b247ab8b40b495bee997e4ed815d8f6 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sat, 23 Apr 2016 22:23:04 -0600 Subject: [PATCH 58/67] Document how to get the code --- docs/InstallingAndVerifying.md | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/docs/InstallingAndVerifying.md b/docs/InstallingAndVerifying.md index e69de29..640a3b0 100644 --- a/docs/InstallingAndVerifying.md +++ b/docs/InstallingAndVerifying.md @@ -0,0 +1,54 @@ +Getting The Code +================= + +There are two ways to use this library in your applications. You can either: + +1. Use [Composer](https://getcomposer.org/), or +2. `require_once()` a single `.phar` file in your application. + +Option 1: Using Composer +------------------------- + +Run this inside the directory of your composer-enabled project: + +```sh +composer require defuse/php-encryption +``` + +Unfortunately, composer doesn't provide a way for you to verify that the code +you're getting was signed by this library's authors. If you want a more secure +option, use the `.phar` method described below. + +Option 2: Including a PHAR +---------------------------- + +The `.phar` option lets you include this library into your project simply by +calling `require_once()` on a single file. Simply check out the tag with the +version you want, for example for version 2.0.0 you would do: + +``` +git checkout v2.0.0 +``` + +You'll find the `.phar` file for that release in `dist/defuse-crypto.phar`. +Install it to somewhere on your filesystem, e.g. +`/var/www/lib/defuse-crypto.phar`. You can now use it in your code like this: + +```php + Date: Sat, 23 Apr 2016 23:16:30 -0600 Subject: [PATCH 59/67] Write documentation for file --- docs/classes/Crypto.md | 22 +-- docs/classes/File.md | 426 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 435 insertions(+), 13 deletions(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index e91c807..e9703bb 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -80,10 +80,9 @@ been produced except by someone with knowledge of `$key`. detected a bug in this library. - `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if - either the given `$key` is not the correct key for the given `$ciphertext` or - if `$ciphertext` is not the same string as that returned by `encrypt()`, i.e. - it was accidentally corrupted or intentionally corrupted by an attacker. There - is no way for the caller to distinguish between these two cases. + the `$key` is not the correct key for the given ciphertext, or if the + ciphertext has been modified (possibly maliciously). There is no way to + distinguish between these two cases. **Side-effects and performance:** @@ -169,11 +168,9 @@ could not have been produced except by someone with knowledge of `$password`. detected a bug in this library. - `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if - either the given `$password` is not the correct password for the given - `$ciphertext` or if `$ciphertext` is not the same string as that returned by - `encrypt()`, i.e. it was accidentally corrupted or intentionally corrupted by - an attacker. There is no way for the caller to distinguish between these two - cases. + the `$password` is not the correct password for the given ciphertext, or if + the ciphertext has been modified (possibly maliciously). There is no way to + distinguish between these two cases. **Side-effects:** @@ -227,10 +224,9 @@ someone with knowledge of `$key`. detected a bug in this library. - `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if - either the given `$key` is not the correct key for the given `$ciphertext` or - if `$ciphertext` is not the same string as that returned by `encrypt()`, i.e. - it was accidentally corrupted or intentionally corrupted by an attacker. There - is no way for the caller to distinguish between these two cases. + the `$key` is not the correct key for the given ciphertext, or if the + ciphertext has been modified (possibly maliciously). There is no way to + distinguish between these two cases. **Side-effects:** diff --git a/docs/classes/File.md b/docs/classes/File.md index b3588f2..a91a934 100644 --- a/docs/classes/File.md +++ b/docs/classes/File.md @@ -1,2 +1,428 @@ Class: Defuse\Crypto\File ========================== + +Instance Methods +----------------- + +This class has no instance methods. + +Static Methods +--------------- + +### File::encryptFile($inputFilename, $outputFilename, Key $key) + +**Description:** Encrypts a file using a secret key. + +**Parameters:** + +1. `$inputFilename` is the path to a file containing the plaintext to encrypt. +2. `$outputFilename` is the path to save the ciphertext file. +3. `$key` is an instance of `Key` containing the secret key for encryption. + +**Behavior:** + +Encrypts the contents of the input file, writing the result to the output file. +If the output file already exists, it is overwritten. + +**Return value:** + +Does not return a value. + +**Exceptions:** + +- `Defuse\Crypto\Exception\IOException` is thrown if there is an I/O error. + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +None. + +**Cautions:** + +The ciphertext output by this method is decryptable by anyone with knowledge of +the key `$key`. It is the caller's responsibility to keep `$key` secret. Where +`$key` should be stored is up to the caller and depends on the threat model the +caller is designing their application under. If you are unsure where to store +`$key`, consult with a professional cryptographer to get help designing your +application. + +### File::decryptFile($inputFilename, $outputFilename, Key $key) + +**Description:** Decrypts a file using a secret key. + +**Parameters:** + +1. `$inputFilename` is the path to a file containing the ciphertext to decrypt. +2. `$outputFilename` is the path to save the decrypted plaintext file. +3. `$key` is an instance of `Key` containing the secret key for decryption. + +**Behavior:** + +Decrypts the contents of the input file, writing the result to the output file. +If the output file already exists, it is overwritten. + +**Return value:** + +Does not return a value. + +**Exceptions:** + +- `Defuse\Crypto\Exception\IOException` is thrown if there is an I/O error. + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if + the `$key` is not the correct key for the given ciphertext, or if the + ciphertext has been modified (possibly maliciously). There is no way to + distinguish between these two cases. + +**Side-effects and performance:** + +The input ciphertext is processed in two passes. The first pass verifies the +integrity and the second pass performs the actual decryption of the file and +writing to the output file. This is done in a streaming manner so that only +a small part of the file is ever loaded into memory at a time. + +**Cautions:** + +Be aware that when `Defuse\Crypto\WrongKeyOrModifiedCiphertextException` is +thrown, some partial plaintext data may have been written to the output. Any +plaintext data that is output is guaranteed to be a prefix of the original +plaintext (i.e. at worst it was truncated). This can only happen if an attacker +modifies the input between the first pass (integrity check) and the second pass +(decryption) over the file. + +It is impossible in principle to distinguish between the case where you attempt +to decrypt with the wrong key and the case where you attempt to decrypt +a modified (corrupted) ciphertext. It is up to the caller how to best deal with +this ambiguity, as it depends on the application this library is being used in. +If in doubt, consult with a professional cryptographer. + +### File::encryptFileWithPassword($inputFilename, $outputFilename, $password) + +**Description:** Encrypts a file with a password. + +**Parameters:** + +1. `$inputFilename` is the path to a file containing the plaintext to encrypt. +2. `$outputFilename` is the path to save the ciphertext file. +3. `$password` is the password used for decryption. + +**Behavior:** + +Encrypts the contents of the input file, writing the result to the output file. +If the output file already exists, it is overwritten. + +**Return value:** + +Does not return a value. + +**Exceptions:** + +- `Defuse\Crypto\Exception\IOException` is thrown if there is an I/O error. + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +This method is intentionally slow, using a lot of CPU resources for a fraction +of a second. It applies key stretching to the password in order to make password +guessing attacks more computationally expensive. If you need a faster way to +encrypt multiple ciphertexts under the same password, see the +`KeyProtectedByPassword` class. + +**Cautions:** + +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$password` may be leaked out to an attacker through the stack trace. +We recommend configuring PHP to never output stack traces (either displaying +them to the user or saving them to log files). + +### File::decryptFileWithPassword($inputFilename, $outputFilename, $password) + +**Description:** Decrypts a file with a password. + +**Parameters:** + +1. `$inputFilename` is the path to a file containing the ciphertext to decrypt. +2. `$outputFilename` is the path to save the decrypted plaintext file. +3. `$password` is the password used for decryption. + +**Behavior:** + +Decrypts the contents of the input file, writing the result to the output file. +If the output file already exists, it is overwritten. + +**Return value:** + +Does not return a value. + +**Exceptions:** + +- `Defuse\Crypto\Exception\IOException` is thrown if there is an I/O error. + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if + the `$password` is not the correct key for the given ciphertext, or if the + ciphertext has been modified (possibly maliciously). There is no way to + distinguish between these two cases. + +**Side-effects and performance:** + +This method is intentionally slow, using a lot of CPU resources for a fraction +of a second. It applies key stretching to the password in order to make password +guessing attacks more computationally expensive. If you need a faster way to +encrypt multiple ciphertexts under the same password, see the +`KeyProtectedByPassword` class. + +The input ciphertext is processed in two passes. The first pass verifies the +integrity and the second pass performs the actual decryption of the file and +writing to the output file. This is done in a streaming manner so that only +a small part of the file is ever loaded into memory at a time. + +**Cautions:** + +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$password` may be leaked out to an attacker through the stack trace. +We recommend configuring PHP to never output stack traces (either displaying +them to the user or saving them to log files). + +Be aware that when `Defuse\Crypto\WrongKeyOrModifiedCiphertextException` is +thrown, some partial plaintext data may have been written to the output. Any +plaintext data that is output is guaranteed to be a prefix of the original +plaintext (i.e. at worst it was truncated). This can only happen if an attacker +modifies the input between the first pass (integrity check) and the second pass +(decryption) over the file. + +It is impossible in principle to distinguish between the case where you attempt +to decrypt with the wrong password and the case where you attempt to decrypt +a modified (corrupted) ciphertext. It is up to the caller how to best deal with +this ambiguity, as it depends on the application this library is being used in. +If in doubt, consult with a professional cryptographer. + +### File::encryptResource($inputHandle, $outputHandle, Key $key) + +**Description:** Encrypts a resource (stream) with a secret key. + +**Parameters:** + +1. `$inputHandle` is a handle to a resource (like a file pointer) containing the + plaintext to encrypt. +2. `$outputHandle` is a handle to a resource (like a file pointer) that the + ciphertext will be written to. +3. `$key` is an instance of `Key` containing the secret key for encryption. + +**Behavior:** + +Encrypts the data read from the input stream and writes it to the output stream. + +**Return value:** + +Does not return a value. + +**Exceptions:** + +- `Defuse\Crypto\Exception\IOException` is thrown if there is an I/O error. + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +None. + +**Cautions:** + +The ciphertext output by this method is decryptable by anyone with knowledge of +the key `$key`. It is the caller's responsibility to keep `$key` secret. Where +`$key` should be stored is up to the caller and depends on the threat model the +caller is designing their application under. If you are unsure where to store +`$key`, consult with a professional cryptographer to get help designing your +application. + +### File::decryptResource($inputHandle, $outputHandle, Key $key) + +**Description:** Decrypts a resource (stream) with a secret key. + +**Parameters:** + +1. `$inputHandle` is a handle to a resource (like a file pointer) containing the + ciphertext to decrypt. +2. `$outputHandle` is a handle to a resource (like a file pointer) that the + plaintext will be written to. +3. `$key` is an instance of `Key` containing the secret key for decryption. + +**Behavior:** + +Decrypts the data read from the input stream and writes it to the output stream. + +**Return value:** + +Does not return a value. + +**Exceptions:** + +- `Defuse\Crypto\Exception\IOException` is thrown if there is an I/O error. + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if + the `$key` is not the correct key for the given ciphertext, or if the + ciphertext has been modified (possibly maliciously). There is no way to + distinguish between these two cases. + +**Side-effects and performance:** + +The input ciphertext is processed in two passes. The first pass verifies the +integrity and the second pass performs the actual decryption of the file and +writing to the output file. This is done in a streaming manner so that only +a small part of the file is ever loaded into memory at a time. + +**Cautions:** + +Be aware that when `Defuse\Crypto\WrongKeyOrModifiedCiphertextException` is +thrown, some partial plaintext data may have been written to the output. Any +plaintext data that is output is guaranteed to be a prefix of the original +plaintext (i.e. at worst it was truncated). This can only happen if an attacker +modifies the input between the first pass (integrity check) and the second pass +(decryption) over the file. + +It is impossible in principle to distinguish between the case where you attempt +to decrypt with the wrong key and the case where you attempt to decrypt +a modified (corrupted) ciphertext. It is up to the caller how to best deal with +this ambiguity, as it depends on the application this library is being used in. +If in doubt, consult with a professional cryptographer. + +### File::encryptResourceWithPassword($inputHandle, $outputHandle, $password) + +**Description:** Encrypts a resource (stream) with a password. + +**Parameters:** + +1. `$inputHandle` is a handle to a resource (like a file pointer) containing the + plaintext to encrypt. +2. `$outputHandle` is a handle to a resource (like a file pointer) that the + ciphertext will be written to. +3. `$password` is the password used for encryption. + +**Behavior:** + +Encrypts the data read from the input stream and writes it to the output stream. + +**Return value:** + +Does not return a value. + +**Exceptions:** + +- `Defuse\Crypto\Exception\IOException` is thrown if there is an I/O error. + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +**Side-effects and performance:** + +This method is intentionally slow, using a lot of CPU resources for a fraction +of a second. It applies key stretching to the password in order to make password +guessing attacks more computationally expensive. If you need a faster way to +encrypt multiple ciphertexts under the same password, see the +`KeyProtectedByPassword` class. + +**Cautions:** + +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$password` may be leaked out to an attacker through the stack trace. +We recommend configuring PHP to never output stack traces (either displaying +them to the user or saving them to log files). + +### File::decryptResourceWithPassword($inputHandle, $outputHandle, $password) + +**Description:** Decrypts a resource (stream) with a password. + +**Parameters:** + +1. `$inputHandle` is a handle to a resource (like a file pointer) containing the + ciphertext to decrypt. +2. `$outputHandle` is a handle to a resource (like a file pointer) that the + plaintext will be written to. +3. `$password` is the password used for decryption. + +**Behavior:** + +Decrypts the data read from the input stream and writes it to the output stream. + +**Return value:** + +Does not return a value. + +**Exceptions:** + +- `Defuse\Crypto\Exception\IOException` is thrown if there is an I/O error. + +- `Defuse\Crypto\Exception\EnvironmentIsBrokenException` is thrown either when + the platform the code is running on cannot safely perform encryption for some + reason (e.g. it lacks a secure random number generator), or the runtime tests + detected a bug in this library. + +- `Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException` is thrown if + the `$password` is not the correct key for the given ciphertext, or if the + ciphertext has been modified (possibly maliciously). There is no way to + distinguish between these two cases. + +**Side-effects and performance:** + +This method is intentionally slow, using a lot of CPU resources for a fraction +of a second. It applies key stretching to the password in order to make password +guessing attacks more computationally expensive. If you need a faster way to +encrypt multiple ciphertexts under the same password, see the +`KeyProtectedByPassword` class. + +The input ciphertext is processed in two passes. The first pass verifies the +integrity and the second pass performs the actual decryption of the file and +writing to the output file. This is done in a streaming manner so that only +a small part of the file is ever loaded into memory at a time. + +**Cautions:** + +PHP stack traces display (portions of) the arguments passed to methods on the +call stack. If an exception is thrown inside this call, and it is uncaught, the +value of `$password` may be leaked out to an attacker through the stack trace. +We recommend configuring PHP to never output stack traces (either displaying +them to the user or saving them to log files). + +Be aware that when `Defuse\Crypto\WrongKeyOrModifiedCiphertextException` is +thrown, some partial plaintext data may have been written to the output. Any +plaintext data that is output is guaranteed to be a prefix of the original +plaintext (i.e. at worst it was truncated). This can only happen if an attacker +modifies the input between the first pass (integrity check) and the second pass +(decryption) over the file. + +It is impossible in principle to distinguish between the case where you attempt +to decrypt with the wrong password and the case where you attempt to decrypt +a modified (corrupted) ciphertext. It is up to the caller how to best deal with +this ambiguity, as it depends on the application this library is being used in. +If in doubt, consult with a professional cryptographer. From aed2414d088c6216b861d6971b046dc58f2977d2 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sat, 23 Apr 2016 23:23:15 -0600 Subject: [PATCH 60/67] Add comment about password reuse to KeyProtectedByPassword --- docs/classes/KeyProtectedByPassword.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/classes/KeyProtectedByPassword.md b/docs/classes/KeyProtectedByPassword.md index 2e11317..5f36a02 100644 --- a/docs/classes/KeyProtectedByPassword.md +++ b/docs/classes/KeyProtectedByPassword.md @@ -139,6 +139,12 @@ value of `$password` may be leaked out to an attacker through the stack trace. We recommend configuring PHP to never output stack traces (either displaying them to the user or saving them to log files). +Be aware that if you protecting multiple keys with the same password, an +attacker with write access to your system will be able to swap the protected +keys around so that the wrong key gets used next time it is unlocked. This could +lead to data being encrypted with the wrong key, perhaps one that the attacker +knows. + ### KeyProtectedByPassword::loadFromAsciiSafeString($saved\_key\_string) **Description:** Loads an instance of `KeyProtectedByPassword` that was saved to From 035505e68e137aa00c6c80f3179058983425fcbc Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Sun, 24 Apr 2016 15:43:42 -0600 Subject: [PATCH 61/67] Correct Eve's gender. --- docs/Tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index 4c5604d..e7a652b 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -96,7 +96,7 @@ developer working on code that will eventually run on the trusted web server. Let's say Alice and Dave trust each other, and Alice is going to host Dave's application on her server. But both Alice and Dave don't trust Eve. They know -Eve is a good database administrator, but he might have incentive to steal the +Eve is a good database administrator, but she might have incentive to steal the data from the database. They want to keep some of the web application's data secret from Eve. From 2fd1d2f4f476a73c090034effcda2f404c970bdc Mon Sep 17 00:00:00 2001 From: Lee Rowlands Date: Tue, 26 Apr 2016 09:24:22 +1000 Subject: [PATCH 62/67] Fix sample code --- docs/Tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index e7a652b..c5a4730 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -147,7 +147,7 @@ using the same key: $ciphertext = // ... load $ciphertext from the database try { $secret_data = Crypto::decrypt($ciphertext, $key); - } catch (Defuse\Crypto\WrongKeyOrModifiedCiphertextException) { + } catch (Defuse\Crypto\WrongKeyOrModifiedCiphertextException $e) { // An attack! Either the wrong key was loaded, or the ciphertext has // changed since it was created -- either corrupted in the database or // intentionally modified by Eve trying to carry out an attack. From 730a74b63de051d47803c7f7211c767a652e6f55 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Mon, 25 Apr 2016 18:03:03 -0600 Subject: [PATCH 63/67] Improve the upgrading documentation --- docs/UpgradingFromV1.2.md | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/docs/UpgradingFromV1.2.md b/docs/UpgradingFromV1.2.md index 32dbdf2..8eafe88 100644 --- a/docs/UpgradingFromV1.2.md +++ b/docs/UpgradingFromV1.2.md @@ -1,11 +1,26 @@ Upgrading From Version 1.2 =========================== -With version 2.0.0 of this library came major changes to the ciphertext format -and algorithms used for encryption. In order to decrypt ciphertexts made by -version 1.2 of this library, you need call the special `legacyDecrypt()` -method and then re-encrypt the data to get a version 2.0.0 ciphertext. Your -upgrade code would look something like this: +With version 2.0.0 of this library came major changes to the ciphertext format, +algorithms used for encryption, and API. + +In version 1.2, keys were represented by 16-byte string variables. In version +2.0.0, keys are represented by objects, instances of the `Key` class. This +change was made in order to make it harder to misuse the API. For example, in +version 1.2, you could pass in *any* 16-byte string, but in version 2.0.0 you +need a `Key` object, which you can only get if you're "doing the right thing." + +This means that for all of your old version 1.2 keys, you'll have to: + +1. Generate a new version 2.0.0 key. +2. For all of the ciphertexts encrypted under the old key: + 1. Decrypt the ciphertext using the old version 1.2 key. + 2. Re-encrypt it using the new version 2.0.0 key. + +Use the special `Crypto::legacyDecrypt()` method to decrypt the old ciphertexts +using the old key and then re-encrypt them using `Crypto::encrypt()` with the +new key. Your code will look something like the following. To avoid data loss, +securely back up your keys and data before running your upgrade code. ```php Date: Mon, 25 Apr 2016 18:07:22 -0600 Subject: [PATCH 64/67] Use consistent exception names. --- docs/Tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index c5a4730..f36e368 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -147,7 +147,7 @@ using the same key: $ciphertext = // ... load $ciphertext from the database try { $secret_data = Crypto::decrypt($ciphertext, $key); - } catch (Defuse\Crypto\WrongKeyOrModifiedCiphertextException $e) { + } catch (Defuse\Crypto\WrongKeyOrModifiedCiphertextException $ex) { // An attack! Either the wrong key was loaded, or the ciphertext has // changed since it was created -- either corrupted in the database or // intentionally modified by Eve trying to carry out an attack. From 86de165771c7caecb0cf9547266e7745d5a24aeb Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Mon, 25 Apr 2016 18:10:19 -0600 Subject: [PATCH 65/67] Fix raw\_binary inside backticks --- docs/classes/Crypto.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/classes/Crypto.md b/docs/classes/Crypto.md index e9703bb..96ce43c 100644 --- a/docs/classes/Crypto.md +++ b/docs/classes/Crypto.md @@ -23,7 +23,7 @@ Static Methods 1. `$plaintext` is the string to encrypt. 2. `$key` is an instance of `Key` containing the secret key for encryption. -3. `$raw\_binary` determines whether the output will be a byte string (true) or +3. `$raw_binary` determines whether the output will be a byte string (true) or hex encoded (false, the default). **Return value:** @@ -62,7 +62,7 @@ your application. 1. `$ciphertext` is the ciphertext to be decrypted. 2. `$key` is an instance of `Key` containing the secret key for decryption. -3. `$raw\_binary` must have the same value as the `$raw\_binary` given to the +3. `$raw_binary` must have the same value as the `$raw_binary` given to the call to `encrypt()` that generated `$ciphertext`. **Return value:** @@ -106,7 +106,7 @@ If in doubt, consult with a professional cryptographer. 1. `$plaintext` is the string to encrypt. 2. `$password` is a string containing the secret password used for encryption. -3. `$raw\_binary` determines whether the output will be a byte string (true) or +3. `$raw_binary` determines whether the output will be a byte string (true) or hex encoded (false, the default). **Return value:** @@ -150,7 +150,7 @@ them to the user or saving them to log files). 1. `$ciphertext` is the ciphertext to be decrypted. 2. `$password` is a string containing the secret password used for decryption. -3. `$raw\_binary` must have the same value as the `$raw\_binary` given to the +3. `$raw_binary` must have the same value as the `$raw_binary` given to the call to `encryptWithPassword()` that generated `$ciphertext`. **Return value:** From 10a064d138d0f2f8d3d9d803bdef89441bb41af5 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Mon, 25 Apr 2016 18:12:22 -0600 Subject: [PATCH 66/67] Fix more underscores in backticks --- docs/classes/Key.md | 6 +++--- docs/classes/KeyProtectedByPassword.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/classes/Key.md b/docs/classes/Key.md index 8f19de9..3142f46 100644 --- a/docs/classes/Key.md +++ b/docs/classes/Key.md @@ -78,14 +78,14 @@ None. **Parameters:** -1. `$saved\_key\_string` is the string returned from `saveToAsciiSafeString()` +1. `$saved_key_string` is the string returned from `saveToAsciiSafeString()` when the original `Key` instance was saved. **Return value:** Returns an instance of `Key` representing the same encryption key as the one that was represented by the `Key` instance that got saved into -`$saved\_key\_string` by a call to `saveToAsciiSafeString()`. +`$saved_key_string` by a call to `saveToAsciiSafeString()`. **Exceptions:** @@ -95,7 +95,7 @@ that was represented by the `Key` instance that got saved into detected a bug in this library. - `Defuse\Crypto\Exception\BadFormatException` is thrown whenever - `$saved\_key\_string` does not represent a valid `Key` instance. + `$saved_key_string` does not represent a valid `Key` instance. **Side-effects and performance:** diff --git a/docs/classes/KeyProtectedByPassword.md b/docs/classes/KeyProtectedByPassword.md index 5f36a02..464a797 100644 --- a/docs/classes/KeyProtectedByPassword.md +++ b/docs/classes/KeyProtectedByPassword.md @@ -152,14 +152,14 @@ a string by `saveToAsciiSafeString()`. **Parameters:** -1. `$saved\_key\_string` is the string returned from `saveToAsciiSafeString()` +1. `$saved_key_string` is the string returned from `saveToAsciiSafeString()` when the original `KeyProtectedByPassword` instance was saved. **Return value:** Returns an instance of `KeyProtectedByPassword` representing the same password-protected key as the one that was represented by the -`KeyProtectedByPassword` instance that got saved into `$saved\_key\_string` by +`KeyProtectedByPassword` instance that got saved into `$saved_key_string` by a call to `saveToAsciiSafeString()`. **Exceptions:** @@ -170,7 +170,7 @@ a call to `saveToAsciiSafeString()`. detected a bug in this library. - `Defuse\Crypto\Exception\BadFormatException` is thrown whenever - `$saved\_key\_string` does not represent a valid `KeyProtectedByPassword` + `$saved_key_string` does not represent a valid `KeyProtectedByPassword` instance. **Side-effects and performance:** From 8f72d58522ed7a1f938d43ccffee509dcb8a1ee7 Mon Sep 17 00:00:00 2001 From: Taylor Hornby Date: Mon, 25 Apr 2016 18:16:05 -0600 Subject: [PATCH 67/67] Fix broken doc links --- docs/Tutorial.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/Tutorial.md b/docs/Tutorial.md index f36e368..cda8a2f 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -55,8 +55,8 @@ take steps to verify the cryptographic signatures to make sure the code you got was not intercepted and modified by an attacker. Please head over to the [**Installing and -Verifying**](docs/InstallingAndVerifying.md) documentation to get the code, and -then come back here to continue the tutorial. +Verifying**](InstallingAndVerifying.md) documentation to get the code, and then +come back here to continue the tutorial. Using the Library ------------------ @@ -80,10 +80,10 @@ important security warnings there. The following classes are available for you to use: -- [Crypto](docs/classes/Crypto.md): Encrypting and decrypting strings. -- [File](docs/classes/File.md): Encrypting and decrypting files. -- [Key](docs/classes/Key.md): Represents a secret encryption key. -- [KeyProtectedByPassword](docs/classes/KeyProtectedByPassword.md): Represents +- [Crypto](classes/Crypto.md): Encrypting and decrypting strings. +- [File](classes/File.md): Encrypting and decrypting files. +- [Key](classes/Key.md): Represents a secret encryption key. +- [KeyProtectedByPassword](classes/KeyProtectedByPassword.md): Represents a secret encryption key that needs to be "unlocked" by a password before it can be used. @@ -284,4 +284,4 @@ Getting Help ------------- If you're having difficulty using the library, see if your problem is already -solved by an answer in the [FAQ](docs/FAQ.md). +solved by an answer in the [FAQ](FAQ.md).