小豌柠的旧档案 - OpenYSM(AmitleyCrewy版)设计概念
小豌柠のPeaLyn
编辑于 2026年06月06日 11:34

我对OpenYSM编写的初始的设计理念:

开放以及模块化,即OpenYSM可以用可选的JAR模块扩展支持的图片格式、音频格式、音频解编码器、压缩方法。

使用改进的7-zip或lzma sdk压缩成带加密或不带加密的OpenYSM格式。

OpenYSM兼容YSM的大部分功能,这意味着你可以在OpenYSM使用其他人为YSM创作的无加密模型。

OpenYSM客户端从OpenYSM服务端自动同步模型前,会生成RSA密钥对和AES-GCM密钥,然后把AES-GCM密钥和RSA密钥对的公钥发送到服务端。

OpenYSM客户端从OpenYSM服务端自动同步的模型是经过RSA+AES-GCM加密的二进制文件,客户端会从服务端获取模型的数据流并使用本地RSA私钥解密,以及使用AES-GCM密钥再次解密模型文件。

向下兼容:

OpenYSM仅会使用必要的旧版代码进行向下兼容。

注释:

1.AES-GCM指的是AES加密的伽罗瓦/计数器模式。OpenYSM使用这个来进行模型的第一层加密。

2.AES-GCM密钥的默认长度为256位。

3.RSA密钥对的默认长度为4096位。

4.OpenYSM的加密功能、压缩功能、格式、设计理念以及支持的图像格式、音频格式与YSM不一致。

5.OpenYSM除了默认支持png、jpeg作为模型贴图以外,还支持可选的jxl、avif作为模型贴图。

5.1.avif需要av1视频解编码器。

5.2.jxl、avif的支持以可选的JAR模块提供。

5.3.OpenYSM支持png、jxl的渐进式解码。

6.OpenYSM除了默认支持ogg作为模型音效以外,还支持mp3作为模型音效。

6.1.mp3的支持以可选的JAR模块提供。