Cohomological dimension: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Helpful Pixie Bot
m ISBNs (Build KC)
 
en>David Eppstein
Line 1: Line 1:
The name of the writer is Luther. Interviewing is how he supports his family but his promotion never arrives. Alabama has usually been his home. Bottle tops collecting is the only pastime his spouse doesn't approve of.<br><br>Here is my blog; [http://titon.net/UserProfile/tabid/43/userId/160343/Default.aspx titon.net]
 
In [[cryptography]], '''implicit certificates''' are a variant of [[public key certificate]], such that a public key can be reconstructed from any implicit certificate, and is said then to be ''implicitly'' verified, in the sense that the only party who can know the associated private key is the party identified in the implicit certificate.  This does not rule out the possibility that nobody knows the private key, but this possibility is not considered a major problem.
 
By comparison, traditional public-key certificates include a copy of the public key and the digital signature of the certification authority.  Upon verification of the digital signature, the public key is ''explicitly'' verified, in the sense that the party identified in the certificate knows the associated private key and is the only party who can know the private key.  Unlike an implicit certificate, there is no possibility that nobody knows the private key.  For the purposes of this article, such certificates will be called ''explicit'' certificates.
 
Elliptic Curve Qu-Vanstone (ECQV) are one kind of implicit certificates.  This article will use ECQV as a concrete example to illustrate implicit certificates.
 
The cryptographic portion of an ECQV implicit certificate is the size of an elliptic curve point, making it considerably smaller than a comparable explicit certificate.  Smaller certificates are useful in highly constrained environments, such as Radio-frequency Identification [[RFID]] tags, where not a lot of memory or bandwidth is available.
 
Digital certificates are considered the best-known method of establishing identity in network communications. A certificate provides a binding between identity information and a [[public key]]; a key pair can subsequently be used for [[key exchange]] to set up secured communications and for [[digital signatures]], to authenticate users or transactions for example.
 
Conventional explicit certificates are made up of three parts: identification data, a [[public key]] and a [[digital signature]] which binds the public key to the user’s identification data (ID).  The digital certificate is created by a [[trusted third party]] and its signature can be independently verified by anyone in the network. The public key, ID and digital signature are distinct data elements which make the up the physical size of the certificate. Conventional certificates can get very large. For example, a standard [[X.509]] certificate is on the order of 1KB in size (~8000 bits).
 
Implicit certificates carry the same data (ID, public key and digital signature) but the data elements are super imposed into a string the size of the public key. For example using an [[elliptic curve]] system at 160 bits would give us implicit certificates of size 160 bits.  
 
With implicit certificates there is no explicit validation of the [[Certificate Authority]]'s (CA’s) signature on a certificate. Instead, a user computes a public key from the implicit certificate and simply uses it in the intended ECC operation, e.g. key agreement protocols such as [[ECDH]] and [[ECMQV]], or signing such as [[ECDSA]]. The operation will fail if the certificate is invalid. Thus ECQV is regarded as an implicit validation scheme. Computing the public key is very fast, much faster than a public key operation.
 
==Generating implicit certificates==
 
Initially the elliptic curve parameters must be agreed upon. We define <math>G \,</math> as a generating point of order <math>n \,</math>. The [[Certificate Authority]] (CA) will have private key <math>c \,</math> and public key <math>Q_{CA} = cG \,</math>. Alice will be the user who requests the implicit certificate from the CA.
 
# Alice generates a random integer <math>\alpha \,</math> and computes <math>\alpha\,G \,</math> and sends that to the CA. The CA does all the rest.
# CA Select a random integer <math>k \,</math> from <math>[1, n-1] \,</math> and computes <math>kG \,</math>.
# CA computes <math>\gamma = \alpha \,G + kG \,</math> (this is the implicit certificate)
# CA computes <math>e = \textrm{H}(\gamma \parallel \textrm{ID}_A) \,</math>, where <math>\textrm{H} \,</math> is a [[cryptographic hash function]], such as [[Secure Hash Algorithm (disambiguation)|SHA]] and <math> \textrm{ID}_A \,</math> is Alice's identifying information.
# CA computes <math>s = ek + c \pmod{n} \,</math>
# CA sends <math>(s, \gamma) \,</math> to Alice
 
Alice’s private key is <math>a = e\alpha + s \pmod{n} \,</math>
 
Alice’s public key is <math>Q_A = e\gamma + Q_{CA} \,</math>
 
==Computing the public-key from the implicit certificate==
 
Computing Alice's public key <math>Q_A \,</math> can be computed by any third party provided they know <math>\gamma \,</math>, <math>\textrm{ID}_A \,</math> and <math>Q_{CA} \,</math>. 
 
Note that the size of the implicit certificate <math>\gamma \,</math> is the same size as Alice's public key <math>Q_{A} \,</math>.
 
==Security==
 
A security proof for ECQV has been published. (Brown)
 
==References==
* {{cite doi|10.1007/b97644}}
* Certicom Research, [http://www.secg.org/?action=secg,docs_draft] ''Standards for efficient cryptography, SEC 4: Elliptic Curve Cryptography'', Draft document, November 11, 2006.
* Certicom.com, [http://www.certicom.com/index.php?action=res,cc&issue=2-2&&article=3] ''Explaining Implicit Certificates'', Code and Cipher Vol. 2, no. 2
* Leon Pintsov and Scott Vanstone, ''Postal Revenue Collection in the Digital Age'', Financial Cryptography 2000, Lecture Notes in Computer Science 1962, pp.&nbsp;105–120, Springer, February 2000.
* Daniel R. L. Brown, Robert P. Gallant and Scott A. Vanstone, ''Provably Secure Implicit Certificate Schemes'', Financial Cryptography 2001, Lecture Notes in Computer Science 2339, pp.&nbsp;156&ndash;165, Springer, February 2001. [http://www.cacr.math.uwaterloo.ca/techreports/2000/corr2000-55.ps Preprint (postscript)]
 
==See also==
*[http://secg.org Standards for Efficient Cryptography Group]
* [[Elliptic curve cryptography]]
* Blackberry [http://developer.blackberry.com/native/documentation/bb10/com.qnx.doc.crypto/topic/c_cert_ecqv.html Crypto API] supports ECQV
* Blackberry's Certicom Corp. uses ECQV for Zigbee Smart Energy
 
{{Cryptography navbox | public-key}}
 
[[Category:Public-key cryptography]]

Revision as of 06:09, 17 November 2013

In cryptography, implicit certificates are a variant of public key certificate, such that a public key can be reconstructed from any implicit certificate, and is said then to be implicitly verified, in the sense that the only party who can know the associated private key is the party identified in the implicit certificate. This does not rule out the possibility that nobody knows the private key, but this possibility is not considered a major problem.

By comparison, traditional public-key certificates include a copy of the public key and the digital signature of the certification authority. Upon verification of the digital signature, the public key is explicitly verified, in the sense that the party identified in the certificate knows the associated private key and is the only party who can know the private key. Unlike an implicit certificate, there is no possibility that nobody knows the private key. For the purposes of this article, such certificates will be called explicit certificates.

Elliptic Curve Qu-Vanstone (ECQV) are one kind of implicit certificates. This article will use ECQV as a concrete example to illustrate implicit certificates.

The cryptographic portion of an ECQV implicit certificate is the size of an elliptic curve point, making it considerably smaller than a comparable explicit certificate. Smaller certificates are useful in highly constrained environments, such as Radio-frequency Identification RFID tags, where not a lot of memory or bandwidth is available.

Digital certificates are considered the best-known method of establishing identity in network communications. A certificate provides a binding between identity information and a public key; a key pair can subsequently be used for key exchange to set up secured communications and for digital signatures, to authenticate users or transactions for example.

Conventional explicit certificates are made up of three parts: identification data, a public key and a digital signature which binds the public key to the user’s identification data (ID). The digital certificate is created by a trusted third party and its signature can be independently verified by anyone in the network. The public key, ID and digital signature are distinct data elements which make the up the physical size of the certificate. Conventional certificates can get very large. For example, a standard X.509 certificate is on the order of 1KB in size (~8000 bits).

Implicit certificates carry the same data (ID, public key and digital signature) but the data elements are super imposed into a string the size of the public key. For example using an elliptic curve system at 160 bits would give us implicit certificates of size 160 bits.

With implicit certificates there is no explicit validation of the Certificate Authority's (CA’s) signature on a certificate. Instead, a user computes a public key from the implicit certificate and simply uses it in the intended ECC operation, e.g. key agreement protocols such as ECDH and ECMQV, or signing such as ECDSA. The operation will fail if the certificate is invalid. Thus ECQV is regarded as an implicit validation scheme. Computing the public key is very fast, much faster than a public key operation.

Generating implicit certificates

Initially the elliptic curve parameters must be agreed upon. We define G as a generating point of order n. The Certificate Authority (CA) will have private key c and public key QCA=cG. Alice will be the user who requests the implicit certificate from the CA.

  1. Alice generates a random integer α and computes αG and sends that to the CA. The CA does all the rest.
  2. CA Select a random integer k from [1,n1] and computes kG.
  3. CA computes γ=αG+kG (this is the implicit certificate)
  4. CA computes e=H(γIDA), where H is a cryptographic hash function, such as SHA and IDA is Alice's identifying information.
  5. CA computes s=ek+c(modn)
  6. CA sends (s,γ) to Alice

Alice’s private key is a=eα+s(modn)

Alice’s public key is QA=eγ+QCA

Computing the public-key from the implicit certificate

Computing Alice's public key QA can be computed by any third party provided they know γ, IDA and QCA.

Note that the size of the implicit certificate γ is the same size as Alice's public key QA.

Security

A security proof for ECQV has been published. (Brown)

References

  • Template:Cite doi
  • Certicom Research, [1] Standards for efficient cryptography, SEC 4: Elliptic Curve Cryptography, Draft document, November 11, 2006.
  • Certicom.com, [2] Explaining Implicit Certificates, Code and Cipher Vol. 2, no. 2
  • Leon Pintsov and Scott Vanstone, Postal Revenue Collection in the Digital Age, Financial Cryptography 2000, Lecture Notes in Computer Science 1962, pp. 105–120, Springer, February 2000.
  • Daniel R. L. Brown, Robert P. Gallant and Scott A. Vanstone, Provably Secure Implicit Certificate Schemes, Financial Cryptography 2001, Lecture Notes in Computer Science 2339, pp. 156–165, Springer, February 2001. Preprint (postscript)

See also

Template:Cryptography navbox