Commit Graph

341 Commits

Author SHA1 Message Date
terrafrost
e7e563d0ce Merge branch '2.0' into 3.0 2019-10-20 13:45:06 -05:00
terrafrost
941230c2df RSA: adustments for 2.0 branch 2019-10-20 13:38:45 -05:00
terrafrost
e36f9388cb Merge branch '1.0' into 2.0 2019-10-20 13:27:24 -05:00
Brice Figureau
207cd0f4ea (#1423) make PSS verification work for non power of 2 keys
RFC3447 doesn't require RSA public keys to be power of 2 keys.
The actual validation code doesn't work when trying to verify
a PSS signature generated with a non power of two key.
This small patch adds support for such keys.
2019-10-20 13:27:01 -05:00
terrafrost
8608463d61 Hash: add support for UMACs 2019-09-07 14:46:55 -05:00
terrafrost
422523cf43 EC: make libsodium an insvisible key format 2019-08-09 09:19:01 -05:00
terrafrost
68f3d7d8af add support for Curve448 2019-08-08 22:38:42 -05:00
terrafrost
7cf5facae7 DH: add Curve25519 unit test based off of RFC7748 test vectors 2019-08-08 08:00:37 -05:00
terrafrost
1e7453b585 add a new diffie-hellman key exchange class 2019-08-06 22:10:56 -05:00
terrafrost
289ae55f9f rename ECDSA -> EC 2019-06-27 23:15:25 -05:00
terrafrost
7012e72488 mv Keys/ and Signature/ to Formats/* 2019-06-25 07:52:45 -05:00
terrafrost
6cf05541cc Merge branch '1.0' into 2.0 2019-06-09 23:46:46 -05:00
terrafrost
cd7de5723c RSA: add support for OpenSSH private keys 2019-06-09 23:42:41 -05:00
terrafrost
327f555b7c add expanded support for OpenSSH private keys 2019-06-08 22:04:54 -05:00
terrafrost
8e03f5bfb2 RSA: make it so PSS keys can be saved 2019-06-01 19:35:17 -05:00
terrafrost
8017c74429 RSA: add preliminary support for RSA-PSS keys 2019-05-29 00:32:53 -05:00
terrafrost
7c7d500d80 System/Agent: add support for DSA / ECDSA keys 2019-05-23 08:35:36 -05:00
terrafrost
7d3b5a0c79 Tests/X509: add new tests to test DSA / ECDSA certs 2019-05-20 23:38:54 -05:00
terrafrost
cc32cd2e95 make RSA / DSA / ECDSA immutable and add support to SSH2 / X509 2019-05-19 15:35:29 -05:00
terrafrost
00b6eaf507 ECDSA/Keys/PKCS8: correctly convert private keys to public 2019-04-29 21:45:17 -05:00
terrafrost
494d20efc8 add Salsa20 / ChaCha20 stream ciphers 2019-03-22 15:45:36 -05:00
terrafrost
17e6938fba updates to Exceptions 2018-12-31 09:55:32 -06:00
terrafrost
01c92a59f8 add support for Galois/Counter Mode (GCM) 2018-12-27 08:31:35 -06:00
terrafrost
50f9e1a71a Tests/AES: add unit test for encrypting without a key 2018-12-02 11:58:07 -06:00
terrafrost
d234297819 Tests/ECDSA: test to make sure that k is not re-used 2018-11-24 22:13:40 -06:00
terrafrost
3c4fbe131f Tests/ECDSA: make tests work on PHP 5.6 (by skipping some tests) 2018-11-24 08:32:14 -06:00
terrafrost
0398f7a815 add ECDSA / EdDSA support 2018-11-19 12:39:21 -06:00
terrafrost
7740d9c0c0 Hash: add sha3 support 2018-08-11 23:55:41 -05:00
Jakob Gahde
8e6948fdd2
Backport CFB8 support from master 2018-03-27 04:32:16 +02:00
terrafrost
2440be341d Tests/AES: add test for ECB mode 2018-02-21 08:20:29 -06:00
terrafrost
55384afdac RSA: make it so you can't sign w/ public key, decrypt w/ private 2018-02-18 16:03:06 -06:00
Sokolovskyy Roman
966ee7f170 Long array() to short [] syntax 2017-11-27 09:30:14 +01:00
Takuya Sawada
18a5867e16 Tests/AES: add newly added 'cfb8' cipher mode of operation for unit test 2017-10-05 19:06:50 +09:00
Sokolovskyy Roman
c6020a4c42 Unit tests fixes.
A PHPDoc fix
2017-09-14 09:42:37 +02:00
Sokolovskyy Roman
25c1ae6e00 Merge remote-tracking branch 'origin/master' into Bugfixes2 2017-08-09 12:28:02 +02:00
terrafrost
9d8f014748 SymmetricKey: isValidKey took ints instead of strings 2017-08-07 23:57:02 -05:00
Sokolovskyy Roman
55cacdf7cd More PHPDOC fixes 2017-08-04 12:06:25 +02:00
terrafrost
885dc96185 Tests/DSA: expand test to reproduce issue identified in #1151 2017-07-30 15:57:53 -05:00
terrafrost
2b80803042 Merge branch '2.0' 2017-07-16 12:10:37 -05:00
terrafrost
ce2bfd984e Tests: fix CS errors 2017-07-16 12:09:45 -05:00
terrafrost
4171262b9e SymmetricKey: use strings for constructor and setPreferredEngine 2017-06-28 06:54:10 -05:00
terrafrost
1630a6710d RSA/DSA: support XML keys with XML declarations 2017-06-26 21:58:20 -05:00
terrafrost
6a7e0210bc Merge branch '2.0' 2017-06-22 23:37:45 -05:00
Matej Kravjar
47c419545a Fixed #632 Fatal error: Cannot access self:: when no class scope is active 2017-06-20 12:43:42 +02:00
terrafrost
39b66d512d Tests/RSA: update test for master branch 2017-05-29 06:34:06 -05:00
terrafrost
6ca7323401 Merge branch '2.0' 2017-05-29 06:33:24 -05:00
terrafrost
fe8f1bba7b Tests/RSA: update unit test for 2.0 branch 2017-05-29 06:33:01 -05:00
terrafrost
a4cd384bab Merge branch '1.0' into 2.0 2017-05-29 06:32:23 -05:00
terrafrost
f089aa4eb9 Tests/RSA: add unit test for loading bad key after loading good key 2017-05-29 06:20:46 -05:00
terrafrost
42def63b00 Merge remote-tracking branch 'upstream/master' into dsa-test-2 2017-02-02 21:07:47 -05:00
terrafrost
ab1da5ac1f Merge pull request #1084 from terrafrost/php5-updates
PHP5 updates for master branch
2017-02-02 21:03:07 -05:00
terrafrost
eb459daeaf add DSA implementation 2017-02-02 20:20:47 -05:00
terrafrost
9220bcd49a fix bad merge 2017-01-27 14:44:21 -06:00
terrafrost
7d2e44b430 Merge branch '2.0' 2017-01-27 12:40:23 -06:00
terrafrost
062ee6b5b5 Tests: crypt_random_string -> Random::string 2017-01-27 12:35:48 -06:00
terrafrost
ac2b7ef76c Merge branch '1.0' into 2.0 2017-01-27 12:17:04 -06:00
terrafrost
1bde98fc42 Crypt: OpenSSL apparently supports variable size keys 2017-01-27 11:20:22 -06:00
terrafrost
9ae5206588 RSA: setEngine -> setPreferredEngine (make it like SymmetricKey) 2016-12-11 09:59:50 -06:00
terrafrost
d34a911402 SymmetricCiphers: don't cache "hi-optimized code"
Also add a new engine - ENGINE_EVAL. Previously ENGINE_INTERNAL
had three different modes - a "hi-optimized" version, a
"lo-optimized" version and a version that didn't depend on
create_function and there wasn't a way to really isolate these
modes and test them individually.
2016-12-08 09:20:19 -06:00
terrafrost
863ff6789b RSA: refactor PKCS1/PKCS8 to facilitate re-use 2016-11-17 08:09:10 -06:00
terrafrost
c17a2604a0 Merge branch 'master-reorg' 2016-09-17 09:15:11 -07:00
klemens
dd23d91d41 spelling fixes 2016-08-04 00:47:52 -05:00
terrafrost
c547ee16c7 Merge branch '1.0' into 2.0 2016-08-04 00:31:15 -05:00
klemens
dca95ac662 spelling fixes 2016-08-04 00:19:27 -05:00
terrafrost
c509909004 Organizational Revamp
- rename \phpseclib\Crypt\Base to \phpseclib\Crypt\Common\SymmetricKey
- create BlockCipher and StreamCipher to extend SymmetricKey
- replace _string_shift with \phpseclib\Common\Functions\Strings::shift
2016-07-30 22:18:06 -05:00
terrafrost
1e7bfe75b1 Tests/RSA: fix bad merge 2016-06-22 09:47:56 -05:00
terrafrost
4516227f13 Merge branch '2.0' 2016-06-21 22:55:33 -05:00
terrafrost
9ce8a39204 Tests/RSA: update unit test to work on 2.0 branch 2016-06-21 22:39:33 -05:00
terrafrost
b08f17f514 Merge branch '1.0' into 2.0 2016-06-21 22:39:05 -05:00
terrafrost
5b8985447c Tests/RSA: update unit test to work with 1.0 branch 2016-06-21 22:38:37 -05:00
andrewbelcher
dd754283bb Fix zero salt length RSA signatures. 2016-06-21 22:33:47 -05:00
terrafrost
1c4fe6b5ba Merge branch 'unsupported-hash-update' 2016-06-19 19:47:04 -05:00
terrafrost
80e9d663cf Tests/RSA: update unit test for master branch changes 2016-06-04 23:24:49 -05:00
terrafrost
5714875b71 Merge branch '2.0' 2016-06-04 23:22:24 -05:00
terrafrost
706dcfb8d6 RSA: update unit test for 2.0 branch 2016-06-04 23:22:02 -05:00
terrafrost
6b66c1cd52 Merge branch '2.0' 2016-06-04 22:56:55 -05:00
terrafrost
87040bc518 Merge branch '1.0' into 2.0 2016-06-04 22:56:49 -05:00
terrafrost
942d194d0a RSA: don't attempt to use the CRT when zero value components exist 2016-05-09 13:46:28 -05:00
terrafrost
e4c4824ddb Hash: throw exceptions if hash isn't explicitly supported 2016-05-05 14:20:24 -05:00
terrafrost
8fb4c3363d undo merging of master to 2.0 branch 2016-04-28 15:34:10 -05:00
terrafrost
e40d6cc1cc Hash: small tweaks per Joey3000 2016-04-12 11:32:40 -05:00
terrafrost
b4cf10fc94 Revert "Merge branch '2.0'"
This reverts commit be5f4ef6b19c82f6c898708cc8e1828b05e3d4e8, reversing
changes made to 638fe6971c.
2016-04-10 11:30:59 -05:00
terrafrost
4b69dcb1ca Revert "Merge remote-tracking branch 'bantu/bootstrap'"
This reverts commit ef04c870e9, reversing
changes made to cd57bf31ae.
2016-04-10 11:25:31 -05:00
terrafrost
263564a2ee Merge branch 'master' of https://github.com/phpseclib/phpseclib 2016-04-09 13:00:51 -05:00
terrafrost
86646fdf40 RSA: PKCS1 v2.2 also added sha224 2016-04-09 12:57:23 -05:00
terrafrost
a3000aac28 Tests/RSA: CS adjustment 2016-04-03 22:56:48 -05:00
terrafrost
383bceb1a9 Tests/RSA: fix bad merge 2016-04-03 22:07:49 -05:00
terrafrost
9cf93a02b3 Merge branch '2.0' 2016-04-03 21:37:52 -05:00
terrafrost
8f614a0538 RSA: update macdabby's changes to work on 2.0 branch 2016-04-03 21:35:33 -05:00
terrafrost
a7f2a5d9c9 Merge branch '1.0' into 2.0 2016-04-03 21:34:45 -05:00
terrafrost
ac97ce5d69 RSA: backport macdabby's changes 2016-04-03 21:34:11 -05:00
terrafrost
3b37619279 Tests/RSA: add unit test for setPrivateKey 2016-04-03 21:16:37 -05:00
terrafrost
a757584630 Hash: add sha512/224 and sha512/256 2016-03-24 12:49:27 -05:00
terrafrost
574d36fb7d Merge branch 'cipher-revamp' 2016-03-14 23:00:21 -05:00
terrafrost
ea7d647612 Merge branch 'cipher-revamp' 2016-03-14 22:42:51 -05:00
terrafrost
ac8960d049 Merge branch '2.0' 2016-03-02 10:13:28 -06:00
terrafrost
e666562569 Merge branch '1.0' into 2.0 2016-03-02 10:13:15 -06:00
terrafrost
da36b5c91e RC2: fix issue with decrypting 2016-03-01 16:30:36 -06:00
terrafrost
7558f097c0 Tests/AES: update newest unit test 2016-02-20 21:44:39 -06:00
terrafrost
ae1e5c13f9 Merge branch 'master' into cipher-revamp 2016-02-20 21:44:00 -06:00
terrafrost
1e50a102ac Merge branch '2.0' 2016-02-20 14:16:06 -06:00
terrafrost
b566fcaeee Tests/AES: Crypt_AES -> AES 2016-02-20 14:15:57 -06:00
terrafrost
82ab57e14c Merge branch '2.0' 2016-02-19 15:19:30 -06:00
terrafrost
6d3c04ef4d Merge branch '1.0' into 2.0 2016-02-19 15:19:20 -06:00
terrafrost
b972a4b36d Tests/AES: add unit test for continuous mode 2016-02-05 23:29:20 -06:00
terrafrost
e74841477f Crypt: become a lot less tolerant of bad parameters 2016-02-03 08:56:25 -06:00
terrafrost
73a4221988 Crypt: become a lot less tolerant of bad parameters 2016-01-31 12:37:38 -06:00
terrafrost
977a4ebeaa Merge pull request #925 from terrafrost/rsa-revamp-part-3
RSA: error out when encrypting strings that are too long
2016-01-21 10:20:53 -06:00
terrafrost
d5a868ed4f Crypt/Base: throw an exception if an IV is required but not defined 2016-01-17 11:48:07 -06:00
terrafrost
5d85d5eca1 RSA: error out when encrypting strings that are too long 2016-01-17 09:45:13 -06:00
terrafrost
806249c7e9 RSA: changes to how encryption / signatures work 2015-12-25 11:28:24 -06:00
Andreas Fischer
3793f34876 Merge branch '2.0'
* 2.0:
  RSA: fix issue with loading PKCS8 specific keys
  Tests/RSA: add unit test for loading PKCS8 specific keys
2015-11-10 10:13:32 +01:00
terrafrost
c34be16c3a Merge branch 'rsa-pkcs8-fix' into rsa-pkcs8-fix-2.0
Conflicts:
	phpseclib/Crypt/RSA.php
2015-11-09 23:10:21 -06:00
terrafrost
e8d75b2e8d Tests/RSA: add unit test for loading PKCS8 specific keys 2015-11-09 22:10:08 -06:00
terrafrost
43165d976c RSA: changes to OpenSSH and PuTTY plugins 2015-10-24 15:54:34 -05:00
terrafrost
7b1b7c22e2 RSA: throw an exception if the modulo is too small 2015-10-23 13:45:35 -05:00
terrafrost
1522e6606b RSA: add getSupportedFormats() and getLoadedFormat() 2015-10-22 10:57:05 -05:00
terrafrost
e2fcd9d951 RSA: misc fixes to select plugins 2015-10-21 21:24:12 -05:00
terrafrost
6eb5ea3ef7 RSA: add support for the microsoft BLOB key format 2015-10-20 23:17:11 -05:00
terrafrost
ad55d3cd75 RSA: fixes to last non-merge commit 2015-10-16 14:04:17 -05:00
terrafrost
31c14063fa RSA: updates to raw plugin 2015-10-16 09:36:49 -05:00
terrafrost
cfcf554531 RSA: changes to putty plugin and rm comment methods from rsa etc 2015-10-01 23:11:55 -05:00
terrafrost
fb22529c44 Tests/RSA: add unit test for new functionality 2015-10-01 20:11:11 -05:00
terrafrost
91887c957d Merge remote-tracking branch 'upstream/master' into rsa-plugins
Conflicts:
	phpseclib/Crypt/RSA.php
	phpseclib/Net/SSH2.php
2015-10-01 15:57:31 -05:00
terrafrost
ec3fe7277b RSA: move key format handling to plugins 2015-10-01 15:41:11 -05:00
terrafrost
fab5a66fe5 RSA: make createKey static and make it return RSA objects 2015-09-24 09:43:19 -05:00
terrafrost
604dddc82b Merge branch 'getkeylength' into getkeylength-2.0-2
Conflicts:
	phpseclib/Crypt/Blowfish.php
	phpseclib/Crypt/DES.php
	phpseclib/Crypt/RC2.php
	phpseclib/Crypt/RC4.php
	phpseclib/Crypt/Rijndael.php
	phpseclib/Crypt/TripleDES.php
	phpseclib/Crypt/Twofish.php
2015-09-22 21:26:00 -05:00
terrafrost
bfba3db1a7 Crypt: make it so the key length can be explicitly set for all ciphers 2015-09-20 12:24:06 -05:00
Andreas Fischer
3b33941d3d Merge pull request #813 from bantu/hash-rewrite
[master] More work on Hash.php

* bantu/hash-rewrite:
  Hash: Cover remaining uncovered line.
  Hash: Update incorrect documentation, use max line length 80.
  Hash: Remove constructor return value documentation.
  Hash: Do not assign false to length property. It's documented as an int.
  Hash: Rename properly l to length.
  Slightly rework of HashTest.php.
2015-09-14 22:47:37 +02:00
Andreas Fischer
5b6642ae37 Hash: Cover remaining uncovered line. 2015-09-14 01:34:20 +02:00
Andreas Fischer
3342eb6d09 Merge branch '2.0'
* 2.0:
  Fixed another case
  Minor tweaks
  Fixed error
  More fixes
  PHPDoc fixes
2015-09-14 01:27:11 +02:00
Andreas Fischer
4387b64426 Merge branch '1.0' into 2.0
* 1.0:
  Fixed another case
  Minor tweaks
  Fixed error
  More fixes
  PHPDoc fixes

Conflicts:
	phpseclib/Crypt/Random.php
	phpseclib/Math/BigInteger.php
	phpseclib/Net/SSH2.php
	tests/Functional/Net/SFTPUserStoryTest.php
2015-09-14 01:27:04 +02:00
Andreas Fischer
06a4cc5eba Slightly rework of HashTest.php. 2015-09-07 19:32:58 +02:00
terrafrost
57d5081948 Tests/Hash: tiger is buggy in PHP 5.3 2015-09-06 09:16:18 -05:00
terrafrost
d76ae873ac Hash: rm internal and mhash implementations (5.3 has hash built in) 2015-09-06 07:55:33 -05:00
Graham Campbell
eec8c9cb5d More fixes 2015-09-06 12:39:14 +01:00
Andreas Fischer
54a1aeeefe Merge branch '1.0' into 2.0
* 1.0:
  Tests/RSA: add PSS test
  RSA: fix regression for PSS signatures
2015-08-13 14:37:15 -04:00
terrafrost
f591962fc4 Tests/RSA: add PSS test 2015-08-11 11:47:19 -05:00
Andreas Fischer
d9e9504fba Merge branch 'PSR2-1.0' into PSR2-2.0
* PSR2-1.0:
  Fix indentation phpcbf did not fix.
  Remove PSR2.Methods.FunctionCallSignature.SpaceAfterOpenBracket exception.
  Use phpcbf to fix PHP code to ruleset.
  Ignore coding guidelines in ANSI switch block.
  Base code sniffer ruleset on PSR2 rather than PEAR.
  Update PHP Code Sniffer to 2.3.3

Conflicts:
	build/code-sniffer-ruleset-tests.xml
	build/code-sniffer-ruleset.xml
	composer.lock
	phpseclib/Crypt/DES.php
	phpseclib/Crypt/Hash.php
	phpseclib/Crypt/RSA.php
	phpseclib/File/X509.php
	phpseclib/Math/BigInteger.php
	phpseclib/Net/SFTP.php
	phpseclib/Net/SSH1.php
	phpseclib/Net/SSH2.php
	tests/Functional/Net/SFTPUserStoryTest.php
	tests/Unit/Crypt/TwofishTest.php
2015-07-17 13:41:59 +02:00
Andreas Fischer
2013a31ecd Use phpcbf to fix PHP code to ruleset. 2015-07-17 12:57:41 +02:00
terrafrost
ab489801fe Tests/RSA: pack expected result 2015-05-31 10:07:18 -05:00
terrafrost
2536d224ee Tests/RSA: pack expected result 2015-05-31 10:06:13 -05:00
terrafrost
6bce2c79ac Tests/RSA: re-added accidentally removed $rsa initialization 2015-05-31 09:20:03 -05:00
terrafrost
1316fd45f4 Tests/RSA: use correct constant 2015-05-31 09:17:53 -05:00
terrafrost
0166d3a7ec Tests/RSA: fix error 2015-05-31 02:20:16 -05:00
terrafrost
71104e8120 Merge branch 'rsa-none-1.0' into rsa-none-2.0
Conflicts:
	tests/Unit/Crypt/RSA/ModeTest.php
2015-05-31 02:19:06 -05:00
terrafrost
26d528855a Tests/RSA: hard-coded key and result 2015-05-31 02:13:11 -05:00
terrafrost
30260f3321 Merge branch 'rsa-none-1.0' into rsa-none-2.0
Conflicts:
	phpseclib/Crypt/RSA.php
2015-05-25 22:36:10 -05:00
terrafrost
1d924cfc7b RSA: add "none" encryption mode 2015-05-25 22:30:38 -05:00
terrafrost
f19bf7a07d RSA: backport getPublicKeyFingerprint from Lukas-W's PR 2015-05-06 22:55:12 -05:00