ECC patents
Template:Short description Script error: No such module "Unsubst". Patent-related uncertainty around elliptic curve cryptography (ECC), or ECC patents, is one of the main factors limiting its wide acceptance. For example, the OpenSSL team accepted an ECC patch only in 2005 (in OpenSSL version 0.9.8), despite the fact that it was submitted in 2002.
According to Bruce Schneier as of May 31, 2007, "Certicom certainly can claim ownership of ECC. The algorithm was developed and patented by the company's founders, and the patents are well written and strong. I don't like it, but they can claim ownership."[1] Additionally, NSA has licensed MQV and other ECC patents from Certicom in a US$25 million deal for NSA Suite B algorithms.[2] (ECMQV is no longer part of Suite B.)
However, according to RSA Laboratories, "in all of these cases, it is the implementation technique that is patented, not the prime or representation, and there are alternative, compatible implementation techniques that are not covered by the patents."[3] Additionally, Daniel J. Bernstein has stated that he is "not aware of" patents that cover the Curve25519 elliptic curve Diffie–Hellman algorithm or its implementation.[4] Template:IETF RFC, published in February 2011, documents ECC techniques, some of which were published so long ago that even if they were patented, any such patents for these previously published techniques would now be expired.
Known patents
- Certicom holds a patent on efficient GF(2n) multiplication in normal basis representation; U.S. patent 5787028 expired in 2016.
- Certicom holds multiple patents which cover the MQV (Menezes, Qu, and Vanstone) key agreement technique:
- U.S. patent 5761305 expired in 2015
- U.S. patent 5889865 expired in 2015
- U.S. patent 5896455 expired in 2015
- U.S. patent 6122736 expired in 2015
- U.S. patent 6785813 expired in 2017
- Template:Patent/EP0739105B1 expired in 2016
- Certicom holds U.S. patent 6563928 on validating the key exchange messages using ECC to prevent a man-in-the-middle attack, which expired in 2016. Related U.S. patent 5933504, U.S. patent 8953787, U.S. patent 8229113 also expired in 2016 and U.S. patent 7567669 expired in 2018.
- Certicom holds U.S. patent 6704870 and U.S. patent 5999626 regarding digital signatures on a smartcard; these expired in 2017 and 2016 respectively.
- Certicom holds U.S. patent 6782100 on calculating the x-coordinate of the double of a point in binary curves via a Montgomery ladder in projective coordinates. The priority date is Jan 29, 1997, and the filing date is Oct 2, 2000. Claims disclosed in the original patent application have expired, but some claims kept going enforceable until 2020Script error: No such module "Unsubst"..
- US National Security Agency holds U.S. patent 4567600, U.S. patent 4587627, U.S. patent 6212279, U.S. patent 6243467 on efficient GF(2n) calculations on a normal basis (all of these patents expired or lapsed (as Google shows) due to failure to pay fees)
- RSA Data Security holds U.S. patent 5854759 on efficient basis conversion. It expired in 2017.
- Hewlett-Packard holds U.S. patent 6252960 on compression and decompression of data points on elliptic curves. It expired in 2018.
According to the NSA, Certicom holds over 130 patents relating to elliptic curves and public key cryptography in general.[5]
It is difficult to create a complete list of patents that are related to ECC. Still, a good starting point is the Standards for Efficient Cryptography Group (SECG) – a group devoted exclusively to developing standards based on ECC, however, https://www.secg.org/ the group's official website has an indicator that states "shut down for repairs" since 2014. It states that "The site is being restored" since then. There is controversy over the validity of some of the patent claims.[4]
Certicom's lawsuit against Sony
On May 30, 2007, Certicom filed a lawsuit against Sony in United States District Court for the Eastern District of Texas Marshall office, claiming that Sony's use of ECC in Advanced Access Content System and Digital Transmission Content Protection violates Certicom's patents for that cryptographic method. In particular, Certicom alleged violation of U.S. patent 6563928 and U.S. patent 6704870. The lawsuit was dismissed on May 27, 2009.[6] The stipulation states, "Whereas Certicom and Sony have entered into a settlement agreement according to which they have agreed to a dismissal without prejudice, these parties, therefore jointly move to dismiss all claims and counterclaims asserted in this suit, without prejudice to the right to pursue any such claims and counterclaims in the future."[7]
As for the prior art, Sony claimed:[8]
- For '870 patent: Alfred J. Menezes, Minghua Qu, and Scott A. Vanstone, IEEE P1363 Standard, Standard for RSA, Diffie–Hellman and Related Public-Key Cryptography, Part 6: Elliptic Curve Systems (Draft 2) (October 30, 1994)
- For '928 patent: Scott A. Vanstone, G. B. Agnew, and R. C. Mullin, An implementation of elliptic curve cryptosystems over F2155, IEEE Journal on Selected Areas in Communications, Volume 11, Issue 5, Jun 1993 p. 804 - 813
Modern curves
According to Daniel J. Bernstein, the Curve25519 and efficient implementations thereof can be free from patent encumbrance.[9]
See also
References
External links
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Harper, Menezes and Vanstone, Public-Key Cryptosystems with Very Small Key Lengths, EUROCRYPT '92 (LNCS 658)
- Script error: No such module "citation/CS1".
- Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".