1
0
mirror of https://github.com/danog/tgseclib.git synced 2024-12-14 10:08:57 +01:00
Commit Graph

85 Commits

Author SHA1 Message Date
terrafrost
1626c0a3c7 CS adjustments to petrich's code and optimizations 2013-01-05 17:55:30 -06:00
Hans-Jürgen Petrich
d1f71cc5a7 Fixed CFB Decrypt(). Fixed OFB warnings
Fixed/rewritten: Decrypt() in CFB mode to work clean with enableContinuousBuffer()

Fixed: PHP's strlen(array()) warning in OFB mode,

Fixed: disableContinuousBuffer() clear's now also the $enbuffer/$debuffer arrays so that multiple calls to enable/disableContinuousBuffer() will work without old buffers
2013-01-05 16:23:35 +07:00
Hans-Jürgen Petrich
359e38b4d4 fixed corrupted decrypt() in CTR mode
$buffer['encrypted'] (which is always empty) should be $buffer['ciphertext'] or buffered stream will get corrupt...

Example:
define('CRYPT_AES_MODE',CRYPT_AES_MODE_INTERNAL);//in MODE_MCRYPT all is fine
$aes = new Crypt_AES(CRYPT_AES_MODE_CTR);
$aes->setKey(':-8');
$aes->enableContinuousBuffer();
$plaintext = ':-):-):-):-):-):-)';
for($i=0; $i<strlen($plaintext); $i++) {
 echo $aes->Decrypt($aes->Encrypt($plaintext[$i]));
}

Output:
:-):-):-):-):-):-(

Expected:
:-):-):-):-):-):-)


After Bugfix, output is:
:-):-):-):-):-):-)
2013-01-04 14:23:34 +07:00
terrafrost
61ad80fd64 More strlen() / empty() changes 2013-01-03 00:26:27 -06:00
terrafrost
9b4240c104 Use !empty('0') instead of strlen('0')
Thanks petrich!
2013-01-03 00:21:09 -06:00
terrafrost
3caaa91160 Replace user_error() with new _handle_error() function
To use exceptions do define('PHPSECLIB_USE_EXCEPTIONS', true).

To have the exceptions thrown by phpseclib be of a certain class define PHPSECLIB_EXCEPTION_CLASS.
2012-11-28 23:33:15 -06:00
terrafrost
dfe264594f Merge pull request #9 from bantu/feature/consistent-file-endings
[feature/consistent-file-endings] Remove ?> and make sure there is an empty line at the end of files.
2012-06-16 21:06:15 -07:00
terrafrost
ccd2b6ae78 - PBKDF2 updates 2012-06-16 16:42:54 -05:00
Andreas Fischer
eb64dfef7d [feature/consistent-file-endings] Make sure files have empty line at the end. 2012-06-11 10:34:07 +02:00
Jim Wigginton
019edc6694 - the key has to be truncated before setKey() is called or else it'll be rounded up to the nearest key size - not down
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@190 21d32557-59b3-4da0-833f-c5933fad653e
2011-11-25 00:11:19 +00:00
Jim Wigginton
b1c7fed946 - the IV wasn't resetting when mcrypt was being used
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@186 21d32557-59b3-4da0-833f-c5933fad653e
2011-11-16 06:53:36 +00:00
Jim Wigginton
a00a5e6ba4 - add pbkdf2 support via setPassword()
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@185 21d32557-59b3-4da0-833f-c5933fad653e
2011-11-13 02:23:56 +00:00
Jim Wigginton
d7c43d03a2 - fix bug with pure-PHP CTR mode (thanks, Max!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@177 21d32557-59b3-4da0-833f-c5933fad653e
2011-09-04 16:23:50 +00:00
Jim Wigginton
96471cf1dd - fix an E_NOTE error in Rijndael.php (thanks, tchamness!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@164 21d32557-59b3-4da0-833f-c5933fad653e
2011-06-04 16:10:05 +00:00
Jim Wigginton
392d96445e - add support for PuTTY and XML formatted RSA keys
- remove ?>'s from PHP_Compat files
- update LICENSE block
- make it so NET_SSH2_MSG_USERAUTH_PK_OK records direction and time

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@152 21d32557-59b3-4da0-833f-c5933fad653e
2011-04-18 12:17:40 +00:00
Jim Wigginton
bf49338fa9 - the ciphertext wasn't being null padded correctly when it wasn't a multiple of the block size (thanks Elledan!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@139 21d32557-59b3-4da0-833f-c5933fad653e
2010-12-04 14:48:06 +00:00
Jim Wigginton
354a0965e8 - AES should try to auto-predict the size of keys when the size isn't specified; last update interfered with that
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@137 21d32557-59b3-4da0-833f-c5933fad653e
2010-12-02 03:38:22 +00:00
Jim Wigginton
4d4cc0e0f5 - keys should now be null padded if they're too short
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@136 21d32557-59b3-4da0-833f-c5933fad653e
2010-12-01 05:09:01 +00:00
Jim Wigginton
66b5dad728 - rm debug code
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@133 21d32557-59b3-4da0-833f-c5933fad653e
2010-11-20 14:45:42 +00:00
Jim Wigginton
b94a467999 - change license to the less restrictive MIT license (if people want to modify phpseclib and distribute binaries of it [whatever that means for PHP] without including the source code I don't care); two of the three PHP_Compat stuff still uses the LGPL since I didn't author them but they're only needed, anyway, if you're using phpseclib on PHP4.
- add svn:eol-style: LF to all files
- fixed pear.php.net bug # 18037 (thanks, nounours!)

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@130 21d32557-59b3-4da0-833f-c5933fad653e
2010-11-13 19:28:20 +00:00
Jim Wigginton
2140de74d0 - fixed a warning in Crypt_Rijndael
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@123 21d32557-59b3-4da0-833f-c5933fad653e
2010-09-26 05:02:10 +00:00
Jim Wigginton
76655b8bf9 - CFB mode is now supported as a stream cipher
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@122 21d32557-59b3-4da0-833f-c5933fad653e
2010-09-26 03:10:20 +00:00
Jim Wigginton
202c3b64e9 - added support for OFB and CFB modes (with the caveat that CFB mode isn't currently supported as a stream cipher)
- improvements to the fix to the bug Suby found
- fixed bug whereby CTR mode gave different results in mcrypt and internal modes when the continuous buffer was enabled and the plaintext being encrypted wasn't a multiple of the block size
- undid the fix for the bug f.dammassa found (thanks, j31!)


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@120 21d32557-59b3-4da0-833f-c5933fad653e
2010-09-12 21:58:54 +00:00
Jim Wigginton
d77c85218d - removed setMCrypt from the Crypt_* objects (you can achieve the same effect by doing ini_set('mcrypt.algorithms_dir', $path))
- added support for CTR mode to the various Crypt_* objects


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@83 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-09 06:10:26 +00:00
Jim Wigginton
1841949aaf - removed debug code
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@78 21d32557-59b3-4da0-833f-c5933fad653e
2010-01-23 17:36:49 +00:00
Jim Wigginton
7ecd481002 - fixes to Math_BigInteger::_barrett()
- speed ups based on <http://blog.libssh2.org/index.php?/archives/21-Compiled-Variables.html>.


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@74 21d32557-59b3-4da0-833f-c5933fad653e
2010-01-04 07:59:01 +00:00
Jim Wigginton
9bd3c793d3 - an inability to unpad doesn't necessarily mean that padding is enabled when it shouldn't be - it might also mean that the key being used is the wrong one.
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@67 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-06 07:26:52 +00:00
Jim Wigginton
a4e72f7811 - replaced list(...) = unpack('...') calls with extract(unpack('...')) (thanks martinu!)
- added pure-php implementations of md2, sha256, and sha512 to Crypt_Hash
- added setPrecision() to Math_BigInteger
- other small fixes


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@56 21d32557-59b3-4da0-833f-c5933fad653e
2009-11-23 19:06:07 +00:00
Jim Wigginton
f50e880c41 - accommodate new Math_BigInteger updates
- fix a typo in Crypt_Rijndael's comments


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@54 21d32557-59b3-4da0-833f-c5933fad653e
2009-11-03 22:03:43 +00:00
Jim Wigginton
65119f79d7 - small cosmetic issues
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@49 21d32557-59b3-4da0-833f-c5933fad653e
2009-10-07 20:53:19 +00:00
Jim Wigginton
a90471b937 - fixed a few bad constants (thanks, YeongGwon Jeong!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@41 21d32557-59b3-4da0-833f-c5933fad653e
2009-08-09 03:53:28 +00:00
Jim Wigginton
c17f22ead9 - Crypt_Rijndael has issues when setKey() isn't called, as well
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@34 21d32557-59b3-4da0-833f-c5933fad653e
2009-05-27 16:25:35 +00:00
Jim Wigginton
9194759d58 - cosmetic changes to the code
- encryption should work even when setKey() isn't called
- padding wasn't always done when it should have been


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@33 21d32557-59b3-4da0-833f-c5933fad653e
2009-05-27 16:15:23 +00:00
Jim Wigginton
39de68ab48 - [bug] Crypt_Rijndael calculated IVs incorrectly
- [new] renamed Crypt_HMAC to Crypt_Hash and revised the API
- [new] added Crypt_AES
- [new] added AES support to Net_SSH2


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@21 21d32557-59b3-4da0-833f-c5933fad653e
2009-02-16 22:22:13 +00:00
Jim Wigginton
c30f3b7e9a - pure-PHP implementation of Rijndael
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@20 21d32557-59b3-4da0-833f-c5933fad653e
2009-02-01 15:37:25 +00:00