We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
目前项目当中,对于密码库的依赖非常复杂,有 OpenSSL、libsodium 以及 RustCrypto 组织开发的一些零散的密码库。
OpenSSL
libsodium
RustCrypto
这种现象的出现是因为 shadowsocks-rust 项目希望给用户提供更多的密码算法,供他们自由选择。 即便一些密码算法已经出现理论上,甚至是已被证明有明显弱点。
shadowsocks-rust
这些复杂的依赖,很明显会让项目的编译更加耗时,同时,使整个项目的编译环境也变得更加复杂。
为解决这个问题,在几个月之前,我写了 shadowsocks/crypto,期望能够缓解这个问题,同时也可以给我自己私有的 TLS、SSH、DoT 库来使用。
TLS
SSH
DoT
在之前,有发过一篇分享: [分享] Crypto 库的性能表现 。
之后,我收到了 @driftluo 和 @zonyitoo 提出的一些建议,涉及对 API 做出的一些调整,这些调整会直接关系到性能的表现。
以下测试数据由 LuoZijun/crypto-bench 项目提供:
X86-64:
AArch64:
通过以上数据,我们可以看到,shadowsocks/crypto 无论是在 X86-64 还是 AArch64 平台,都有着相当不错的性能, 即便是直接跟流行的 ring 做比较也是如此。
shadowsocks/crypto
X86-64
AArch64
ring
Shadowsocks 对于密码库的使用,跟其它的流行项目有着一些差异,如在对待序列密码(流密码)时,跟其它流行的密码应用就有着不一样(如: TLS、SSH)。 为此,新开了 shadowsocks/ss-crypto 项目,它同时也包含了 Shadowsocks 自制的一些密码算法。这同时也可以简化 shadowsocks-rust 对于密码处理这块的代码逻辑。
目前准备在 PR #315 合并后,开始尝试将本项目密码相关的代码切换到 shadowsocks/ss-crypto 项目。 同时,考虑到一些人对于 这个新密码库的不信任,所以,我们会在最开始时,依然保留 ring 依赖。仅仅在当你使用了 ring 不支持的密码算法时,才会使用新密码库。
所以如果你对于安全非常敏感,你只需要使用最流行的密码算法的话,一切都还会和从前一样 :)
一些其它相关的 Issue:
The text was updated successfully, but these errors were encountered:
CC @raintean
Sorry, something went wrong.
AES-256-GCM在AArch64架构下,居然是减速的效果?!
如果你是指 crypto 库在 X86 里面比 ring 快,但是在 ARM64 里面 AES-256-GCM 比 Ring 慢的话,其实也没有多少,相差就是 10来兆。这个一般也在误差范围内。这就是为什么我上面的描述都是 有着相当不错的性能 ,而并没有直接说 Crypto 比他们快的原因。
crypto
AES-256-GCM
有着相当不错的性能
Crypto 比他们快
No branches or pull requests
目前项目当中,对于密码库的依赖非常复杂,有
OpenSSL
、libsodium
以及RustCrypto
组织开发的一些零散的密码库。这种现象的出现是因为
shadowsocks-rust
项目希望给用户提供更多的密码算法,供他们自由选择。即便一些密码算法已经出现理论上,甚至是已被证明有明显弱点。
这些复杂的依赖,很明显会让项目的编译更加耗时,同时,使整个项目的编译环境也变得更加复杂。
为解决这个问题,在几个月之前,我写了 shadowsocks/crypto,期望能够缓解这个问题,同时也可以给我自己私有的
TLS
、SSH
、DoT
库来使用。在之前,有发过一篇分享: [分享] Crypto 库的性能表现 。
之后,我收到了 @driftluo 和 @zonyitoo 提出的一些建议,涉及对 API 做出的一些调整,这些调整会直接关系到性能的表现。
以下测试数据由 LuoZijun/crypto-bench 项目提供:
X86-64:
AArch64:
通过以上数据,我们可以看到,
shadowsocks/crypto
无论是在X86-64
还是AArch64
平台,都有着相当不错的性能,即便是直接跟流行的
ring
做比较也是如此。Shadowsocks 对于密码库的使用,跟其它的流行项目有着一些差异,如在对待序列密码(流密码)时,跟其它流行的密码应用就有着不一样(如: TLS、SSH)。
为此,新开了 shadowsocks/ss-crypto 项目,它同时也包含了 Shadowsocks
自制的一些密码算法。这同时也可以简化
shadowsocks-rust
对于密码处理这块的代码逻辑。目前准备在 PR #315 合并后,开始尝试将本项目密码相关的代码切换到 shadowsocks/ss-crypto 项目。
同时,考虑到一些人对于 这个新密码库的不信任,所以,我们会在最开始时,依然保留
ring
依赖。仅仅在当你使用了ring
不支持的密码算法时,才会使用新密码库。所以如果你对于安全非常敏感,你只需要使用最流行的密码算法的话,一切都还会和从前一样 :)
一些其它相关的 Issue:
The text was updated successfully, but these errors were encountered: