79 个版本

0.29.2 2024年4月22日
0.29.1 2024年1月24日
0.28.6 2023年12月19日
0.28.5 2023年10月9日
0.0.4 2015年3月8日

#98 in 密码学

Download history 1782/week @ 2024-04-23 1693/week @ 2024-04-30 2265/week @ 2024-05-07 3113/week @ 2024-05-14 2879/week @ 2024-05-21 2976/week @ 2024-05-28 3237/week @ 2024-06-04 2031/week @ 2024-06-11 1225/week @ 2024-06-18 994/week @ 2024-06-25 1593/week @ 2024-07-02 1548/week @ 2024-07-09 2254/week @ 2024-07-16 2086/week @ 2024-07-23 1794/week @ 2024-07-30 1306/week @ 2024-08-06

每月下载量:7,629
用于 22 个crate(8 个直接使用)

GPL-3.0 许可证

135KB
1K SLoC

self_encryption

自加密文件(收敛加密加混淆)

文档
Documentation
MaidSafe 网站 SAFE 开发论坛 SAFE 网络论坛

概述

这是一种收敛加密的版本,增加了一个混淆步骤。这种模式允许加密数据同时也能进行 数据去重。此库提供了一个API,接受一组字节并从中派生出一个密钥,以及一组加密块。还提供了一个逆向函数,通过将加密返回的配对(密钥和加密块)传递进去,可以返回原始字节。还可以通过调用 seek 辅助函数来在加密块的内容中查找原始字节,以产生用于定位相关块的信息,然后调用 decrypt_range api 与块、密钥和之前步骤中的 seek 信息一起使用。

需要注意的一个重要方面

此库提供了非常安全的加密,返回的加密块可以视为与使用任何其他现代加密算法加密一样安全。 但是 返回的密钥 需要像任何其他密钥一样进行安全处理

image of self encryption

过程视频

自加密过程和用例视频

白皮书

自加密数据,David Irvine,首次发布于2010年9月,修订于2015年6月。

示例

使用 self_encryptor

该库将一组字节分割成加密块,并为它们生成一个密钥。这个密钥允许文件被重新组装。以下是使用 'basic_encryptor' 示例的说明:

加密文件
cargo run --example basic_encryptor -- -e <full_path_to_any_file>

现在,示例二进制文件应该在 ../self_encryption/target/debug/examples/。给定文件及其加密块的密钥将被写入当前目录。

解密文件
cargo run --example basic_encryptor -- -d <full_path_to_secret_key> <full_destination_path_including_filename>

这将在给定的目标路径上恢复原始文件。

许可证

本软件根据通用公共许可证(GPL)第3版授权(LICENSE https://gnu.ac.cn/licenses/gpl-3.0.en.html)。

链接例外

self_encryption 根据 GPLv3 许可证授权,并包含链接例外。这意味着您可以将该库链接到任何程序(专有或开源;付费或免费)。但是,如果您修改 self_encryption,则必须根据 GPLv3 的条款分发您修改版本的源代码。

有关更多详细信息,请参阅 LICENSE 文件。

贡献

想要贡献吗?太棒了 🎉

有许多方式可以为项目做出贡献,无论是编写新代码、修复错误还是仅报告错误。所有形式的贡献都受到鼓励!

有关如何贡献的说明,请参阅我们的 贡献指南

依赖项

~14–25MB
~521K SLoC