高级加密标准(AES)
这是Python中的AES实现。
分组密码操作模式为CTR。 该实现支持AES-128,AES-192和AES-256(默认)。 AES密钥和HMAC密钥是使用hashlib的scrypt和一个随机的16字节盐从用户密码生成的(密钥的创建时间是创建密钥的两倍,每个密钥分成两半)。 CTR IV由一个随机的10字节随机数和一个从0开始的6字节计数器创建。salt被写为密文的第一个块,然后CTR IV被写为第二个块。 最后,使用HMAC密钥创建密文的HMAC值,并将其写为密文的最后两个块。 解密之前,将对HMAC值与其余密文进行检查,如果该值与解密匹配,则开始解密。
我尝试了两种不同的方法来优化代码并获得更快的运行速度:
常规:这是未优化的代码版本-很慢。
并行化:此版本使用并行化多处理-更快。
:此版本使用Numba,这是一种JIT编译器,可将Pytho
2023-04-14 17:46:25
21KB
Python
1