Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS6212281 B1
Publication typeGrant
Application numberUS 08/949,030
Publication dateApr 3, 2001
Filing dateOct 10, 1997
Priority dateOct 11, 1996
Fee statusPaid
Also published asCA2218308A1, CA2218308C, DE19744786A1, DE19744786B4
Publication number08949030, 949030, US 6212281 B1, US 6212281B1, US-B1-6212281, US6212281 B1, US6212281B1
InventorsScott A. Vanstone
Original AssigneeCerticom Corp.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Digital signature protocol
US 6212281 B1
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.
Images(4)
Previous page
Next page
Claims(13)
The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A digital signature protocol for authenticating digital information transmitted by one correspondent to another over a data communication system, at least said one correspondent having long-term private key and corresponding long-term public key associated therewith, said protocol comprising the steps of 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 short term 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′, said long-term public key and said integer k, forwarding a signature pair including said ciphertext e and said component s to said other correspondent, hashing said ciphertext e received by said other correspondent with said hash function to obtain a received hash e′*, using said received hash e′*, and said long-term public key to recover said encryption key from said signature component, and retrieving said message m from said ciphertext e by application of said encryption key recovered from said signature component.
2. A digital signature protocol according to claim 1 wherein said cyphertext is applied as a discernible code to a data carrier for transfer from one correspondent to said other.
3. A digital signature protocol according to claim 2 wherein said code is a two-dimensional bar code.
4. A digital signature protocol according to claim 1 wherein said message includes certificate to authenticate said public key corresponding to said long term private key.
5. A digital signature protocol according to claim 1 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.
6. A digital signature protocol according to claim 1 wherein said message is composed of a plurality of discrete messages, each of which is encrypted and compiled to form said ciphertext.
7. A digital signature protocol according to claim 1 wherein said public key is derived from a point on an elliptic curve.
8. Apparatus to generate a digital signature of a message m for transmission over a data communication system, said apparatus comprising an exponentiator to generate a public key r from a short-term private key k, an encryption module to encrypt said message m with a key derived from said public key r, and generate a ciphertext e, a hash function to operate on said ciphertext e and produce a hash e′ of said ciphertext, an arithmetic unit to generate a signature component incorporating said hash e′ and said private key k and a long-term private key, a, and a transmitter to transmit a signature pair comprising said signature component and said ciphertext over said communication system.
9. Apparatus according to claim 8 wherein said arithmetic unit generates a signature component of the form
s=ae′+k where
a is a second private key,
e′ is said hash of ciphertext e, and
k is said private key.
10. Apparatus according to claim 8 including a bar code generator to produce a discernible bar code of said signature pair on a carrier.
11. Apparatus to verify a digital signature received over data communication system, said apparatus including a receiver to receive a signature pair including ciphertext, e, and a signature component s incorporating a short term private key k, a long-term private key, a, and a hash e′ of ciphertext, e, of a message m, a hash function to operate on said ciphertext e and provide a hash e′*, an arithmetic unit to recover an encryption key correlated to said private key k and an encryption module to apply said encryption key to said ciphertext and recover said message m.
12. Apparatus according to claim 11 wherein said signature component is of the form
s=ae′+k where
a is a long-term private key,
e′ is a hash of said ciphertext e, and
k is said private key.
13. Apparatus according to claim 11 including a bar code reader to read a bar code representing said signature pair on a carrier.
Description

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 α with the integer k to provide a public key in the form αk. The value of the integer k cannot derived even though the exponent αk is known.

The public and private keys may be utilized in a message exchange over a data communication system where one of the correspondents may encrypt the data with the recipient's public key αk. The recipient receives the encrypted message and utilizes his 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 αk. 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 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 α of the underlying group to obtain a short term public key r=αk. 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 Er′ 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 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 αs−a)e, where α−a is the public key of the sender, to obtain αk 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=m1; m2; m3, the ciphertext e can be obtained for block m1 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 mitigate 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 encrypted message 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, with reference to the accompanying drawings, in which

FIG. 1 is a schematic representation of a data communication system;

FIG. 2 is a schematic representation of a block of messages;

FIG. 3 is a flow chart showing the generation of a digital signature and recovery of a message; and

FIG. 4 is a schematic representation similar to FIG. 2 of an alternative embodiment.

Referring therefore to FIG. 1, a data communication system 10 includes a pair of correspondents 12,14 and a communication channel 16. As indicated by solid line, the communication channel 16 may be a continuous channel between the two correspondents 12,14 so that digital information may be transferred between the correspondents. It will be understood, however, that the channel 16 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 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 FIG. 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 m1,m2,m3 . . . , each of which represents a particular piece of information. For example, the message m1 may be the sender's address, the message m2 may be the recipient's address, the message m3 may be the postal rate applied, and the message m4 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 which selects a random integer k and calculates a short term public key r at exponentiation unit 32. The unit 26 may operate under any of the established encryption schemes but a particularly beneficial implementation is that using elliptic 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=αk. In an elliptic curve implementation, the underlying field 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 m1,m2, etc. at encryption module 34. The encrypted blocks e; e2; . . . are concatenated to form a message string e where

e=e1//e2// . . . ek and where in general ei=Er′(mi) in a register 36.

The encryption unit 26 includes a hash function h indicated at 38 which processes the ciphertext string e to produce a shortened bit string comprising hash e′. Suitable hash functions are as 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 discernible code, such as a two-dimensional bar code, applied as indicia 20 to data carrier 22 as indicated in FIG. 1 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.

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 α 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*=αs−a)e′*

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 FIG. 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 FIG. 4 in which like reference numerals will indicate like parameters, with the suffix ‘a’ added for clarity.

In the embodiment of FIG. 4, a certificate issued by a secure authority is included as a message block m5a 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 e1a,e2a, etc., including the certificate m5a.

The hash e′a is then obtained and used to generate a signature component sa of the form

s a=ae′a +k mod(n).

Upon recovery by the recipient 14, the recovered message will include the certificate m5a 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.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4641347 *Jul 18, 1983Feb 3, 1987Pitney Bowes Inc.System for printing encrypted messages with a character generator and bar-code representation
US4660221 *Jul 18, 1983Apr 21, 1987Pitney Bowes Inc.System for printing encrypted messages with bar-code representation
US4796193 *Jul 7, 1986Jan 3, 1989Pitney Bowes Inc.Postage payment system where accounting for postage payment occurs at a time subsequent to the printing of the postage and employing a visual marking imprinted on the mailpiece to show that accounting has occurred
US4881264 *Jul 30, 1987Nov 14, 1989Merkle Ralph CDigital signature system and method based on a conventional encryption function
US4947430 *Nov 23, 1987Aug 7, 1990David ChaumUndeniable signature systems
US5018196 *Jul 5, 1989May 21, 1991Hitachi, Ltd.Method for electronic transaction with digital signature
US5208858Jan 24, 1991May 4, 1993Siemens AktiengesellschaftMethod for allocating useful data to a specific originator
US5245657 *Jul 2, 1992Sep 14, 1993Mitsubishi Denki Kabushiki KaishaVerification method and apparatus
US5351297 *Apr 16, 1993Sep 27, 1994Matsushita Electric Industrial Co., Ltd.Method of privacy communication using elliptic curves
US5442707 *Sep 27, 1993Aug 15, 1995Matsushita Electric Industrial Co., Ltd.Method for generating and verifying electronic signatures and privacy communication using elliptic curves
US5479515 *May 11, 1994Dec 26, 1995Welch Allyn, Inc.One-dimensional bar code symbology and method of using same
US5499294May 24, 1995Mar 12, 1996The United States Of America As Represented By The Administrator Of The National Aeronautics And Space AdministrationDigital camera with apparatus for authentication of images produced from an image file
US5581616 *Jun 7, 1995Dec 3, 1996Next Software, Inc.Method and apparatus for digital signature authentication
US5608801Nov 16, 1995Mar 4, 1997Bell Communications Research, Inc.Efficient cryptographic hash functions and methods for amplifying the security of hash functions and pseudo-random functions
US5638446Aug 28, 1995Jun 10, 1997Bell Communications Research, Inc.Method for the secure distribution of electronic files in a distributed environment
EP0639907A1Aug 17, 1993Feb 22, 1995R3 Security Engineering AGDigital signature method and key agreement method
Non-Patent Citations
Reference
1 *Bruce Schneier; "Applied Cryptography, Second Edition", John Wiley & Sons, Oct. 18, 1995, pp. 37-39 and pp. 476-479.
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US6523014 *Mar 15, 1999Feb 18, 2003Francotyp-Postalia Ag & Co.Franking unit and method for generating valid data for franking imprints
US6704867 *Mar 30, 1999Mar 9, 2004Bitney Bowes, Inc.Method for publishing certification information representative of selectable subsets of rights and apparatus and portable data storage media used to practice said method
US6738899 *Mar 30, 1999May 18, 2004Pitney Bowes Inc.Method for publishing certification information certified by a plurality of authorities and apparatus and portable data storage media used to practice said method
US6847951Mar 30, 1999Jan 25, 2005Pitney Bowes Inc.Method for certifying public keys used to sign postal indicia and indicia so signed
US7107453 *Dec 1, 2000Sep 12, 2006Hewlett-Packard Development Company, L.P.Authenticatable graphical bar codes
US7107454 *Jan 30, 2001Sep 12, 2006Fujitsu LimitedSignature system presenting user signature information
US7136489 *Sep 12, 2002Nov 14, 2006Novell, Inc.Method and system for enhancing network security using a multilateral authorization mechanism
US7139910 *Feb 28, 2002Nov 21, 2006Compass Technology Management, Inc.Systems and methods for obtaining digital signatures on a single authoritative copy of an original electronic record
US7146500 *Nov 14, 2001Dec 5, 2006Compass Technology Management, Inc.System for obtaining signatures on a single authoritative copy of an electronic record
US7328347 *Nov 15, 2005Feb 5, 2008Heidelberger Druckmaschinen AgMethod and apparatus for distinguishing the origin of operator inputs in electronic control systems and printing machine having the apparatus
US7447904 *Oct 13, 2006Nov 4, 2008Compass Technology Management, Inc.Systems and methods for obtaining digital signatures on a single authoritative copy of an original electronic record
US7480795Dec 16, 2004Jan 20, 2009Certicom Corp.Method for the application of implicit signature schemes
US7664947Oct 12, 2005Feb 16, 2010The Boeing CompanySystems and methods for automated exchange of electronic mail encryption certificates
US7698557Dec 7, 2004Apr 13, 2010Guardtime AsSystem and method for generating a digital certificate
US7747865 *Feb 7, 2006Jun 29, 2010International Business Machines CorporationMethod and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
US7783036 *Jan 16, 2002Aug 24, 2010Lg Electronics Inc.Apparatus for encrypting/decrypting real-time input stream
US8069347Dec 11, 2008Nov 29, 2011Certicom Corp.Method for the application of implicit signature schemes
US8166308Jul 18, 2007Apr 24, 2012Certicom Corp.System and method for authenticating a gaming device
US8312528Jan 29, 2010Nov 13, 2012Guardtime Ip Holdings LimitedSystem and method for generating a digital certificate
US8320559 *Aug 6, 2009Nov 27, 2012Voltage Security, Inc.Identity-based-encryption system
US8347372Jan 29, 2010Jan 1, 2013Guardtime Ip Holdings LimitedSystem and method for generating a digital certificate
US8457307Jul 10, 2008Jun 4, 2013Certicom Corp.Method and system for generating implicit certificates and applications to identity-based encryption (IBE)
US8510570Jan 24, 2012Aug 13, 2013Certicom Corp.System and method for authenticating a gaming device
US8522012Oct 31, 2011Aug 27, 2013Certicom Corp.Method for the application of implicit signature schemes
US8713321Sep 14, 2012Apr 29, 2014Certicom Corp.Method and apparatus for verifiable generation of public keys
US20010025272 *Jan 30, 2001Sep 27, 2001Nobuyuki MoriSignature system presenting user signature information
CN101512536BJul 18, 2007May 9, 2012塞尔蒂卡姆公司System and method for authenticating a gaming device
WO2005043807A1 *Oct 28, 2004May 12, 2005Certicom CorpMethod and apparatus for verifiable generation of public keys
WO2008009112A1 *Jul 18, 2007Jan 24, 2008Certicom CorpSystem and method for authenticating a gaming device
Classifications
U.S. Classification380/282, 380/281, 380/283, 713/180, 713/176, 380/45, 713/177, 380/285
International ClassificationH04L9/32
Cooperative ClassificationH04L9/3247
European ClassificationH04L9/32S
Legal Events
DateCodeEventDescription
Sep 5, 2012FPAYFee payment
Year of fee payment: 12
Oct 27, 2008ASAssignment
Owner name: CERTICOM CORP, CALIFORNIA
Free format text: RELEASE;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:021744/0189
Effective date: 20081007
Oct 15, 2008ASAssignment
Owner name: CERTICOM CORP., CANADA
Free format text: RELEASE OF SECURITY AGREEMENT;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:021679/0803
Effective date: 20081007
Sep 5, 2008FPAYFee payment
Year of fee payment: 8
Sep 8, 2004FPAYFee payment
Year of fee payment: 4
Jun 5, 2002ASAssignment
Owner name: SILICON VALLEY BANK, CALIFORNIA
Free format text: SECURITY AGREEMENT;ASSIGNOR:CERTICOM CORP.;REEL/FRAME:012973/0776
Effective date: 20020322
Owner name: SILICON VALLEY BANK 25821 INDUSTRIAL BLVD. HAYWARD
Owner name: SILICON VALLEY BANK 25821 INDUSTRIAL BLVD.HAYWARD,
Free format text: SECURITY AGREEMENT;ASSIGNOR:CERTICOM CORP. /AR;REEL/FRAME:012973/0776
Owner name: SILICON VALLEY BANK 25821 INDUSTRIAL BLVD. HAYWARD
Free format text: SECURITY AGREEMENT;ASSIGNOR:CERTICOM CORP.;REEL/FRAME:012973/0776
Effective date: 20020322
Owner name: SILICON VALLEY BANK 25821 INDUSTRIAL BLVD.HAYWARD,
Free format text: SECURITY AGREEMENT;ASSIGNOR:CERTICOM CORP. /AR;REEL/FRAME:012973/0776
Effective date: 20020322
Apr 8, 1998ASAssignment
Owner name: CERTICOM CORP., CANADA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VANSTONE, SCOTT A.;REEL/FRAME:009099/0247
Effective date: 19980406