我想(或创建)基于椭圆密钥加密的串行密钥。我想要做的是对序列中的信息进行编码,这些信息可以公开验证但只能由我创建。最初的想法来自http://www.ssware.com/cryptolicensing/cryptolicensing_net.htm,他们可以在其中创建信息被加密的连续剧。但是,这是基于 RSA 的,因此会产生大量数据。因此,我想自己构建类似的东西。
但是,我认为这没有任何好处:他们选择了应用程序和创建者需要知道的域参数。公钥用于加密(生成序列),而私钥在应用程序中并用于解密。但是,知道域参数和私钥,很容易推导出 ECIES 的公钥,对吧?
下一个想法是对信息进行任意编码,并在其上附加基于 ECDSA 的签名。但这会导致序列号很大。
我真正在寻找的是一个类似于http://ellipter.com的解决方案,他们使用正确的概念:生成序列的私钥和验证它们的公钥。他们在屏幕截图中显示的密钥非常短:对于 128 位密钥,只有大约 30 个字符。
这样做的正确方法是什么?我错过了正确的方案吗?它不可能是 ECDSA,它不可能是 ECIES。但还有什么?