ECC可以在不侵犯专利的情况下使用吗?

信息安全 密码学 合法的 电子抄送
2021-09-02 14:35:27

在不侵犯 Certicom 专利的情况下,能否安全使用 ECC(椭圆曲线密码术)?

我想在嵌入式系统中使用 ECC 来建立安全通道。但是,我担心专利侵权。

是否有无专利的开源 ECC 实现?

4个回答

OpenSSL中的 ECC 实现由 Sun(现在的 Oracle)贡献,并且据说是这样编写的,避免任何专利方法。否则,正如 AviD 建议的那样,使用您使用的平台(Java、.NET...)已经提供的实现是避免任何专利问题的一种巧妙方法:如果有这样的问题,它会首先打击平台提供者(即甲骨文,微软),不是你。

据我所知(但我无权以任何方式提供与法律相关的建议),可能仍获得专利的 ECC 密码学部分包括:

  • 使用正常基数在二进制域上实现曲线;
  • 点压缩;
  • 使用Frobenius 内同态加速 Koblitz 曲线
  • 针对专用硬件架构(FPGA、ASIC)的各种优化技巧。

如果您不知道上述任何内容的含义,请不要担心,您处于非专利领域,一切都很好。

根据Wikipedia,这应该不是问题(如果你小心的话):

至少一种 ECC 方案 (ECMQV) 和一些实现技术被专利保护。

(这当然意味着其他方案是无专利的。)

至于开源实现,同一篇 WP 文章有一个很好的列表
尽管您没有指定您所使用的语言/平台,但我建议您使用OpenSSL,这是最知名和最受好评的软件包。
虽然我也听说过一些其他方面的良好反馈,例如 BouncyCastle、OpenSSH、...
根据平台的不同,Java 和 .NET 都具有内置支持,最新版本的 Windows 也是如此 - 所以你不会不得不担心那里的专利。(也就是说,可以安全地假设这些产品要么是无专利的,要么是合法许可的。)

这更像是一个评论而不是一个答案,但点压缩已获得专利这一事实是完全荒谬的。本质上,它通过存储 x 和使用 y = f(x) 为存储点 (x, y) 的过程申请了专利。

反正:

另一件有趣的事,关于“如果你使用别人提供的实现,你很好”的论点:至少有一个硬件安全模块提供商,包括 ECC 实现,不会保证使用他们的模块的人不受专利索赔. 这是值得深思的。

当然,同样重要的是要注意,在某些国家(如日本,iirc),ECC 完全不受限制,并且许多其他专利仅适用于美国

一些资源: