【AIGC】找遍了全网的 shamir 方案,没有我要的"点击即用"的版本
【AIGC】找遍了全网的 shamir 方案,没有我要的"点击即用"的版本 事情的起因很简单:我想要一个这样的工具——上传任意文件,点一下,得到 n 个分片 + 1 个密文;恢复的时候,凑齐任意 k 个分片,点一下,文件原样回来。全程纯本地计算,不依赖任何后端,部署在一个静态页面就能跑。 我以为网上肯定有一堆现成的。结果把全网翻了个底朝天,发现这个生态位居然是空的。 一、先说我到底要什么 列一下我找了一路的验收标准,也是这个"生态位"的定义: 任意文件——不是助记词,不是口令字符串,就是随便一个文件:照片、文档、游戏存档、压缩包。 混合加密:随机生成一个 key,用 AES-256-GCM 加密文件得到密文;Shamir 秘密共享只用来分片这个 key,而不是分片文件本身。 返回物:n 个分片(每个只有几十字节)+ 1 个密文(和原文件一样大)。 纯前端:加密、分片、重组全部在浏览器本地完成,密文和分片全部本地下载。 能部署在 GitHub Pages:零后端、零服务器、零存储,打开页面就能用。 最好有现成的开源仓库,拿来即用。 为什么是"分片 key 而不是分片文件"?因为 Shamir 分片的总体积是 n × 秘密大小——把整个文件分片,每人要保管一大块跟原文件差不多大的东西,这不叫备份,这叫搬家。先加密、再只分片那 32 字节的 key,每人拿到的就是几行字符,复制、打印、二维码都能装;而密文可以随便丢——R2、U 盘、公共网盘,没有 key 它就是一堆噪声。 ...