Language selection

Search

Patent 2591775 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2591775
(54) English Title: DIGITAL SIGNATURE PROTOCOL
(54) French Title: PROTOCOLE DE SIGNATURE NUMERIQUE
Status: Term Expired - Post Grant Beyond Limit
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04L 9/32 (2006.01)
(72) Inventors :
  • VANSTONE, SCOTT A. (Canada)
(73) Owners :
  • CERTICOM CORP.
  • CERTICOM CORP.
(71) Applicants :
  • CERTICOM CORP. (Canada)
  • CERTICOM CORP. (Canada)
(74) Agent: BLAKE, CASSELS & GRAYDON LLP
(74) Associate agent:
(45) Issued: 2010-07-20
(22) Filed Date: 1997-10-10
(41) Open to Public Inspection: 1998-04-11
Examination requested: 2007-06-27
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
9621274 (United Kingdom) 1996-10-11

Abstracts

English Abstract

A digital signature protocol generates a signature component using a hash of an encrypted message. The component and encrypted message form a signature pair that is forwarded to a recipient. The encryption message is used to retrieve the encryption key at the recipient and authenticate information in the message. The signature pair may be applied to a data carrier as a bar code for use in mail delivery services. By utilizing a hash of the message, a reduced message length is achieved as individual signatures are not required for each component of the message.


French Abstract

Un protocole de signature numérique génère une composante de signature en faisant le hachage d'un message chiffré. La composante et le message chiffré forment une paire de signatures qui est transmise à un destinataire. Le message de chiffrement est utilisé pour récupérer la clé de cryptage à destination et pour authentifier les informations contenues dans le message. La paire de signatures peut être appliquée à un support de données comme un code à barres pour une utilisation dans les services de livraison du courrier. En utilisant le hachage du message, on obtient un message de longueur réduite, car les signatures individuelles ne sont pas requises pour chaque composante du message.

Claims

Note: Claims are shown in the official language in which they were submitted.


8
Claims:
1. A method for signing digital information transmitted by one correspondent
to another
correspondent over a data communication system, said method comprising said
one
correspondent:
- generating a short term public key from an integer k;
- obtaining a message m comprising a plurality of portions m i, said message m
containing said information;
- encrypting each said plurality of portions m1 with an encryption key derived
from said
public key to generate a plurality of ciphertext portions e i;
- combining said plurality of ciphertext portions to produce a ciphertext e of
said
message m;
- applying a hash function to said ciphertext e to produce a hash e';
- generating a signature component s using said hash e' and said integer k;
and
- forwarding said signature component s and said ciphertext e to said another
correspondent.
2. The method according to claim 1 comprising determining ensuring said
message m has a
predetermined amount of redundancy to enable said another correspondent to
authenticate
said message m.
3. The method according to claim 1 wherein one of said plurality of portions
m, is a certificate.
4. The method according to claim 3 wherein said certificate exhibits a
requisite amount of
redundancy for said another correspondent to authenticate said message m.
5. The method according to any one of claims 1 to 4 wherein said signature
component s
includes a long-term private key of said one correspondent, said long-term
private key having
a corresponding public key that is made available to said another
correspondent.

9
6. The method according to claim 5 wherein said signature component s has the
form
s = ae'+k mod(n), where a is said long term private key and n is the order of
an underlying
group.
7. The method according to any one of claims 1 to 6 wherein said public key is
derived from a
point on an elliptic curve.
8. A computer readable medium comprising computer executable instructions that
when
executed instruct a cryptographic processor to perform the method according to
any one of
claims 1 to 7.
9. A cryptographic processor configured to perform the method according to any
one of claims
1 to 7.
10. A method for verifying a digital signature of a message m received over a
data
communication system, said message m comprising a plurality of portions m i
and said digital
signature comprising a signature component s and a ciphertext e of said
message m generated
by encrypting said message m with an encryption key derived from a public key
generated by
a signor from an integer k, said method comprising:
- obtaining said signature component s and said ciphertext e;
- applying a hash function to said ciphertext e to obtain a hash e'*;
- using said hash e'* to recover said encryption key from said signature
component s;
- recovering said message m from said ciphertext using said encryption key;
and
- checking said message m for a predetermined characteristic to ascertain the
authenticity of said message m.
11. The method according to claim 10 wherein said predetermined characteristic
is a requisite
amount of redundancy.
12. The method according to claim 10 wherein one of said plurality of portions
m i is a certificate.

13. The method according to claim 12 wherein said certificate exhibits a
requisite amount of
redundancy for said another correspondent to authenticate said message m.
14. The method according to any one of claims 10 to 13 wherein said signature
component s
includes a long-term private key of said one correspondent, said long-term
private key having
a corresponding public key that is utilized to recover said encryption key.
15. The method according to claim 14 wherein said signature component s has
the form
s = ae'+k mod(n), where .alpha. is said long term private key and n is the
order of an underlying
group.
16. The method according to any one of claims 10 to 15 wherein said public key
is derived from
a point on an elliptic curve.
17. A computer readable medium comprising computer executable instructions
that when
executed instruct a cryptographic processor to perform the method according to
any one of
claims 10 to 16.
18. A cryptographic processor configured to perform the method according to
any one of claims
10 to 16.
19. A method of signing digital information transmitted by one correspondent
to another
correspondent over a data communication system, said method comprising said
one
correspondent: generating a short-term public key from an integer k,
encrypting a message m
containing said information with an encryption key derived from said public
key to provide a
ciphertext e of said message, applying a hash function to said ciphertext to
provide a hash e',
generating a signature component s incorporating said hash e' and said integer
k; and
forwarding a signature pair including said ciphertext e and said component s
to said other
correspondent.

11
20. The method according to claim 19 wherein said ciphertext is applied as a
discernible code to
a data carrier for transfer from said one correspondent to said other.
21. The method according to claim 20 wherein said code is a two-dimensional
bar code.
22. The method according to claim 19 wherein said signature component includes
a long-term
private key of said one correspondent and recovery of said encryption key
utilizes a public
key associated with said long-term private key.
23. The method according to claim 22 wherein said message includes a
certificate to authenticate
said public key.
24. The method according to claim 22 wherein said signature component s has
the form:
s = ae'+k mod(n) ; where a is said long-term private key, e' is said hash of
ciphertext e,
k is said integer, and n is the order of an underlying group
25. The method according to claim 19 wherein said message is composed of a
plurality of
discrete messages, each of which is encrypted and compiled to form said
ciphertext.
26. The method according to claim 19 wherein said public key is derived from a
point on an
elliptic curve.
27. A computer readable medium comprising computer executable instructions
that when
executed instruct a cryptographic processor to perform the method according to
any one of
claims 19 to 26.
28. A cryptographic processor configured to perform the method according to
any one of claims
19 to 26.

12
29. A method for verifying a digital signature of a message m received over a
data
communication system, said digital signature comprising a set of data, said
method
comprising:
- identifying from said data a portion representing a signature component s
and a
portion representing ciphertext e of said message m;
- applying a hash function to said portion representing ciphertext e to obtain
a received
hash e'*;
- using said received hash e'* to recover a encryption key from said portion
representing said signature component s;
- retrieving said message m from said ciphertext e by application of said
encryption key
recovered from said signature component s; and
- examining said message m retrieved from said ciphertext e to verify said
digital
signature or reject said signature if verification fails; whereby verification
indicates
said ciphertext e has been generated by encrypting said message m with an
encryption
key derived from a public key generated by a legitimate signor from an integer
k.
30. The method according to claim 29 comprising checking said message m for a
predetermined
characteristic to ascertain the authenticity of said message m.
31. The method according to claim 30 wherein said predetermined characteristic
is a requisite
amount of redundancy.
32. The method according to claim 29 wherein said ciphertext is applied as a
discernible code to
a data carrier for transfer from said one correspondent to said other.
33. The method according to claim 32 wherein said code is a two-dimensional
bar code.
34. The method according to claim 29 wherein said signature component includes
a long-term
private key of said one correspondent and recovery of said encryption key
utilizes a public
key associated with said long-term private key.

13
35. The method according to claim 34 wherein said message includes a
certificate to authenticate
said public key.
36. The method according to claim 34 wherein said signature component s has
the form: s = ae' +
k; where a is said long-term private key, e' is said hash of ciphertext e and
k is said integer.
37. The method according to claim 29 wherein said message is composed of a
plurality of
discrete messages, each of which is encrypted and compiled to form said
ciphertext.
38. The method according to claim 29 wherein said public key is derived from a
point on an
elliptic curve.
39. A computer readable medium comprising computer executable instructions
that when
executed instruct a cryptographic processor to perform the method according to
any one of
claims 29 to 38.
40. A cryptographic processor configured to perform the method according to
any one of claims
29 to 38.

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02591775 2007-06-27
DIGITAL SIGNATURE PROTOCOL
The present invention relates to digital signature protocols. Public key
encryption
schemes are well known and utilize a public key and a private key that are
mathematically related. The more robust are based upon the intractability of
the discrete
log problem in a finite group.
Such public key encryption systems utilize a group element and a generator of
the
group. The generator is an element from which each other group element can be
obtained
by repeated application of the underlying group operation, ie. repeated
composition of the
generator. Conventionally, this is considered to be an exponentiation of the
generator to
an integral power and may be manifested as a k fold multiplication of the
generator or a k
fold addition of the generator depending upon the underlying group operation.
In such a
public key encryption system, an integer k is used as a private key and is
maintained
secret A corresponding public key is obtained by exponentiating the generator
a with
the integer k to provide a public key in the form ak. The value of the integer
k cannot be
derived even though the exponent ak is known.
The public and private keys may be utilized in a message exchange over a data
communication system where one of the con-espondents may encrypt the data with
the
recipient's public key ak. The recipient receives the encrypted message and
utilizes his
2 o private key k to decrypt the message and retrieve the contents.
Interception of the
message will not yield the contents as the integer k cannot be derived.
A similar technique may be utilized to verify the authenticity of a message by
utilizing a digital signature. In this technique, the transmitter of the
message signs the
message with a private key k and a recipient can verify that the message
originated from
the transmitter by decrypting the message with the transmitter's pubic key
a''. A
comparison between a function of the plain text message and of the recovered
message
confirms the authenticity of the message.
Various protocols exist for implementing a digital signature scheme and some
have been widely used. In each protocol, however, it is necessary to guard
against an
existential attack where an impostor may substitute a new message within the
transmission that leads the recipient to believe he is corresponding with a
particular

CA 02591775 2007-06-27
2
individual. Once such authentication is established, then the recipient may
disclose
information that he should not or incorrectly attribute information to the
sender.
To avoid an existential attack, it is usual for the message to include some
redundancy, e.g. by repeating part or in some cases all of the message. This
provides the
function of the message that confirms authenticity. The redundancy provides a
pattern
within the recovered message that would be expected by the recipient. Any
tampering
with the message would be unlikely to produce such a pattern when decrypted
and so
would be readily detected.
The redundancy does, however, increase the message length and therefore the
bandwidth necessary to transmit the message. Generally this is undesirable and
its effect
is seen as a reduced message transmission rate. In some applications, however,
the length
of the message is critical as the signed message may be reproduced as a
printed document
and the length of the message then influences the size of the printed
document. Such an
application is in a mail environment where a bar code may be used to indicate
destination,
postage, rate, .and_.the sender. To avoid fraud, the message is digitally
signed by an
authority and a digital bar code compiled that represents the information
contained in the
signed message. The bar code representation has particular physical
limitations for
readability and to avoid errors caused by e.g. ink bleeding. As a result, a
long message
produces a bar code that is unduly large, particularly where the redundancy
required to
avoid the existential attack is provided by repetition of the whole message.
The length of the message is particularly acute with digital signatures of
messages
that are composed of discrete blocks, as for example in such a mail
environment. In a
conventional signature protocol, a short term secret key k, (the session key),
is selected
and used to exponentiate the generator a of the underlying group to obtain a
short term
public key r = a''. A bit string, r', is derived from r and is used to encrypt
the message m
to obtain ciphertext e, that is e = Er(m) where E. signifies the application
of an encryption
algorithm with the key r' to the message (m).
A signature component, s, is generated that contains information to enable the
authenticity of the signature to be verified. The nature of the signature
component

CA 02591775 2007-06-27
3
depends upon the protocol implemented but a typical exemplary protocol
utilizes a
signature component s of the form s = ae + k mod (n) where n is the order of
the group.
The values of the signature pair s,e forwarded.
In this protocol, the recipient calculates as(aa)', where a' is the public key
of the
sender, to obtain ak which represents the short term public key r.
The ciphertext e can then be decrypted using the key r' to retrieve the
message m.
With a message composed of multiple blocks, ie. m= m,; m2; m3, the ciphertext
e
can be obtained for block m, and the corresponding pair s,e forwarded.
However,
signature component s is dependent upon the encryption of the first block
which leaves
the subsequent blocks vulnerable. It is therefore necessary to sign each block
and
forward multiple signatures, all of which increases the length of the message.
It is therefore an object of the present invention to obviate or niitigate the
above
disadvantages.
In general terms, the present invention generates an encrypted message string,
e,
with a key, r', and the ciphertext is forwarded to the recipient. The
encryptedmessage
string e is also processed by a hash function and the resulting hash e'
utilized in the
signature s. The recipient recovers the message by hashing the message string
e and
utilizes the value to recover the encryption key, r'. The message can then be
recovered
from the message string e.
If appropriate, the redundancy may be checked to ensure the accuracy of the
message but only one signature pair needs to be transferred. Since the
signature is
generated from the hash of the encrypted message string e, individual blocks
of data
cannot be altered.
As a further preference, the certificate accompanying the message may be
incorporated into the message as one of the blocks and signed. The certificate
will have
the requisite redundancy for authentication but because the hash of the string
is used in
the signature, the balance of the blocks do not need any redundancy.
Accordingly, a
shorter message can be utilized.
Embodiments of the invention will now be described by way of example only,

CA 02591775 2007-06-27
4
with reference to the accompanying drawings, in which
Figure 1 is a schematic representation of a data commtmication system;
Figure 2 is a schematic representation of a block of messages;
Figure 3 is a flow chart showing the generation of a digital signature and
recovery
of a message; and
Figure 4 is a schematic representation similar to Figure 2 of an alternative
embodiment.
Referring therefore to Figure 1, a data communication system 10 includes a
pair
of correspondents 12,14 and a communication channe116. As indicated by solid
line, the
communication channel 16 may be a continuous channel between the two
correspondents
12,14 so that digital infonnation may be transferred between the
correspondents. It will
be understood, however, that the channe116 may be interrupted as indicated in
chain dot
lines so that the sender 12 communicates with a bar code assembler 18 which
receives
digital information, converts it to a bar code and prints bar code indicia 20
on an envelope
i5 22. The indicia 20 may then be read with a bar=code reader 24 and the
recovered message
communicated to the recipient 14.
Each of the correspondents 12,14 includes an encryption unit 26,28
respectively
that may process digital information and prepare it for transmission through
the channel
16 as will be described below.
As may be seen from Figure 2, the correspondent 12 wishes to generate a
digital
message m that may be encrypted and applied through the bar code assembler to
the
envelope 22_ The digital message m consists of a plurality of discrete blocks
mj,m2,m3...,
each of which represents a particular piece of information. For example, the
message m,
may be the sender's address, the message m2 may be the recipient's address,
the message
m, may be the postal rate applied, and the message m.4 may indicate the
postage charged
and act as an electronic debit.
In order to sign digitally the message m, the correspondent 12 processes it
through
the encryption unit 26. The unit 26 includes a number generator 30 (see Figure
3) which selects
a random integer k and calculates a short term public key r at exponentiation
unit 32. The

CA 02591775 2007-06-27
unit 26 may operate under any of the established encryption schemes but a
particularly
beneficial implementation is that using eIliptic curves over a finite field.
The short term
public key r is derived from the generator of the group a that is
exponentiated to the
integer k so that r= ar. In an elliptic curve implementation, the underlying
field
5 operation is addition so that "exponentiation" is obtained by k fold
addition of a point P
so that the public key is a point kP on the curve.
A bit string r' is obtained from r by application of a predetermined
algorithm, such
as a modulo reduction or, where the implementation is over an elliptic curve,
one
coordinate of the point representing the public key and utilized as a key by
the encryption
unit to encrypt each of the blocks m,,m2, etc. at encryption module 34. The
encrypted
blocks e; e2; ... are concatenated to form a message string e where
e= e,//e~/...ek and where in general e; = Er(m;) in a register 36.
The encryption unit 26 includes a hash function h indicat.ed at 38 which
processes
the ciphertext string e to produce a shortened bit string comprising hash e'.
Suitable hash
functions are secure one-way cryptographic hash functions such as SHA.
A signature component s is then generated by an arithmetic unit 40 using the
hash
e' and the private key k from which the encryption key r is derived. A
suitable
component has the form -
s = ae' + k mod(n),
where a is the long-term private key of the correspondent 12, and k is the
short-term
private key selected by the correspondent 12.
The encryption unit assembles the message and sends as the signature pair the
message string e and the signature component s from a transmitter 42 through
the channel
16. When used as a mail system, the message may then be compiled into a
discemible
code, such as a two-dimensional bar code, applied as indicia 20 to data
carrier 22 as
indicated in Figure I and subsequently read by the recipient 14. The indicia
20 may be
visibly discernible, as in a printed bar code, may be magnetically discernible
by printing
with magnetic ink or could be optically readable by a laser according to the
particular
application.

CA 02591775 2007-06-27
6
Upon receipt by the recipient 14 at receiver 50, the encryption unit 28
initially
calculates the hash value e' * by hashing the received message string e with
the hash
function h as indicated at 52. A public key r* related to the integer k is
then calculated in
arithmetic unit 54 using operations in the underlying field to exponentiate
the generator a
with the received value of the component s and exponentiating the public key
of the
correspondent 12 with the computed hash value e' *, that is
r* = as(a') "'
An encryption key r*' is then derived from the recovered public key.
An encryption module 56 then processes the received message string e using the
encryption key r*' to recover the message m. The message m will include the
requisite
redundancy which can be checked to ascertain the authenticity of the message.
It will be understood that the procedure outlined in Figure 3 may be
implemented
as software and performed on a general purpose computer or may be implemented
in a
special purpose integrated circuit.
It will be noted that the hash value e' is a hash of all the encrypted blocks
that are
concatenated and so it is not possible to tamper with one of the blocks
without affecting
the resultant hash value. However, although multiple blocks are sent and
recovered, only
one signature is required which reduces the overall message length.
A further embodiment is shown in Figure 4 in which like reference numerals
will
indicate like parameters, with the suffix 'a' added for clarity.
In the embodiment of Figure 4, a certificate issued by a secure authority is
included as a message block msa within the message m. The certificate includes
sufficient
information to permit authentication of the public key of the correspondent 12
and the
parameters of the underlying system. The message string e is assembled as
indicated
above by encrypting each of the blocks to provide a string e,a,eZa, etc.,
including the
certificate mse.
The hash e'a is then obtained and used to generate a signature component Sa of
the
form
sa = ae', + k mod(n).

CA 02591775 2007-06-27
7
Upon recovery by the recipient 14, the recovered message will include the
certificate msa which will exhibit the requisite redundancy as part of the
underlying
system parameters. The redundancy of the certificate m5a therefore
authenticates the
message m and avoids the need for redundancy in the additional blocks.
However, as
previously, since the hash used in the signature s is a hash of all of the
blocks, it is not
possible to substitute one block within the message while retaining the
authenticity of the
signature.
It will be understood that the signature component s may be of any suitable
form
commonly used in digital signature protocols that allow the recovery of the
short term
public key and hence the encryption key from a hash of the encrypted message.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: Expired (new Act pat) 2017-10-10
Grant by Issuance 2010-07-20
Inactive: Cover page published 2010-07-19
Inactive: Final fee received 2010-04-27
Pre-grant 2010-04-27
Notice of Allowance is Issued 2009-11-02
Letter Sent 2009-11-02
Notice of Allowance is Issued 2009-11-02
Inactive: Approved for allowance (AFA) 2009-10-30
Amendment Received - Voluntary Amendment 2009-08-25
Inactive: S.30(2) Rules - Examiner requisition 2009-02-25
Amendment Received - Voluntary Amendment 2008-12-18
Inactive: S.30(2) Rules - Examiner requisition 2008-06-30
Inactive: S.29 Rules - Examiner requisition 2008-06-30
Amendment Received - Voluntary Amendment 2008-03-26
Inactive: Office letter 2007-12-03
Inactive: Correspondence - Transfer 2007-10-30
Inactive: Office letter 2007-10-17
Inactive: Cover page published 2007-08-23
Inactive: First IPC assigned 2007-08-21
Inactive: IPC assigned 2007-08-21
Letter sent 2007-07-24
Correct Inventor Requirements Determined Compliant 2007-07-19
Letter Sent 2007-07-19
Divisional Requirements Determined Compliant 2007-07-19
Application Received - Regular National 2007-07-19
Application Received - Divisional 2007-06-27
Request for Examination Requirements Determined Compliant 2007-06-27
All Requirements for Examination Determined Compliant 2007-06-27
Application Published (Open to Public Inspection) 1998-04-11

Abandonment History

There is no abandonment history.

Maintenance Fee

The last payment was received on 2009-09-08

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
CERTICOM CORP.
CERTICOM CORP.
Past Owners on Record
SCOTT A. VANSTONE
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2007-06-27 1 15
Description 2007-06-27 7 321
Claims 2007-06-27 3 94
Drawings 2007-06-27 3 21
Representative drawing 2007-08-20 1 3
Cover Page 2007-08-23 1 30
Claims 2008-03-26 6 203
Drawings 2008-12-18 3 22
Claims 2008-12-18 6 210
Claims 2009-08-25 6 212
Representative drawing 2010-07-09 1 4
Cover Page 2010-07-09 2 33
Acknowledgement of Request for Examination 2007-07-19 1 177
Commissioner's Notice - Application Found Allowable 2009-11-02 1 163
Correspondence 2007-07-19 1 36
Correspondence 2007-10-17 1 17
Fees 2007-09-19 1 26
Correspondence 2007-12-03 1 14
Fees 2008-09-09 1 26
Correspondence 2010-04-27 2 50