gpt4 book ai didi

python - Pycryptodome RSA 解密导致大规模性能降级 (RPS)

转载 作者:行者123 更新时间:2023-12-03 14:42:40 26 4
gpt4 key购买 nike

我正在测试我的 flask 应用程序端点并测量单台机器上的性能。该特定端点有一个名为 decrypt_request 的装饰器。 .这个装饰器的实现如下所示:

1. Read X-Session-Key header (encrypted by public key)
2. Import RSA key
3. Create a cryptor and decrypt the session key (RSA)
4. Read data from the request body (which is encrypted by the above session key)
5. Decrypt the request body using the session key (AES)

端点看起来像这样:
@app.route('/test', methods=['POST'])
@decrypt_request
def view_function():
# do something here

在执行一些负载测试后,我发现平均 RPS 落在 50 左右(这绝对不好,但目前硬件资源受到限制)。我做的一件事是禁用装饰器,我发现 RPS 大幅增加(大约 500 RPS)。最后,我刚刚从装饰器中注释掉了公钥操作,即:我希望标题中有一个干净的 session key ,并且只执行 AES 操作。 RPS 再次降落在 500 RPS 左右。这识别出公钥操作是 非常慢的。 Pycryptodome我正在使用的库状态:

PyCryptodome is not a wrapper to a separate C library like OpenSSL. To the largest possible extent, algorithms are implemented in pure Python. Only the pieces that are extremely critical to performance (e.g. block ciphers) are implemented as C extensions.



我认为这是非常缓慢的操作背后的实际原因。有什么方法可以让这些操作快速进行吗?

最佳答案

使用 PyCryptodome,没有。

PyCryptoDome 的 RSA 模块完全用 python 实现,这意味着不幸的是,你会得到巨大的性能损失(pebble-rockslide 类型)。相反,我建议使用 cryptography模块,如果您想要大幅提升性能。 cryptography封装了 OpenSSL 的 RSA 实现,比 PyCryptoDome for RSA 快几倍。

关于python - Pycryptodome RSA 解密导致大规模性能降级 (RPS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60741965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com