VSHG 旨在为 GnuPG 的标准 s2k 密钥派生函数提供内存/硬件抗性强化,并为对称加密提供简化接口。

VSHG(非常安全的哈希生成器)是 GnuPG(Gnu 隐私卫士)的独立插件。 它被编写为一个 shell 脚本,并基于 Unix/Linux 文件系统和命令设计。 VSHG 使用 sha384 和 Argon2 哈希函数进行密码处理, 并使用 AES-256-CFB + CAST5-128-CFB 级联进行最终加密。
同时使用标准 sha384 迭代次数 800 次 + Argon2i + d 的 15 次和 500 次迭代。
它使用真正的随机 12 字节盐。 因此,即使您的密码非常弱,它也会强化密码,使您不再需要为此担心。
VSHG 使用迭代的最后哈希值作为 Gnupg 的会话密钥。 它还提供每个文件的自动检测功能,这样您就不必记住盐或迭代次数。
您也可以选择使用密钥文件作为认证方法。
VSHG 为每个加密文件使用真正的随机盐,因此您的密码短语将始终具有至少 12 字节的强度。 您甚至可以对不同文件使用相同的密码。 使 VSHG 如此安全的是迭代次数。 800 次迭代意味着字符串的输出与其自身进行 800 次 哈希运算。 迭代次数越多,安全性越高。 即使您拥有正确的密码短语,但迭代次数不正确,也无法解密。
VSHG 使用一些最先进的内存硬密钥派生函数,即 Argon2i 和 Argon2d。 已经迭代的密钥将通过 Argon2 总共 515 次,从而确保抵抗密钥派生函数的最大威胁, 即:图形处理单元、现场可编程门阵列和专用集成电路(GPU、FPEGA、ASIC)。
实际加密使用 Gnupg 中可能达到的最高安全级别执行。
字符串到密钥(s2k)哈希算法(即 Gnupg 的 KDF)从 sha1 增强到 sha512。
s2k 模式设置为 3,这意味着先应用 8 位盐,然后进行迭代。
s2k 计数设置为 65011712,这是最大可能的迭代次数。
s2k 算法设置为 AES256 和 CAST5 级联。
AES 256 加密文件被安全删除,因此只输出 AES256(Cast5()) 加密文件。
sudo wget https://github.com/RichardRMatthews/VSHG/archive/1.4.tar.gz
或克隆仓库
git clone https://github.com/RichardRMatthews/VSHG.git
sudo git clone https://github.com/neurobin/shc.git
cd shc
sudo ./shc -f -r /etc/VSHG/executable/src/VSHG_1.4.sh
sudo gcc /etc/VSHG/executable/src/VSHG_1.4.sh.x.c -O /usr/bin/VSHG
sudo VSHG
sudo tar -xf VSHG-1.4.tar.gz
sudo chmod +x VSHG_1.4.sh
sudo ./VSHG_1.4.sh
代码在 MIT 许可证下分发。