Commit Graph

93 Commits

Author SHA1 Message Date
levlam
cf1984844b Update copyright year. 2023-01-01 00:28:08 +03:00
levlam
ee28a37906 Minor improvements. 2022-10-12 15:59:58 +03:00
levlam
275ee280d2 Use thread-local EVP_MD_CTX in OpenSSL 3.0. 2022-09-19 18:17:51 +03:00
levlam
ba2c071324 Use explicit EVP_CIPHER_fetch with OpenSSL 3.0, because EVP_aes_* fetch algorithm each time and are extremely slow in OpenSSL 3.0. 2022-08-29 21:16:12 +03:00
levlam
5e87cae73d Remove unused Evp::init parameter. 2022-08-29 20:41:35 +03:00
levlam
398a996ef8 Use explicit EVP_MD_fetch with OpenSSL 3.0, because EVP_sha* fetch algorithm each time and are extremely slow in OpenSSL 3.0. 2022-08-29 16:19:47 +03:00
levlam
64c718c0a1 Fix suppression of an expected error. 2022-08-01 19:34:37 +03:00
levlam
83b7be1af9 Ignore expected unprocessed error in def_load:system lib. 2022-05-26 17:06:00 +03:00
levlam
a7a6ee25cb Add pq_add_mul static function. 2022-03-21 20:57:47 +03:00
levlam
93a2b9895d Optimize GCD in pq_factorize. 2022-03-21 19:38:40 +03:00
levlam
8085779cdc Update copyright year. 2022-01-01 03:35:39 +03:00
levlam
1e49f6dc13 Use auto as variable type if it is initialized with a cast. 2021-10-20 01:27:02 +03:00
levlam
41cc287d66 Improve checks. 2021-10-20 00:54:49 +03:00
levlam
81b38d5607 Mark move constructors/assignment operators noexcept. 2021-10-18 14:36:15 +03:00
levlam
bfd76964ea Fix some GCC warnings on Windows. 2021-09-01 19:26:18 +03:00
levlam
3ead565d67 Improve OpenSSL 3.0 support. 2021-07-02 23:34:24 +03:00
levlam
fc2941763b Fix LibreSSL 3+ support. 2021-01-24 21:59:03 +03:00
levlam
52c1da0a70 Update copyright year. 2021-01-01 15:57:46 +03:00
levlam
7d1e5bca55 Reimplement HMAC for OpenSSL 3.0.0. 2020-12-22 19:32:57 +03:00
levlam
abdc727a0f Improve OpenSSL 3.0 compatibility. 2020-12-22 17:46:56 +03:00
levlam
57de0c4967 Fix some warnings. 2020-11-20 03:11:27 +03:00
levlam
34cf869c02 Don't use EVP_aes_256_ctr before OpenSSL 1.1.0. 2020-11-20 02:18:12 +03:00
levlam
16615d75e8 Fix integer conversion.
GitOrigin-RevId: 7ba9a274f6bff6733818596a676c5169bda24acf
2020-09-30 22:04:57 +03:00
levlam
705102cba0 Optimize AES CBC.
GitOrigin-RevId: f514011f11ebbea7b6198b9c905a61a990d4e4fe
2020-09-27 21:51:42 +03:00
levlam
a9a3acf135 Delete unused AesCtrCounterPack and XorBytes classes.
GitOrigin-RevId: 95906d3d54c16928a1250a511e1e66aa8e59c5c6
2020-09-27 15:47:22 +03:00
levlam
4d67801710 Use EVP_aes_256_ctr for AES CTR implementation.
GitOrigin-RevId: e9218b6eec8f5e4a11eea24324f6c8478f6f1293
2020-09-27 15:46:11 +03:00
levlam
4357a24a1c Fix aes_ige_encrypt/aes_ige_decrypt.
GitOrigin-RevId: 7f4a7f86e1fbabe5bfe020fe95586a6030765977
2020-09-22 18:05:58 +03:00
levlam
8872fbf6ac Fix tdutils after merge.
GitOrigin-RevId: 5b9a863e405a9e3782157570156fda71bf2bb589
2020-06-26 02:24:13 +03:00
Arseny Smirnov
fd6423dedf update tdutils from another project
GitOrigin-RevId: 79b8eb2ba229d733f82dbb17b8bd7f27471c9472
2020-06-24 14:47:36 +03:00
Arseny Smirnov
7e96f93605 remove usage of AES_ige_encrypt
GitOrigin-RevId: cceb1d42c69724e99da4a419e5cf2c06ad94a373
2020-06-18 12:34:22 +03:00
levlam
f45d80fe16 Use AesIgeStateImpl in aes_ige_{en,de}ncrypt.
GitOrigin-RevId: 06a070fb116b8e56221b49adb9cc38ec7678e845
2020-06-18 00:01:37 +03:00
levlam
3464f04e57 Simplify AesCtrState more.
GitOrigin-RevId: 7601dc25f84a96828c333c30cab35eef5836d06c
2020-06-17 22:49:04 +03:00
levlam
cdbe6f5002 Simplify AesCtrState.
GitOrigin-RevId: adebb42480ac23fb48105b5c957847e0c9867612
2020-06-17 22:40:25 +03:00
levlam
225e15f618 Revert "use void* instead of pimpl idiom in AesCtrState and AesIgeState", because of huge struct increase in size and Ige decrypt slowdown.
This reverts commit cc1c175d078b179e7af730b8617165c6ea6193f3.

GitOrigin-RevId: 83814f455af356117a6fccd8b122d72a5d0bce28
2020-06-17 22:24:31 +03:00
Arseny Smirnov
95af3e74bd use void* instead of pimpl idiom in AesCtrState and AesIgeState
GitOrigin-RevId: cc1c175d078b179e7af730b8617165c6ea6193f3
2020-06-17 19:05:43 +03:00
levlam
50ce05a34f Add missing move construxtors.
GitOrigin-RevId: 10a6f44b68e7b0187a5d674c1716cf0277351103
2020-06-17 17:39:54 +03:00
levlam
7754e80572 Remove unneeded include.
GitOrigin-RevId: ed319647243bfd81cd95df3658566b395ce844c2
2020-06-17 06:49:10 +03:00
levlam
6fc62e47dd Fix build without OpenSSL.
GitOrigin-RevId: 81efca50dca3269bec82c9fdc48135f62865290e
2020-06-17 06:37:37 +03:00
levlam
76b5981968 Simplify Evp.
GitOrigin-RevId: cb40344936761c730f1e97f5a76e872ace2a2cee
2020-06-17 04:11:57 +03:00
Arseny Smirnov
1a33df9d52 AesBlock::inc: use bswap64 for x64 and armv8
GitOrigin-RevId: 5842d5d9fd4a865bc0c786e31e3f62f1257d1d4d
2020-06-16 18:34:55 +03:00
Arseny Smirnov
4c288d9398 AesState::Impl -> Evp
GitOrigin-RevId: 536640cffeb4fac1cc6f5a3499554d685891f45e
2020-06-16 18:19:05 +03:00
Arseny Smirnov
005611e924 Refactor td::AesState::Impl
GitOrigin-RevId: 5731ddc8d85c912cbfb141bd4e5eefea22d8ab21
2020-06-16 17:57:19 +03:00
levlam
8eadeaf7b3 Use only AES CBC in AES IGE encrypt.
GitOrigin-RevId: 380af89f18a77afee0baf7ec739836b071f96ab5
2020-06-16 06:34:17 +03:00
levlam
f3ebae267d Implement AES IGE encrypt using AES CBC.
GitOrigin-RevId: ca803ca847a9c44e70687ade0f1ea25c0ee0ebb2
2020-06-16 06:16:09 +03:00
levlam
40ee207854 Improve AesIgeState.
GitOrigin-RevId: b0a1d8bad4be32e4f6fa9ff36f5a5bef2c464b26
2020-06-16 01:32:08 +03:00
levlam
e1515226be Simplify XorBytes.
GitOrigin-RevId: d20ae3c1d44d0a88068b42979685e5b1f9df0193
2020-06-16 01:13:45 +03:00
levlam
6a7dfc4f01 Minor AES improvements.
GitOrigin-RevId: 138384ad375735b9e889172cae919368c9976456
2020-06-15 23:20:44 +03:00
Arseny Smirnov
53b0a74f87 tdutils: revert tosimple AesBlock::inc implementation
GitOrigin-RevId: 7f894bb710e32b6573603f3500c35daf0752cf02
2020-06-15 22:38:31 +03:00
Arseny Smirnov
132caf5c8f tdutils: use new aes ige for long plaintext
GitOrigin-RevId: 4bd8ddd20508e235c0fb8b40ac42b9dcabfed30c
2020-06-15 19:23:40 +03:00
Arseny Smirnov
7e06d91739 tdutils: optimize aes ctr
GitOrigin-RevId: b24920ac38bb3b8e94ece87e7438a8b8b1b370c4
2020-06-15 18:59:56 +03:00