#public-key #proxy #parallel-processing #re-encryption #decryption #wrapper #file

bin+lib precrypt

并行处理功能的umbral-pre代理重加密库的命令行包装器

4个版本 (2个破坏性更新)

0.3.5 2022年3月1日
0.2.1 2022年2月4日
0.2.0 2022年2月3日
0.1.0 2022年2月2日

#50 in #parallel-processing

GPL-3.0-only

22KB
428

Precrypt: 基于代理的重加密的Rust CLI。

这是一个umbral-pre代理重加密库的命令行包装器。它添加了并行加密和解密功能,使得处理大文件成为可能。

用法

1) 加密你的文件

生成一个密钥对,该密钥对将用于加密文件。 请保密此密钥,任何获得此密钥的人都可以解密你的文件。

precrypt keygen key.json

使用你的密钥对加密目标文件,并生成一个重加密密钥。

precrypt encrypt secret.txt key.json recrypt.json out.txt

encrypt默认使用10个线程,您可以使用-t参数进行调整。

注意:在加密文件时,我们不需要收件人的公钥。这是代理重加密的魔力,您可以使用重加密密钥在任意时刻将文件重加密到新的公钥!这节省了计算资源,因为您只需加密文件一次。

2) 将文件重加密到公钥

要给某人提供访问文件的权限,您需要他们的公钥(他们可以使用keygen命令生成一个)。

precrypt recrypt recrypt.json <pubkey> decrypt.json

这将创建一个解密密钥,他们可以将它与他们的私钥结合以解密文件。

3) 解密文件

收件人现在可以使用他们的私钥和解密密钥来解密文件。

precrypt decrypt out.txt decrypt.json recipient_key.json decrypted_secret.txt

依赖项

~9–19MB
~255K SLoC