想像一下你正在排队等待参加一个重要活动。门票是通过网上购买的,存储在你的智能手机中。你需要将手机放到某个指定区域上,建立起NFC连接,门票随之得到确认,大门开启允许你进入。好消息是,所有这一切都是在匿名情况下发生的。 在这类应用中,你的匿名信息可以通过使用最近开发的匿名信任协议(如IBM的Idemix或微软的U-Prove)得到保护。这些协议基于知识的零知识证明(ZKPK)。你可以证明你拥有某个属性的知识而不用透露具体数值。这种属性与所谓的承诺中的公钥是捆绑在一起的。 图1给出了这种ZKPK——本例中的Schnorr协议的简要示意图。其中y是x的承诺。在强大的RSA假设下,是很难从y找出x的,即使你知道g和m。 仔细观察协议我们会发现x仍然是隐藏的。验证方只知道y是正确的承诺。我们还能发现,协议主要由通信和算法组成——这正是我们研究的对象。
---------------------------------------------------------------------------------------------------------------------------------------------- 在嵌入式平台上计算并行求幂所需时间的例子 在我们的测试装置(后面会讨论到)上,我们比较了硬件加密内核和软件实现方法的执行时间。 硬件和软件都计算: 在匿名信任协议中经常使用的并行求幂。 我们规定指数长度在32位和2048位之间变化。基数的长度是固定的,本例中是1024位。软件运行在嵌入式Linux操作系统上,并在多精度算法中使用了GMP库。 处理器和IP内核都以相同速度(100MHz)运行。我们发现,两种方法的执行时间都随指数长度成比例的增加。然而,采用硬件卸载方式的运算要快10至50倍。 图2:在嵌入式平台上分别用硬件卸载和不用硬件卸载时的并行求幂执行时间。 |