混合祖母绿
aesmix的Python项目详细描述
说明
此目录包含基于cffi的python包装器和命令 在文件上使用mix&slice的行工具。
C实现是在考虑性能的情况下构建的,而 python包装器和cli工具的实现提供了 广泛使用混合和切片功能。混合切片 阶段使用c实现,但是python转换增加了 开销,因为它必须具体化内存中的所有缓冲区。
因为该工具将内存中的所有缓冲区具体化,并且必须执行 无论是混合阶段还是切片阶段,都应该只使用CLI工具 在最大可用的第三的文件上 记忆。
请检查文件example.py以了解如何使用 图书馆。
要求
在继续之前,请安装openssl/crypto库源。 在ubuntu中,您可以如下操作:
sudo apt install libssl-dev
安装
包已上载到PyPI中,因此,在安装 要求,您可以使用pip安装最新发布的版本:
pip install aesmix
要从此存储库安装版本,可以使用以下命令:
make build sudo make install
要在虚拟环境中安装软件包,请使用:
python setup.py install
python包装器还将编译libaesmix库。
命令行界面
此包还安装mixslice工具,该工具可以用作 跟随。
加密文件:
$ mixslice encrypt sample.txt INFO: [*] Encrypting file sample.txt ... INFO: Output fragdir: sample.txt.enc INFO: Public key file: sample.txt.public INFO: Private key file: sample.txt.private
执行策略更新:
$ mixslice update sample.txt.enc INFO: [*] Performing policy update on sample.txt.enc ... INFO: Encrypting fragment #68 INFO: Done
解密文件:
$ mixslice decrypt sample.txt.enc INFO: [*] Decrypting fragdir sample.txt.enc using key sample.txt.public ... INFO: Decrypting fragment #68 INFO: Decrypted file: sample.txt.enc.dec $ sha1sum sample.txt sample.txt.enc.dec d3e92d3c3bf278e533f75818ee94d472347fa32a sample.txt d3e92d3c3bf278e533f75818ee94d472347fa32a sample.txt.enc.dec
示例
键回归库可以如下使用。
fromaesmix.keyregimportKeyRegRSAiters=5stp=KeyRegRSA()print("== WINDING ==")foriinrange(iters):stp,stm=stp.wind()print("k%i: %r"%(i,stm.keyder()))print("\n== UNWINDING ==")foriinrange(iters-1,-1,-1):print("k%i: %r"%(i,stm.keyder()))stm=stm.unwind()