有没有办法用时间锁功能加密文件中的数据?时间锁功能将充当网守,因此解密将不会继续,并且在将来特定(灵活)DateTimeOffset之前不会显示数据?
用户将需要等到将来的某个日期,然后程序将通过签署微交易自动解密(Timelock通过DateTimeOffset自动解密并在区块链上解锁事务)。
我可以使用比特币区块链锁定和解锁基金操作,使用签名作为加密/解密文件数据的机制吗?
谢谢!
简短的回答是否定的,而不是你想要的方式。
一旦密文在那里,它就不会改变。这只是一个数据。您无法创建在给定时间更改的数据。你可以根据时间制作一个不同的程序,但如果运行它的人可以通过控制时钟或修改程序的执行来给它一个不同的时间,那就不好了。
密码学基于知识。如果有人无法解密某些东西,那是因为他们缺乏知识,即解密密钥的知识。怎么会有人在给定时间学习解密密钥?
唯一的解决方案是密钥托管:将密钥交给受信任的第三方,并指示仅在给定时间释放密钥。
有一种方法可以在没有可信任的第三方的情况下进行时间锁定,但就其本质而言,它非常接近。您无法进行将在精确日期解锁的时间锁定。如果幸运的话,你可以锁定时间,在给定的十年内解锁。这通过提供可以计算解密密钥的一些数据来工作,但是具有非常高的计算成本。显然,打破锁定所需的时间取决于攻击者愿意购买的计算机的速度。
有关更多信息,请参阅Time capsule cryptography?和Time Based encryption。