Commit Graph
55 Commits
Author SHA1 Message Date
Lonami Exo 4d3ff0e175 Revert "Use tgcrypto if available (#1715)"
This reverts commit 42cc9e61fb.

tgcrypto was made for Pyrogram, and seeing it used elsewhere
without much credit "hurts" the author. I personally do not endorse
its use, hence the lack of attention or notes in the documentation.

People who still want to benefit from the speed boost should go
out of their way to discover, install and patch Telethon's aes.py
module instead, all while complying with the respective license
(another reason to avoid said code in Telethon, which is under the
much more permissive MIT license).

People using tgcrypto for anything other than Pyrogram will do so
knowing full-well that this was not the library's intended usage.
2021-03-20 17:20:33 +01:00
igerzog 42cc9e61fb Use tgcrypto if available (#1715) 2021-03-02 21:38:02 +01:00
Ali Alaee 23fc38f7c9 Fix crypto imports on macOS Big Sur (#1639) 2020-11-28 15:54:52 +01:00
Pascal Jürgens 0814a20ec4 Fix macOS version parsing (again), bump v1.11.2
#1393
2020-02-21 20:37:24 +01:00
Lonami Exo 8aa15174ab Fix check in macOS (#1369), bump v1.11.1 2020-02-21 12:48:43 +01:00
Pascal Jürgens 72dc8052b3 Fix crypto imports on macOS Catalina (#1369) 2020-01-17 12:24:59 +01:00
Lonami 76cf208619 Document where factorization.py comes from 2020-01-09 12:51:41 +01:00
painor 4a1310dc21 Fix RSA key unpacking on missing fingerprint (#1324) 2019-11-05 08:54:10 +01:00
Lonami Exo 09f27f0dd7 Update Telegram's RSA keys 2019-10-03 20:52:25 +02:00
Terrance 634d8a7898 Refactor libssl import path workarounds (#1202)
This amends the logic introduced for #1167 to only run when a plain
import of the library fails, thus avoiding the slow path traversal
needed to find the underlying library file.
2019-06-15 13:42:31 +02:00
Lonami Exo 1dc6d226b7 Best-effort attempt at finding libssl (#1167) 2019-04-30 16:22:19 +02:00
Lonami 1805dc48ec Fix-up 3ea1c9f no longer handling ssl being None 2019-04-28 14:13:29 +02:00
Lonami 3ea1c9f04b Handle rare case when failing to load libssl (#1167) 2019-04-28 10:44:22 +02:00
Lonami Exo d2ac7e5b0a Actually perform all checks in 2fa 2018-12-24 14:16:50 +01:00
Lonami Exo e2fe3eb503 Use new broken MessagePacker 2018-10-19 13:24:52 +02:00
Lonami Exo 83f60deef9 Allow updating AuthKey.key
This will preserve references to the AuthKey more cleanly.
2018-10-19 12:40:36 +02:00
Lonami Exo 7b4cd92066 Revert 030f292 (use libssl if available) 2018-07-25 12:11:58 +02:00
Lonami Exo 2b090f8888 Fix connect not saving different authkeys 2018-06-26 16:20:30 +02:00
Lonami Exo 4e9a84c3b5 Remove underscore from module names 2018-06-18 21:02:42 +02:00
Lonami Exo 4ff0756ffc Separate download requests from the TelegramClient 2018-06-10 12:04:23 +02:00
Lonami Exo f72ddbdd5a Implement retry and fail cases in authenticator 2018-06-07 17:25:02 +02:00
Vaschuk Maxim 3db104c7bc to_bytes() named argument 'length' removed for PyPy (#834) 2018-06-04 12:34:52 +02:00
Lonami Exo 030f292203 Dump libssl bindings in favour of the new optional cryptg module 2018-02-16 18:24:44 +01:00
Lonami Exo f4182376f1 Move utils.calc_msg_key into auth_key (cyclic imports py3.4) 2018-01-08 12:07:14 +01:00
Lonami Exo a932fb6470 Document the crypto/ module 2017-11-26 16:57:40 +01:00
Dan 0bfd8ff032 Add much faster integer factorization (#403 related to #199) 2017-11-03 12:59:17 +01:00
Lonami Exo d28f370ab6 Add ._get_cdn_client as alternative ._get_exported_client version 2017-09-30 17:51:07 +02:00
Lonami Exo fe30f63d5d Use autogen code on the authenticator instead hardcoding requests 2017-09-28 11:36:51 +02:00
Lonami Exo c667a00281 Avoid using BinaryWriter where possible 2017-09-27 21:23:59 +02:00
Lonami Exo 0c11967232 Remove unused .shaes attribute from CdnDecrypter 2017-09-27 12:11:16 +02:00
Lonami Exo 657e8a70c9 Fix CdnDecrypter incorrectly accessing clients' timeout (closes #265) 2017-09-27 12:08:37 +02:00
Lonami Exo c84e54b647 Get rid of the initial_query= parameter on .connect() 2017-09-17 16:06:43 +02:00
Lonami Exo 49555ad018 Stick to the offset and limit CdnFileHashes dictates (#222)
The old intersection method and allowing an arbitrary part size
wasn't working properly. Assuming that Telegram will send a sha
sum for the whole file, in the correct order, we can simply use
their offsets to download the file.
2017-09-05 16:43:53 +02:00
Lonami Exo 15fd5390ae Optimize imports 2017-09-04 17:18:33 +02:00
Lonami Exo 97cab7347b Make lint happier 2017-09-04 17:10:04 +02:00
Lonami Exo 22673aec0e Replace the old Session+pickle with JsonSession (name change) 2017-08-29 15:59:08 +02:00
Lonami Exo bc72e52834 Reuse the AESModeCTR class on CdnDecrypter 2017-08-28 20:30:33 +02:00
Lonami Exo 5404670469 Implement and use TCP obfuscated as a PoC (#112)
Credits to MadelineProto/Connection.php by @danog
2017-08-28 20:25:44 +02:00
Lonami Exo 8afcd0b91f Turn HashChecker into CdnDecrypter to abstract CDN-specific aspects 2017-08-28 16:25:10 +02:00
Lonami Exo b504ce14bc Verify the files downloaded from CDNs and raise on sha256 mismatch 2017-08-28 14:17:31 +02:00
Lonami Exo 98bbcb6cd6 Favour rsa module over PyCrypto since the former is pure Python 2017-08-24 18:41:48 +02:00
Lonami Exo d5fd147881 Add a few more default RSA public keys from Telegram 2017-08-23 21:50:33 +02:00
Lonami Exo 66876b6722 Use pycrypto's RSA instead the old weird RSA implementation 2017-08-23 21:49:27 +02:00
Lonami Exo 88ec9c297e Improve libssl.py's file formatting 2017-08-22 23:05:07 +02:00
Lonami Exo 274e16ac66 Avoid defining Python's AES class if libssl's is available 2017-08-22 23:05:07 +02:00
Christian Stemmle ffb1cf483d Faster crypto by using libssl (closes #199) 2017-08-20 01:21:11 +02:00
Lonami Exo afcddfd7c1 Remove seemingly useless array copies on aes.py (#199) 2017-08-17 18:12:19 +02:00
Lonami Exo 9f812d83a9 Use sympy for faster factorization if available (#199) 2017-08-17 17:37:27 +02:00
Lonami Exo 7adb4f09d6 Slightly reorganise the project structure 2017-06-09 16:13:39 +02:00
Lonami Exo 153cbfd350 Use more straightforward calls of hashlib.sha1/sha256 2017-06-02 16:49:03 +02:00