V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
iqoo
V2EX  ›  程序员

基于 GPU 加密的时光机

  •  
  •   iqoo · 148 天前 · 2142 次点击
    这是一个创建于 148 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发送者对消息加密后,任何人都无法立即解密,必须经过预定的时间才能解开,从而将消息发送到未来。

    之前分享过一个简易版,那个版本加密需要花费和解密同样的时间,因此几乎没有可玩性。

    最近更新了下算法,加密过程支持多线程,并且支持 GPU 加速,从而可利用显卡的并行能力提速几十到几百倍。当然,解密过程仍然只能 CPU 单线程,确保解密不会被加速。具体原理可参考文档。

    https://github.com/EtherDream/timelock/blob/main/README-zh.md

    不过这个版本也有个缺陷,由于加密结果需要保存每个线程的种子信息,而 GPU 通常有几千个线程,导致结果会非常大。即使降低一些安全性用较短的种子,结果也有 10KB 甚至更长,导致通过 URL 分享很困难,至少在聊天软件无法分享,只能通过文章或论坛里的超链接分享。

    另外出于兼容性目前仍使用 WebGL2 的 GPGPU 方案,之后再改成 WebGPU 。(不知 WebGPU 稳定性方面是否更高,目前 WebGL2 加密时进行频繁界面操作经常会崩溃)

    如果算法和程序没问题的话,之后再约定时间点发一些拼 CPU 性能的活动,第一个解密成功的可以领取奖励,鼓励大家升级 CPU 硬件~

    10 条回复    2024-07-31 17:18:24 +08:00
    Satansickle
        1
    Satansickle  
       148 天前
    使用场景是啥啊?
    araaaa
        2
    araaaa  
       148 天前
    vdf 吗
    Hancock
        3
    Hancock  
       148 天前
    @Satansickle 遗嘱
    InkStone
        4
    InkStone  
       148 天前
    理念挺有意思的,用的跟 bitcoin 一样的 PoW 机制。

    不过实用性就差太多了……我不可能真放一个 CPU 在那里跑三十年就为了立遗嘱啊
    zhwq
        5
    zhwq  
       148 天前
    idea 先申请专利
    iqoo
        6
    iqoo  
    OP
       148 天前
    @Satansickle 本地版是用来锁钱包私钥的,那个不管锁几年都可以瞬间解密。这个浏览器版的纯属好玩而已,即使锁几天用高端显卡加密也要好久~
    iqoo
        7
    iqoo  
    OP
       148 天前
    @Satansickle @iqoo 写错了,是瞬间加密。
    Satansickle
        8
    Satansickle  
       148 天前
    @Hancock 用来做遗嘱还得预测死期,有点难啊
    coolfan
        9
    coolfan  
       148 天前
    👍设定的时间过长在解密的时候岂不是也要等近似的时间。之前也想过这个”指定时间后解密“的操作,没啥头绪
    iqoo
        10
    iqoo  
    OP
       148 天前
    @araaaa 有点类似,不过用串行 hash 的方案验证成本太高
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5837 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:16 · PVG 10:16 · LAX 18:16 · JFK 21:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.