#握手 #安全 #丝绸之路

skrillax-security

Silkroad Online数据包流的加密实现

1 个不稳定版本

0.1.0 2024年4月28日

#9 in #握手


3 个crate(2个直接)中使用

MIT 许可证

46KB
670

skrillax-security

Crates.io Docs.rs

skrillax-securityskrillax-network 系列crate的一部分,用于处理 Silkroad Online客户端和/或服务器之间的通信网络部分。该crate专门处理 Silkroad Online 连接的安全性方面。特别是使用的加密、握手以及其他安全措施,如校验和生成。

文档

有关文档,请参阅 docs.rs 页面

许可证

skrillax-network 的其余crate一样,该crate也采用 MIT 许可证


lib.rs:

此模块为 Silkroad Online 客户端和服务器之间的网络通信安全性提供基础。它通过握手(handshake::ActiveHandshakehandshake::PassiveHandshake)提供建立通用加密密钥([SilkroadEncryption])的构建块,同时提供CRC和计数安全检查。这提供了无任何I/O,因此您可以将其添加到您拥有的任何设置中,或者您可以使用提供tokio异步版本的 skrillax-stream crate(尽管比握手多了一点)。

您想要与该crate交互的主要方式是通过握手结构体,其中有两个:handshake::ActiveHandshakehandshake::PassiveHandshake。正如其名所示,握手由一个主动部分和一个被动部分组成,通常分别是服务器和客户端。服务器被认为是握手的主动部分,因为它将通过发送被动部分(即客户端)初始化数据来启动握手过程。之后,将交换一些消息,直到双方都已设置好安全字节([MessageCounter] 和 [Checksum])以及共享加密([SilkroadEncryption])。请参阅个别握手元素的文档以获取有关握手过程更多信息。

如果需要,三个元素([MessageCounter],[Checksum] 和 [SilkroadEncryption])可以独立于彼此使用。

依赖关系

~1.2–1.9MB
~39K SLoC