CA2200592A1 - Secret-key certificates - Google Patents

Secret-key certificates

Info

Publication number
CA2200592A1
CA2200592A1 CA002200592A CA2200592A CA2200592A1 CA 2200592 A1 CA2200592 A1 CA 2200592A1 CA 002200592 A CA002200592 A CA 002200592A CA 2200592 A CA2200592 A CA 2200592A CA 2200592 A1 CA2200592 A1 CA 2200592A1
Authority
CA
Canada
Prior art keywords
key
secret
certificate
public key
public
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002200592A
Other languages
French (fr)
Inventor
Stefanus Alfonsus Brands
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2200592A1 publication Critical patent/CA2200592A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Abstract

Cryptographic methods and apparatus are disclosed that enable formation and issuance of secret-key certificates. In contrast the well-known cryptographic technique of public-key certificates, where a public-key certificate is a digital signature of a certification authority on a public key, pairs consisting of a public key and a corresponding secret-key certificate can be generated by anyone. However, triples consisting of a secret key, a matching public key and a secret-key certificate corresponding to the public key, can only be generated when the certification authority is involved. Also described are applications of secret-key certificates to public-key directories and to restrictive blind issuing protocols.

Description

WO96/1~K2 2 2 0 l~ S 9 2 PCT~n95/003S0 ,_ ~n~-~ REY ~h~ CATES

r~F~ODND OF THE l~v~.,lON

1. Field of the invention.

s The present invention relates to cryptographic techniques, and more particularly to methods and apparatus for implementing certificate schP~e.s based on public-key cryptography.
2. Description of the prior art.
Public-key certificates, usually plainly referred to as certificates, are an important cryptographic tool for secure key management. The idea is to have a specially appointed party, commonly called the Certification Authority, certify the public keys of other parties in the system by digitally signing these public keys with its own secret key. By widely distributing the public key of the Certification Authority through a variety of media, anyone can be assured that it is genuine. Because a public-key certificate is a digital signature of the Certification Authority on a public key, certificates on public keys of other parties can be verified by anyone by using the public key of the Certification Authority. The net effect is that impersonation attacks, and similar other attacks, are prevented.
- In practical applications, the certificates of the Certification Authority may, and perhaps should, certify additional information. Along with the public key, a ~ certificate could validate such information as the name of the party associated with the public key, employer, teiephone number, electronic mail address, and a list of access rights.
To facilitate practicality of the certificate issuing process, public keys can be certified recursively, according W096/1~ 2 2 0 0 5 9 2 PCT~n9S/003S0 to a hierarchical structure. For example, in an electronic cash system, the main bank can certify the public keys of all the local banks, the local banks in turn can certify public keys in POS terminals by using their certified keys, and the secret keys correspo~; n~ to the public keys in the POS
terminals can be used to decrypt information that is sent by the host. The hierarchic certification process can be thought of as building a tree, each node cont~;n;ng a public key and a certificate on the public key. A certificate on a public key in a node is a digital signature on that public key, that has been computed by the party associated with the parent node by applying the secret key that corresponds to the public key of the parent node. Anyone can verify the validity of a public key by recursively desc~n~;ng (or ascending) the tree from the root node to the node associated with the public key that is being verified (or vice versa). A certification hierarchy that is often suggested is one that is implied by the lifetime of the cryptographic keys: keys that are more susceptible to attacks are changed more frequently, and are certified by keys that have a longer lifetime.
Public keys can be listed in so-called public-key ~ directories, which can be made available on CD-ROM or other media. In order to encrypt a message intended for another party, one merely needs to look up the public key of that other party in the public-key directory, verify the validity of the certificate, and encrypt the message with the public key. It can then be sent to the other party. No interaction is needed between the two parties. In this way for instance encrypted electronic mail can be sent over a computer network.
Because the certificate mechanism obviates the need for the public-key directory to be secured, public keys need not necessarily be listed in a public-key directory. They may be sent (along with the certificate) on request, by the party associated with the public key itself, or by any other party that need not be trusted, such as a server in a computer network.
In cryptographic mechanisms for transfer of credentials, the Certification Authority at issuing time can issue a WO96/1~62 - 2 2 0 0 5 9 2 PcT~n9S/003SO
-certificate on a public key of a user. The type of credential that is issued can, for instance, be denoted by the type of signature that the Certification Authority computes. This allows the user, when transferring the credential to a recipient, to make a digital signature on a message of the recipient (describing such information as the identity of the recipient and transaction details), by using the secret key corresponding to his certified public key. The certificate proves the validity of the credential to the recipient, o whereas the signature made by the user proves that the user willingly transferred the credential to the recipient.
For privacy-protected transfer of credentials, the information that is issued by the Certification Authority - should not be linkable to executions of the issuing protocol.
Special techniques are known that enable the user to blind the issuing protocol while interacting with the Certificate Authority.
~ While important and useful, the public-key certificate technique also has a few problems associated with it. First of these relates to privacy. It is conceivable that providers for a variety of electronic systems available in the near - future will require participants to meet certain criteria before certifying their public keys. These criteria may include social status, income, type of job, trustworthiness, and so on. Because a public-key certificate is a digital signature of the Certification Authority on the public key, pairs consisting of a public key and a corresponding public-key certificate reveal to anyone which parties are participating in a certain system, and which parties are not participating. This reveals which parties meet the criteria specified by the Certification Authority, and which parties may not meet them. Likewise, the genuineness of the additional information (employer, telephone number, access rights, and so on) that may have been certified along with the public key, is revealed. Consequently, public-key certificates allow anyone to extract profiles of other parties, by ScAnn; ng for their appearances, or the lack thereof, in compiled lists of certified public keys (such as WO96/1~62 -- 2 2 0 0 5 9 2 PCT~n95/003~0 public-key directories). This problem is by no means removed by letting participants send their public keys only on request, instead of using a public-key directory.
A second problem is that the publication of a public-key directory reveals a huge amount of digital signatures of the Certification Authority on known, or chosen, public keys.
Although most of the known digital signature schemes are believed to be secure under known, or (adaptively) chosen, message attacks, only a few signature schemes are known that can be proven to be secure, assuming the existence of functions that are substantially unfeasible to invert.
Unfortunately, these schemes are currently not practical for large-scale use. Since public-key directories typically will contain an enormous amount of entries, the Certification Authority will have to use an efficient signature scheme.
This implies that the signatures in the public-key directory may be helpful in attempts to break the signature scheme of the Certification Authority; they can be used to mount known or (adaptively) chosen message attacks. Again, this problem is not removed by letting participants send their public keys only on request, instead of using a public-key directory.
- A third problem is in blinding public-key certificate issuing protocols in mechanisms for privacy-protected transfer of credentials (see, for instance, U.S. Patent No. 4,759,063 to Chaum for a discussion of the technique of blinding in public-key cryptography). In many circumstances, the Certification Authority does not want the users to be able to blind to their hearts' contents, but would like to encode information in the issued informa.ion that cannot be changed by the blinding operations of the user. For instance, in mechanisms for transferring credentials under pseudonym, this encoded information can be uriquely associated with the user that the credential is issued to, thereby linking the pre-images of all the pseudonyms of each user. In this way, it can be ensured that users cannot use the credentials of other users, even if they cooperate. For credentials that may be shown only a limited number of times, such as coins in an electronic cash system, it can be arranged that this encoded WO96/12362 2 2 0 ~ 5 9 2 PcT~n9S/00350 information is revealed if and only if the credential is shown a number of times exceeding a predetermined limit. This obviates the need for on-line verification of these credentials. For such purposes, an issuing protocol is needed s in which the Certification Authority issues a secret key, a public key, and a public-key certificate, in such a way that the public key and the certificate can be blinded by the user, but a non-constant function of the secret key cannot. Such an issuing protocol is called a restrictive blind signature lo issuing protocol, and is described and claimed in patent application Ser. No. PCT/NL94/00179, filed August l, 1994, and is incorporated by reference herein. From the point of view of security, no satisfactory constructions of restrictive blind signature issuing protocols are known in which the certificate is a public-key certificate. This is a serious problem, since restrictive blind signature issuing protocols are of crucial importance for the construction of efficient and secure mechanisms for privacy-protected off-line transfer of credentials.
Patent application Ser. No. PCT/NL94/00179, filed August 1, 1994, also describes and claims an inventive method for constructing restrictive blind signature issuing protocols where the issued certificate is not a digital signature on the public key (and hence not a public-key certificate). As is demonstrated in detail, the construction of efficient and secure restrictive blind signature issuing protocols becomes much easier by removing the need for the certificate to be a signature of the issuer on the public key. Most (more specifically, all but the last one described) of the exemplary restrictive blind signature issuing protocols described and claimed in patent application Ser. No. PCT/NL94/00179 are constructed by applying this inventive method.
While the inventive method described and claimed in patent application Ser. No. PCT/NL94/00179 overcomes the third problem associated with public-key certificates, it does not address the first two problems. This invention describes a generalized method that overcomes all three problems associated with public-key certificates.

WO96/1~62 2 2 0 0 5 q 2 PCT~nsS/~3S0 OBJECTS OF THE lNV~. ~l~N
Accordingly, it is an object of the present invention to - allow anyone to generate pairs consisting of a public key and a corresponding certificate, while at the same time ensuring that it is unfeasible to generate, without knowledge of a special secret key that is held by a Certification Authority, triples consisting of a secret key, a matching public key, and a corresponding certificate, by providing for a new kind of certificates that will henceforth be called secret-key 0 certificates.
Another object of the present invention is to prevent lists of certified public keys, such as public-key directories, from revealing the genuineness of privacy-related information, by using secret-key certificates instead of public-key certificates.
A further object of the present invention is to prevent lists of certified public keys, such as public-key directories, from revealing information that may be helpful in known or chosen message attacks on the signature scheme of the Certification Authority, by using secret-key certificates c instead of public-key certificates.
Yet another object of the present invention is to describe techniques to construct secret-key certificates, and issuing protocols therefor, from well-known digital signature schemes that are commonly referred to in the art as Fiat/Shamir type signature schemes (see, Fiat, A. and Shamir, A., ~How to prove yourself: practical solutions to identification and signature problems," Crypto '86, Springer-Verlag (1987), pp. 186-194).
A still further object of the present invention is to construct efficient and secure restrictive blind secret-key certificate issuing protocols, by letting the Certification Authority issue triples consisting of a secret key, a matching public key, and a corresponding secret-key certificate, such that the public key and the certificate can be blinded by the receiving party, but at least part of the secret key cannot be blinded.

WOg6/1~62 2 2 0 0 5 9 2 PCT~nsS/003S0 An even further object of the present invention is to implement hierarchical certification by recursive application of secret-key certificates instead of public-key certificates.
- Still another object of the present invention is to allow efficient, economical, and practical apparatus and methods fulfilling the other objects of the invention.
Other features, objects, and advantages of this invention will be appreciated when the description and appended claims are read in conjunction with the figures.

BRIEF Dl~-~2TPTION OF 1~ DRAWINGS
Figure 1 shows a representative combination block and functional diagram of an exemplary secret-key certificate system in accordance with the teachings of the present invention.
Figure 2 shows a flowchart of a secret-key certificate issuing protocol for a first preferred embodiment in accordance with the teachings of the present invention.
Figure 3 shows a flowchart of a secret-key certificate issuing protocol, such that the Certification A~thority does not need to know the secret key of the recipient, for the first preferred embodiment in accordance with the teachings of the present invention.
Figure 4 shows a flowchart of a secret-key certificate issuing protocol, such that the subl;m;n~l channel in the secret-key certificate is prevented, for the first preferred embodiment in accordance with the teachings of the present invention.
Figure 5 shows a flowchart of a secret-key certificate issuing protocol, such that the recipient fully blinds the issued information, for the first preferred embodiment in accordance with the teachings of the present invention.
Figure 6 shows a first flowchart of a restrictive blind secret-key certificate issuing protocol for the first preferred embodiment in accordance with the teachings of the ~ 35 present invention.
Figure 7 shows a second flowchart of a restrictive blind secret-key certificate issuing protocol for the first W096/1~62 2 2 0 0 5 9 2 PcT~ngStOO350 preferred embodiment in accordance with the teachings of the present invention.
Figure 8 shows a flowchart of a secret-key certificate issuing protocol for a second preferred embodiment in accordance with the teachings of the present invention.
Figure 9 shows a flowchart of a secret-key certificate issuing protocol, such that the Certification Aut~ority does not need to know the secret key of the recipient, for the second preferred embodiment in accordance with the teachings of the present invention.
Figure lO shows a flowchart of a secret-key certificate issuing protocol, such that the subliminal channel in the secret-key certificate is prevented, for the second preferred embodiment in accordance with the teachings of the present invention.
Figure ll shows a flowchart of a secret-key certificate issuing protocol, such that the recipient fully blinds the issued information, for the second preferred embodiment in accordance with the teachings of the present invention.
Figure 12 shows a flowchart of a restrictive_blind secret-key certificate issuing protocol for the second preferred embodiment in accordance with the teachings of the present invention.
SUMMARY OF TEE lN V~.,lON
In accordance with these and other objects of this invention, a brief summary of the invention is presented.
Some simplifications and omissions may be made in the following summary, which is intended to highlight and introduce some aspects of the present invention, but not to limit its scope. Detailed descriptions of preferred exemplary embodiments adequate to allow those of ordinary skill in the art to make and use this invention will be provided later.
In essence, the primary purpose of a public-key certificate is to certify the tasks that a participant in a cryptographic system can successfully perform with respect to his public key, rather than the public key itself. Consider the three most well-known public-key cryptographic tasks in a WO96/12362 2 2 0 0 5 9 2 PcT~n9S/00350 cryptographic system: digital signing, identification, and encryption. The intended purpose of a certificate is to certify that the tasks of digital signing, proving knowledge of a secret key that corresponds to a public key, and decrypting a message that is encrypted with a public key, are performed using a secret key the usage of which has been permitted by the Certification Authority. In other words, it is the secret key that must be certified, not necessarily the public key.
Informally, a secret-key certificate is a digital signature of the Certification Authority on a secret key, such that it is not a digital signature on the public key that matches the secret key. More precisely, triples consisting of a secret -~ key, a matching public key, and a corresponding secret-key certificate can be feasibly generated only by the Certification Authority, but pairs consisting of a public key and a corresponding secret-key certificate can be feasibly generated by anyone.
In a public-key directory, parties are listed together with their public keys and corresponding certificates. If the certificates are secret-key certificates, then the information = in the directory does not reveal discriminating information about legitimate participation, as each of the entries could have been generated by anyone (if the directory is, or has been at a certain point in time, open for public writing). If additional information is included as well, such as telephone numbers, postal address, and access rights, then this may be bogus information as well. To ensure that users will be unable to tell whether entries in a public-key directory have been certified by the Certification Authority or not, the - manufacturer of a public-key directory on, say, a CD-ROM, can gather the entries in the Directory by letting the parties associated with the public keys submit their own public keys and associated secret-key certificates, as they wish them to appear on the CD-ROM.
For the same reason, the information listed in the directory cannot be of much help in attacking the signature scheme of the Certification Authority. In particular, it can be of no WO96112362 2 2 0 0 ~ ~ 2 PCT~L95/003S0 help whatsoever if pairs consisting of a public key and a corresponding secret-key certificate can be generated, without cooperation of the Certification Authority, with a probability distribution that is indistinguishable from the probability s distribution that applies when the certificate issuing protocol is performed with the Certification Authority.
An attacker whose keys have not been certified by the KAC
would need to know the secret keys of legitimate participants in the system in order to have any advantage in breaking the o signature scheme of the Certification Authority over trying to break it from scratch. Revealing one's secret key brings along a great deal of trust in that it will not be misused, and so in practice the consequence of using secret-key -= certificates instead of public-key certificates is that attacks to break the signature scheme of the KAC will be much harder to mount.
Secure public-key cryptographic schemes, such as schemes for the aforementioned tasks of proving knowledge of a secret key corresponding to a public key, signing a message with a secret key corresponding to a public key, and decrypting a message encrypted with a public key, are feasible to perform only if one actually knows the secret key corresponding to the public key. Hence, the fact that a user can successfully perform such a task attests to the fact that he knows the secret key correspo~; ng to his public key, and this in turn proves that the certificate must have been issued by the Certification Authority.
The following illustrations are helpful to appreciate the use of secret-key certificates:
1. Suppose that a first party wants to transfer an encrypted message to a second party. From the public-key directory, the first party retrieves the public key of the second party, and a corresponding secret-key certificate, which supposedly has been issued by the Certification Authority. The first party encrypts its message using the public key of the second party, and transfers it to the second party. Although the first party does not know whether the information listed in the public-key directory is genuine or WOg6/l~K2 2 2 0 0 5 9 2 pcT~nwsloo3so ._ not, it is ensured that if the second party can decrypt and retrieve the original message, then the Certification Authority computed the string listed in the public-key directory. Obviously, a proper response of the second party to the first party will allow the first party to distinguish between the two cases.
2. Suppose that the second party digitally signs a message for the first party. Given the message, the digital signature of the second party, and the information listed with the second party in the public-key directory, the first party is able to verify not only that the digital signature is genuine, but it is also ensured that it was indeed made with a certified key. Of course, if this signature is to have any legal significance, then anyone should be able to verify these two facts.
3. Suppose that the second party wishes to obtain a secret-key certificate, issued by the first party. To this end, the first party issues, by applying its secret key, a secret-key certificate on a public key of the second party.
Not only can the second party verify the validity of the secret-key certificate issued by the first party, by using the A public key of the first party, but, if the verification holds, it also is ensured that the secret-key certificate on the public key of the first party has been issued by the Certification Authority. In general, recursive application of secret-key certificates allows hierarchical certification trees to be formed that offer the same security as hierarchical certification trees formed from public-key certificates.

An example of a secret-key certificate and a corresponding - issuing protocol will now be described. As is common in the art, for any integer, 1, the symbol Zl denotes the set of integers {0,...,l- 1}, for which addition and multiplication are defined modulo 1. Let Gq denote a group of prime order, q, for which no feasible algorithms are known to compute discrete logarithms, and let ~ be a one-way hash-function that maps its arguments to Z2t ~ where t is an appropriately large security parameter. The secret key of the Certification Authority is a WO9611~62 2 2 0 0 5 9 2 PcT~n9S/003SO

number ~0 in Zg, and the corresponding public key is (g,ho), where ho denotes 9~~, and both g and ho are in Gq. The parties whose keys are to be certified use the same key set-up as the Certification Authority: the secret key of a party U is a number ~ in Zq, and the corresponding public key is h = 9~. A
secret-key certificate on h is a pair (c,r), where c is in Z2t and r is in Gq, such that c is equal to X(h, gr(hOh)~C~ I) . Here, I
is an, optionally included, string consisting of additional information about the party associated with the public key.
As will be clear to those of ordinary skill in the art, the certificate of the Certification Authority in effect is a Schnorr signature (see; Schnorr, C., "Efficient Signature Generation by Smart Cards," Journal of Cryptology, Vol. 4, No. 3, (1991), pp. 161-174) on g~, made with secret key ~0+~modq. Anyone can feasibly generate pairs h, (c, r) such that the verification relation holds, by taking h equal to ho 19J for an arbitrary s in Zq, and a equal to g' for an arbitrary t in Zq; the pair (c, sc + tmodq), with c= X(h, a, I), then matches h .
However, the ability to feasibly generate such pairs together with the secret key logg h would enable one to forge Schnorr signatures.
To issue a secret-key certificate, the Certification Authority can proceed as follows. It generates at random a number ~ in Zq, and computes a = 9~. It then computes c=X(h,a,I) and r=c(~0+~)+ ~ modq, and transfers (c,r) to U. As will be demonstrated in the detailed description, the issuing protocol can be modified such that the need for the Certification Authority to know the secret key of U can be prevented. Moreover, a variety of blinding capabilities for U
can be incorporated into the issuing protocol.
In sum, the present invention describes certificate techniques based on public-key cryptography, that solve -problems related to the well-known cryptographic technique of public-key certificates.
DE~aTT.~n nR,Srp,~ OF ~HE ~Nv~.... lON
While it is believed that the notation of FIGS. 2 to 12 would be clear to those of ordinary skill in the art, it is WO96/1~62 2 2 0 0 5 ~ 2 PcT~n9S/003SO

first reviewed here for definiteness.
A variety of secret-key certificate issuing protocols is described by flowcharts. The actions performed by the parties participating in these protocols are grouped together into flowchart boxes. The party performing the actions described in a flowchart box is indicated by the column that the box is in. The columns are labeled by a symbol denoting ~he type of party. The term "party" is used to indicate an entity that might sometimes be regarded as an agent who performs a step or o a collection of steps in a protocol. It might also be regarded as a means for performing those steps, and might be comprised of any suitable configuration of digital logic circuitry. For example, any box or collection of boxes from the figures could be realized by hard-wired and dedicated combinatorial logic, or by some sort of suitably programmed machine, a microprocessor for instance, such as are well-known in the art, just as long as it is able to perform the storage, input/output and transformational steps (possibly apart from the random source functions) described by the corresponding box or boxes.
As is common in the art, for any integer, l, the symbol Z
denotes the set of numbers {0,...,l- 1}. Addition and multiplication of elements in Zl are defined modulo 1. The symbol Zl denotes the set of numbers in {0,...,l- l} that are co-prime to 1. Multiplication of elements in Z~ is defined modulo 1. As is well-known in the art, Z~ is called a ring of integers modulo 1, and Zl is called a multiplicative group of integers modulo 1.
The symbol "~ " denotes assignment, m~n;ng that the variable or symbol on its left-hand side is assigned the value - on its right-hand side to. The assignments do not necessarily imply that storage space must actually be reserved; they may indicate intermediate values manipulated in volatile memory.
Another operation is a test for equality, indicated by the - symbol. As is common in the art, the protocol halts in case the equality does not hold.
The symbol ~ indicates that the number, or each of the numbers, on its left-hand side is chosen from the set on its WO96/12362 2 2 0 0 5 9 2 PcT~n9S/003SO

right-hand side according to a uniform probability distribution, and independent of anything else. In practice, pseudo-random techniques may be used, and the deviation from the uniform distribution may be significant without resulting s in an appreciable loss in security andtor privacy. Such techniques are well-known in the art.
Another action is denoted by the word "Send," followed by a colon and one or more numbers. This indicates that these numbers are sent by the party performing the actions described in the box to the other party participating in the protocol.
The directed connections between the boxes indicate the order in which the actions that are grouped in the boxes are performed.
Apparatus for Secret-Key Certificates Systems.
A precise description of the apparatus for a secure secret-key certificate system will now be given. The apparatus comprises the following five means:
l. First key generation means that, on being given as input at least a security parameter, outputs a secret key and a matching public key, to be used by the Certification Authority for certifying keys of parties that wish to participate in the cryptographic system.
As will be clear to those of o rdinary skill in the art, the binary length of the output is polynomially (preferably 2s linearly) related to the security parameter.
The first key generation means is of a probabilistic nature, meAn;ng that the key pair is generated in a substantially random manner. Preferably, the rAn~om;zation process is based on the output of some physical source of randomness, possibly combined with the output of a cryptographically strong pseudo-random number generator by taking, for instance, the bitwise exclusive-or of the two outputs.
2. Second key generation means that, on being given as input at least a security parameter, outputs a key pair consisting of a secret key and a matching public key, to be used by a party that wishes to participate in the cryptographic system.

WO9611~62 22 0 0 5 ~ 2 PcT~ngS/003SO
-As with the first key generation means, the output is the result of a suitable randomization process. The means may be operated by the party itself, by the Certification Authority, or by the both of them. The first and second key generation means may, but need not, be identical.
3. Certificate verification means that, on being given as input the public key of the Certification Authority and a pair consisting of a public key and a presumed secret-key certificate, outputs a response that is to be interpreted as "yes" or "no."
Usually, the verification relation will be deterministic, but this need not be the case; the certificate verification means may be of probabilistic nature, performing a great many random trials in order to decide whether the presumed certificate is a secret-key certificate on the public key.
The certificate verification means outputs "yes" if and only if the presumed certificate is a secret-key certificate on the public key. In other words, the certificate verification means defines what a secret-key certificate on a public key is.
4. Certificate issuing means that, on being given as input the secret key of the Certification Authority and a pair consisting of a secret key and a matching public key of a party that requires a certificate, outputs a digital signature on the secret key, such that the certificate verification means, on being given as input the public key of the Certification Authority and a pair consisting of the public key and the issued digital signature, outputs "yes" (and so the output of the certificate issuing means is a secret-key certificate on the public key).
- The certificate issuing means may, but need not, be of a probabilistic nature.
Obviously, it will usually suffice to take only the secret - key of the Certification Authority and the secret key of the party as input, since the public key can usually be computed from the secret key.
As will be appreciated, the certificate issuing means can be such that the party, whose keys are to be certified, can keep WO96/1~K2 2 2 0 ~ 5 9 2 PCT~n9S/00350 secret from the Certification Authority its secret key. In that case, the certificate issuing means itself comprises means controlled by the party, means controlled by the Certification Authority, and suitable interface means for allowing communication therebetween. The means controlled by the party takes as input the secret key of the party (and possibly also the public key of the party), and the means controlled by the Certification Authority takes as input the secret key of the Certification Authority (and possibly also the public key of the party). The final output is the result of processing by the means controlled by the party and the means controlled by the Certification Authority, where appropriate intermediate results may be comml~nicated through the interface means. The precise actions to be performed by the means that the certificate issuing means comprises, must be described by a cryptographic protocol, henceforth called a secret-key certificate issuing protocol.
Yet another variation is that the Certification Authority can compute the secret keys corresponding to any public key of a party that requires a secret-key certificate, because it knows additional trap-door information.
These and other variations will be appreciated by studying the exemplary embodiments. For example, the certificate issuing process may be blinded by the means controlled by the party, according to a variety of criteria that will be described in the text.
5. Certificate simulating means that, on being given as input the public key of the Certification Authority, outputs a pair consisting of a public key and a matching certificate.
The public key that is output is such that it could have been output by the second key generation means (as part of the pair that it outputs). "Matching" indicates that the certificate verification means, on being given as input the public key of the Certification Authority and the output of the certificate simulating means, outputs "yes." The certificate simulating means is of a probabilistic nature, and the probability distribution of its output should be substantially indistinguishable from the probability WO96/12362 2 2 0 0 5 9 2 PCT~n9S/00350 distribution that applies when the public key is generated by the second key generation means and the certificate is generated by the certificate issuing means.
As will be clear to those of ordinary skill in the art, s ~substantially" indistinguishable may mean "computationally,"
~statistically, n or "perfectly~ indistinguishable, each of which has a precise mathematical meAn;ng that is well-known in the art. Obviously, the indistinguishability property need not be this strong for practical purposes. For instance, if 0 the set of possible outputs produced by the certificate simulating means on being given a certain input is sufficiently large, it might still be infeasible in practice to distinguish between simulated pairs and "genuine" pairs consisting of a public key and a matching secret-key lS certificate.
In applications in which parties wish to generate pairs consisting of a public key and a corresponding secret-key certificate, without cooperation of the Certification Authority, the certificate simulating means must obviously be constructed. However, as will be illustrated later on, the certificate simulating means need not always build.
Each of the described five means can be realized by hard-wired and dedicated combinatorial logic, or by some sort of suitably programmed machine, a microprocessor for instance, 2s such as are well-known in the art.
A secret-key certificate on a public key, as issued by the certificate issuing means, is in effect a digital signature on the secret keys corresponding to the public key. Hence it is unfeasible for parties other than the Certification Authority to generate, without involvement of the Certification Authority, new triples consisting of a secret key, a matching public key (meAn;ng that the pair could have been generated by the second key generation means), and a corresponding - secret-key certificate (meAning that the certificate 3s verification means would output "yes" when being given as input the public key of the Certification Authority, and the public key and the certificate).
It is stressed that the secret-key certificate is said to be WO96/1~62 2 2 0 0 5 ~ 2 PcT~n9S/~350 a secret-key certificate on the public key, not on the secret key: both the certificate issuing means and the certificate simulating means can output pairs consisting of a public key and a secret-key certificate on the public key. This ~ph~izes that there is a publicly verifiable relation between the public key and the secret-key certificate.
Turning now to FIG. 1, an exemplary description of the interconnection and cooperation of the constituent parts described above will now be presented. All the lines in FIG.
o 1 imply the transfer of messages. These may be held initially or delayed on their way, encoded and decoded cryptographically or otherwise to provide their authenticity and/or secrecy and/or error detection and/or error recovery. Thus the particular means or methods whereby messages are transferred are not essential to the present invention, and it is anticipated that any technique may be employed in this regard.
The lines may for example be taken to represent co~ml~n;cation means, in which case they might be realized in a variety of exemplary ways including conductive paths, fibre optic links, infra-red transmission, or paths through a packet switched network; also suitable drivers, modems, or other appropriate interfaces may be required at the ends of such lines, as are well-known in the art. Alternatively, the lines may be taken -- to stand for a message transfer step.
First key generation means 113 transforms a security - parameter on line 102 to a key pair for the Certification Authority. The key pair consists of a public key, output on line 106, and a secret key, output on line 105. The transformation of key generation means 113 depends on, amongst others, random number generator 119.
Second key generation means 112 transforms a security parameter on line 101 to a public key, output on line 103, and a secret key, output on line 104. The transformation of key generation means 112 from the security parameter on line 101 to the keys on lines 103 and 104 depends on, amongst others, random number generator 118. The outputs of the key generation means will be certified by certificate issuing means 114, as detailed next.

WO96/1~K2 2-2 0 0 5 9 2 PcT~n9S/003SO

Certificate issuing means 114 takes three inputs, on lines 103, 104, and 105. The input on line 103 is the public key output by key generation means 112, and the input on line 104 is the secret key output by key generation means 112. The input on line 105 is the secret key of the Certification Authority output by key generation means 113. Certificate issuing means 114 transforms these three inputs to a secret-key certificate on the public key of line 103. This secret-key certificate is a digital signature on the secret o key of line 104, and is output on line 107. Not displayed is an optional random generator in certificate issuing means 114, although the preferred embodiments that are described in detail use rAn~omness in the certificate issuing means.
~~~ The certificate, output on line 107, is fed into certificate verification means 116, together with the public key that was output by key generation means 112 on line 103. The public key of the Certification Authority on line 106 is also fed into certificate verification means 116. The certificate verification means outputs a binary value on line 110, which is to be interpreted as a verdict about the correctness of the inputs on lines 103 and 107. In the block diagram, the input on line 107 to certificate verification means 116 is the output of certificate issuing means 114, and the input on line 103 is the same as the input to certificate issuing means 114.
Hence, the verdict on line 110 will in this case be affirmative ("yes"). Not displayed is an optional random generator in certificate verification means 116. The preferred embodiments that are described in detail do not use rAn~omness in the certificate verification means. It is conceivable that for certain applications it may be necessary to incorporate rAn~omness in the certificate verification means.
The public key of the Certification Authority on line 106 is fed into certificate simulating means 115. Depending on, amongst other, random number generator 120, the certificate simulating means 115 transforms the input on line 106 to a public key on line 109, and a secret key certificate on this public key on line 108. When the two outputs of certificate WOg6/l~K2 2 2 0 0 5 9 2 PcT~n9S/00350 simulating means 115, and the public key of the Certification Authority on line 106, are fed into certificate verification means 117, a binary value is output on line 111. This output is a verdict about the correctness of the inputs on lines 109 and 108, and will in the displayed situation be affirmative ("yesn). Certificate verification means 117 is the same as means 116, as are all its input and output lines, and has been drawn twice only to Pmph~cize that the certificate verification means cannot distinguish between a secret-key o certificate output by certificate issuing means 114, and a secret-key certificate that is output by certificate simulation means 115.
A variety of exemplary secret-key certificate systems for ~ each of two preferred embodiments will now be provided. The Certification Authority will henceforth be denoted by CA, and a party in the system by U (for "user"). In both preferred embodiments, the various secret-key certificates that will be described are constructed from a class of signature schemes that is well-known in the art, henceforth referred to as Fiat/Shamir type signatures, by applying an inventive general construction technique. (Fiat/Shamir type signature schemes are signature schemes that are derived from secure three-transmission identification schemes of the challenge-responses type, by taking the challenge as a one-way hash of at least the message and information provided by the prover in the first transmission. See, Fiat, A. and Shamir, A., "How to prove yourself: practical solutions to identification and signature problems," Crypto '86, Springer-Verlag (19B7), pp. 186-~94. References to Fiat/Shamir type signature schemes that are well-known in the - art are provided at in the detailed description.) This inventive technique will now be described, and will henceforth be referred to as the "general construction technique."
General Construction Technique.
A triple consisting of a secret key of U, a matching public key of U, and a secret-key certificate on the public key of U, is characterized by (1) the signature scheme that is used by WO g6/1~62 2 2 0 0 S 9 2 PCT~n9S/003S0 the CA and (2) the type of key pair of U that is certified.
Denoting the public key of U by h, and that of the CA by ho, a secret-certificate on h, when constructed by applying the general construction technique to a Fiat/Shamir type signature scheme, is in effect a signature of this underlying Fiat/ShAm; r type on the message h, made with a secret key that corresponds, under the signature scheme used by the CA, to public key hoh.
The general certificate simulation technique for the 0 resulting secret-key certificates consist of generating h as ho-1h'o, such that one knows a se~ret key that corresponds to h'o under the signature scheme used by the CA. This enables one to generate pairs consisting of a public-key and a secret-key certificate on the public key, without cooperation of the CA.
As will be appreciated, the examples illustrate techniques and concepts of the present invention, but they are only intended to be suggestive and not limiting in any way. For example, other construction techniques than the one described in the preceding paragraphs, or variations thereof, may be used as well. An example of this will be provided at the end of the first preferred embodiment.
FIRST PREFERRED EMBODIMENT
In the first preferred embodiment computations are performed in a (multiplicatively written) group of prime order q, for which efficient algorithms are known to multiply, determine equality of elements, test membership, and to randomly select elements. This group will henceforth be denoted by Gq. No feasible methods should be known to compute discrete logarithms in Gq. Various types of such groups are known.
For example, one can take the unique subgroup of order q of Zp, where p is a prime number such that q is a divisor of p- 1.
Another example is an elliptic curve over a finite field. For this reason, no explicit choice for Gq is made in the descriptions.
An expression such as 9~ should be understood to be a computation in Gq. In case computations modulo q are performed, (as, for example, in To = C(~o + ~) + ~o mod q), the WO96/1~62 2 2 0 0 5 ~ 2 PCT~ns5/00350 modulo operator will be denoted explicitly. In case an element is chosen from a group, it is implicitly assumed that it is the smallest positive representative. The same holds for outcomes of computations.
1. First Exemplary Secret-Key Certificate.
A first exemplary secret-key certificate in the first preferred embodiment, constructed by applying the general construction technique to the Schnorr signature scheme (See, Schnorr, C,, "Efficient Signature Generation by Smart Cards,"
o Journal of Cryptology, Vol. 4, ~o. 3 (1991), pp. 161-174), will now be described in detail.
Key generation means of the KAC: The secret key of the CA is a number ~0 in Zq, and the corresponding public key is (g,ho) in Gq x Gq, where g is a generator of Gq and ho denotes gZ~.
Preferably, ~0 is chosen uniformly at random in Zq, and g is chosen uniformly at random in Gq \ {1} .
The pair (g,ho) and the description of Gq are made publicly known by the CA. The CA also makes publicly known a hash-function X, which maps its arguments to, say, Z2'~ for some appropriate security parameter t (as will be clear to those of ordinary skill in the art, instead of Z2t, any Zl for sufficiently large I can be chosen---this choice is merely for concreteness). This function should meet the requirements that are believed to make the Schnorr signature scheme secure.
Preferably, X is collision-free: this means that it is unfeasible to compute two distinct arguments that are mapped by X to the same outcome. Functions that are believed to be collision-free are well-known to those of ordinary skill in the art.
Certificate verification means: A secret-key certificate on a public key h in Gq of U is a pair (c,r) in Z2t X Zq such that c is equal to X(h, gr(hOh)-C, I) . Here, I is a string containing the name of U,~and possibly additional information such as address, employer, electronic mail, and a list of access rights. The incorporation of I in the hash-value is not strictly necessary, but may be required in practice.
The secret-key certificate can alternatively be taken to be WO96/1~62 2 2 0 0 5 q 2 PCT~n951003S0 a pair (a,r) in Gqx Zq. In that case, the pair is a secret-key certificate on h if gr(h0h)~C is equal to a, where c is computed ~ as ~(h, a, I) .
As will be clear to those of ordinary skill in the art, the secret-key certificate has been constructed from the Schnorr identification scheme by applying the general construction technique: the certificate is in effect a Schnor~ signature on h made with secret key logg(h0h), corresponding to the public key hoh.
Key generation means of U: In addition to the signature scheme employed by the CA, the type of key pair of U must be specified in order to define the secret-key certificate. In a general form, the secret key of U can be taken to be a tuple ), such that each ~i is in Zq, and h is equal to ~k=l g~i .
Here, 91,....9~ are r~n~omly chosen generators of Gq (they need not all be different from 9), that are published by the CA in addition to 9, ho~ and the descriptions of Gq and ~.
For each 9i (l <~< k), the CA should preferably know loggg (in order to be able to conduct the issuing protocol).
Hereto, the CA may generate 91....,9~ as follows: it generates at random Yl-----Y~ in Zq, and sets 9i equal to gYi~ (The CA can take one of the numbers 9i equal to 9; as will be demonstrated by the flowchart of FIG. 6, such a choice allows restrictive bl;n~; ng of the issuing protocol. As will be obvious to those of ordinary skill in the art, instead of taking one of the gi's equal to 9, the same effect is obtained by taking this 9i equal to a publicly known power of 9.) Observe that the secret key that corresponds to the public key hoh, in the signature scheme employed by the CA, is the number logg(h0h), which is equal to ~o+ ~ik_1yi~imod qi if the described generation process - for 9l.... 9~ is used, then the CA can compute this number.
In practice, one may want to use a simpler form of key pair.
The simplest form is one in which the secret key of U is a number ~ in Gq~ and the public key h is equal to 9~ (that is, there is only one 9i, and it has been taken equal to 9). This enables U to perform such cryptographic tasks as computing Schnorr signatures and proving knowledge of his secret key (three detailed examples will be provided below). Another WO96/1~62 PcT~nssloo3so 220~5~2 simple form is one in which the secret key of U is a pair ~ 2), such that h is equal to 9ll922. Here, as mentioned, one of Y1 or 92 may be taken equal to 9 (or both, but then there is no advantage in this form over the more efficient form where h is equal to 9~). This form also enables U to perform cryptographic tasks such as computing signatures and proving knowledge of his secret key. As will be demonstrated in the flowchart of FIG. 6, this second form is of particular importance for the construction of restrictive blind signature lo protocols, in that for such a protocol it is required that 9 is taken equal to g (or a publicly known power of 9), and U
should not be able to compute logg 92 or l~gho 92 -Certificate simulating means: Anyone can feasibly generatepairs h, (c,r) such that the verification relation holds, by taking h equal to ho-1g~ for an arbitrary s in Zq, and a equal to gt for an arbitrary t in Zg; the pair (c, sc + tmodq), with c equal to ~(h,a,I), then is a secret-key certificate on h .
However, the ability to feasibly generate such pairs together with a secret key, that corresponds to the public key h according to one of the key generation schemes for U described in the preceding three paragraphs, enables one to forge Schnorr signatures.
A complete secret-key certificate system also requires the description of a certificate issuing protocol, in addition to the description of the secret key certificate itself. A
variety of exemplary protocols for issuing the described secret-key certificate can be constructed. Each such certificate issuing protocol can be characterized by the degree by which U, to whom the certificate is issued by the CA, can "r~n~o~;ze" and "blind~ the secret key, the public - key, and the secret-key certificate. Before providing exemplary embodiments for various certificate issuing protocols, though, a few examples are provided that will help those of ordinary skill in the art to appreciate how the described secret-key certificate may be used in practice.
1.1. Examples for the first exemplary secret-key certificate.
Without loss of generality,-it will be assumed in the examples WO96/1~62 2 2 0 0 5 9 2 PCT~n9S/00350 -that a public-key directory is used. (Alternatively, the public keys and secret-key certificates on the public keys may be sent on request.) The entries in the public-key directory will be of the following form:
User (Public key, Certificate) Il hl, (Cl~ rl) I2 h2, (C2~2) Ik hlc, (clC, rk) By virtue of the simulatability of secret-key certificates, any one of the entries could have been generated without cooperation of the CA.
As will be clear to those of ordinary skill in the art, the lo numbers Ii in the entries of the public-key directory need not refer to the identity of the party associated with the entry:
instead, they may refer to a pseudonym of the party, and the party may have a plurality of such pseudonyms.
For simplicity, in each of the examples it will be assumed that the key pair of U is of the simplest form, the secret key is a number ~ in Zq~ and the corresponding public key h is equal to 9~. As will be clear to those of ordinary skill in the art, similar examples can be provided when U uses a different type of key pair. In particular, many techniques and examples in which the more general form of key pair for U
is used, are described and claimed in patent application Ser.
No. PCT/NL94/00179.
Example 1: Suppose that user Ul wants to transfer an encrypted message m in Gq to U2 (by electronic facsimile, electronic mail, or any other suitable medium). The encryption scheme which is used is the ElGamal scheme (See, ElGamal, T., "A public key cryptosystem and a signature scheme based on discrete logarithms," IEEE Transactions on Information Theory, Vol. IT-31, No. 4, July 1985, pp.
469--472) in the group Gq . From the public-key directory, U1 retrieves the public key h2 of U2, and the string (c2,T2). If c2 is equal to X(h2~9r2(hoh2)-C2~I2), then U1 can safeiy transfer the encrypted message to U2. Hereto, he generates at random a WO96/1~62 PCT~n95/003S0 2200~2 number s in Zg, and transfers the pair (9J~ hJ2m) to U2. If U2 can decrypt and retrieve m, then he must know log9h2 (as will be clear to those of ordinary skill in the art, this holds under the Diffie-Hellman key exchange assumption in Gq~ and s for rAn~o~1y chosen m). This in turn implies that he could not have generated (h2, (c2, r2)) by himself. In other words, U1 can rest assured that U2 can recover m if and only if the key pair of U2 has been certified by the CA. Of course, in practice bidi~ectional comm~ln;cation between Ul and U2 will lo readily reveal to both parties whether the keys of the other party have been certified by the CA.
Example 2: Suppose that U2 digitally signs a message m for U1, using the Schnorr signature scheme talternatively, the ElGamal signature scheme can be used). U. receives from U2 a pair (c,~) such that c is equal to X(m,g'h2C). If the public key h2 of U2 is listed in the public-key directory together with a pair (c2,r2) for which c2 is equal to X(h2, g'2(hoh2)-C2, I2) ~ then the fact that U2 can compute this signature also informs Ul that the key pair of U2 has been certified by the CA (unless the Schnorr signature scheme can be broken, but in_that case the signature scheme of the users itself is also insecure). As will be appreciated, this fact can be verified by anyone and so has legal significance, as it is unfeasible to forge a triple consisting of (1) a pair consisting of a public key and a secret-key certificate on the public key, (2) a message, and (3) a digital signature on the message made with the secret key corresponding to the forged certified public key.
Example 3: Suppose that U2 wants to prove to U1 that his entry in the public-key directory has been certified by the CA, without leaving Ul with a transcript of the proof that can - be used to transfer the conviction to others. U2 hereto proves knowledge of the secret key loggh2 to Ul in a zero-knowledge protocol, which can be done, for example, as follows. U2 trans~fers a number a in Gq to Ul, where a is equal to 9~ for a rAn~omly chosen ~ in Zq. U1 responds with challenge c rAn~omly chosen from a predetermined small range, say {0,1}, and transfers it to U2. U2 must respond with cloggh2+ ~ modg, denoted by r for further reference. The WO9611~K2 2 2 0 0 5 9 2 PCT~n9S/003~

' 27 correctness of the response can be verified by Ul by verifying whether grh2C is egual to a . This three-move interaction is repeated a substantial number of times, and if U2 can always respond correctly then he must know loggh2, thereby proving that the entry in the directory has been certified by the CA .
As is well-known in the art, this is a zero-knowledge protocol. The conviction of Ul cannot be transfer-ed:
transcripts of executions of this protocol are feasible to generate together with entries in the public-key directory, O with indistinguishable probability distribution.
l.2. First exemplary certificate issuing protocol.
Certificate issuing means: Various certificate issuing protocols for issuing the described secret-key certificate will now be described. As before, for explicitness it will be assumed in each of these protocols that the key pair of U is of the simplest form; the secret key of U is a number x in Zq, and the corresponding public key h is equal to 9~. Those of ordinary skill are believed to be able to straightforwardly apply the inventive techniques to suit the other types of key pairs for U, described previously.
Recall that the secret-key certificate that will be issued to U by the CA is a pair (C,T) in Z2~ X Zq such that c is equal -~- to X(h, gr(hOh)~C~ I), where h is the public key of U.
Turning now to FIG. 2, a flowchart of a first secret-key ~- 25 certificate issuing protocol in the first preferred embodiment will now be described in detail.
Box 21 first shows the CA generating a secret key x in Zq for use by U. As indicated in the second line, the corresponding public key h of U is taken equal to 9~. It will be clear to those of ordinary skill in the art that x may alternatively be generated by U and then comml1n;cated to the CA, or U and the CA can generate it together, for example in such a manner that x is mutually random.
Box 22 first shows the CA generating at random a number in Zq. The second line shows the CA computing g~, which is denoted by a for further reference. The third and fourth lines show the CA computing X(h, a, I), which is denoted by c, WO96/1~62 22~ 0 ~ 9 2 PCT~n9S/003S0 and c(~0+~)+ ~ modq, which is denoted by r. The CA then transfers the secret key ~ and the pair (c,r) to U, as described by the fifth line.
Box 23 first shows U computing his public key h, by setting it equal to 9~. The second line indicates that U verifies if c is equal to the hash-value of the triple (h, g'(hoh)-C, I) .
Clearly, if the equality holds then the pair (c,r) is a secret-key certificate on the public key h of U, such that U
knows the secret key corresponding to h.
l.3. Second exemplary certificate issuing protocol.
In the certificate issuing protocol of FIG. 2, the CA must know the secret key of U.
Turning now to FIG. 3, a flowchart of a secret-key issuing protocol that hides the secret key of U from the CA, in the first preferred embodiment, will now be described in detail.
Box 31 first shows U generating at random a number ~ in Zq;
this will be his secret key. The second line shows U
computing the corresponding public key h by setting it equal to 9~. U then transfers h to the CA, as indicated by the third line.
Box 32 first shows the CA generating at random a number in Zq. The second line shows the CA computing gw, which is - denoted by a for further reference. The third and fourth lines show the CA computing ~(h, a, I), which is denoted by c, and c~0+ ~ modq, which is denoted by rO. The fifth line indicates that the CA transfers the pair (c,rO) to U.
Box 33 first shows U ~-erifying whether c is equal to the hash-value of the triple (h~gr~hOC,1). As described by the second line, if this is the case then U computes rO+c~modq, which is denoted by r.
As can easily be verified by those of ordinary skill in the art, the pair (c,r) is a secret-key certificate on the public key h, such that U knows the secret key corresponding to h.
In this exemplary protocol, the secret key ~ can be freely chosen by U. It will be clear to those of ordinary skill in the art that the CA can r~n~omize the secret key of U, for instance by using hg~ instead of h in Box 32. Here, ~' is WO96/1~62 22 0 0 5 9 2 PCT~n95/003S0 randomly chosen by the CA from Zq~ and made known to U only after the CA has received h ( in addition, the CA can be requested to transfer a commit on x' to U before U reveals h).
In that case, the secret key of U is equal to x+x'mod q .
s 1.4. Third exemplary certificate issuing protocol.
Since there exist many secret-key certificates (c, T) on the same public key, the CA may choose a particular one and encode information in it that can be decrypted by insiders.
Turning now to FIG. 4, a flowchart of a secret-key issuing protocol that hides the secret key from the CA and prevents the subl;m;n~l channel, in the first preferred embodiment, will now be described in detail.
Box 41 first shows the CA generating at random a number wO
in Zq~ The second line shows the CA computing gwO, which is lS denoted by aO for further reference. The third line indicates that the CA then transfers aO to U.
Box 42 first shows U generating at random a number x in Zq;
this will be his secret key. The second line shows U
computing the correspo~;ng pùblic key h by setting it equal to gI~ The third line shows U generating at random a number w in Zq, and the fourth line shows U computing gw, which is denoted by a. Finally, as described in the fifth line, U
transfers the pair (h, a) to the CA.
Box 43 first shows the CA computing ~(h, aOa, I), which is denoted by c for further reference. The second line shows the CA computing cxO+ ~Omodq, which is denoted by rO. AS described by the third line, the CA then transfers rO to U.
Box 44 first shows U computing c as did the CA in the first line of Box 43. The second line indicates that U verifies whether aaO is equal to g'~ho-C. As the third line displays, if _this is the case then U computes rO+cx+ w mod q, which is denoted by r.
As can easily be verified by those of ordinary skill in the art, the pair (c,r) is a r~n~om;zed secret-key certificate on 3s the public key h (me~n; ng that the CA could not have encoded any information in it), such that U knows the secret key corresponding to h.

WOg6/1~62 2 2 0 0 5 9 2 pcT~n95loo3so It will be obvious to those of ordinary skill that U in Box 42 could transfer w to the CA, instead of a. In Box 43 the CA
can then compute ~o+ ~o+ ~ modq itself, to which U now must add only ~ modulo q.
1.5. Fourth exemplary certificate issuing protocol.
In the issuing protocols described thus far, the C~ knows the public key of U. For ordinary public-key directory applications, this is usually by definition the case, since anyone in such applications should be able to associate the lo public key with U.
In cryptographic mechanisms for transfer of credentials, however, no public-key directories are used; the information representing a credential is only shown by the owner of the credential if he wants to demonstrate possession of his credential to a recipient. A commonly used mechanism is one in which a public key and a public-key certificate on the public key are transferred; the secret key of U corresponding to his public key enables U to do additional things such as sign the transfer, or prove possession of additional information (in on-line mechanisms U might do without needing to know a secret key, and the public key can be a message or a one-way hash thereof). The credential is issued by the CA, and the type of credential that is issued can for instance be denoted by the type of signature that the CA computes. The certificate of the CA proves the validity of the credential to the recipient, and a signature made by U with his secret key proves that U willingly transferred the credential to the recipient. If the transfer mechanism is to be privacy-protected, then the CA should not know what the public key and the certificate are, because these are revealed when transferred.
Turning now to FIG. 5, a flowchart of a fully blinded secret-key issuing protocol in the second preferred embodiment will now be described in detail.
Contrary to the flowcharts of the preceding figures the string I should obviously not be hashed along with h and a if it reveals identifying information about U, such as his name;

WO96/1~62 ~ 2 2 0 0 5 9 2 PCT~n95/00350 otherwise, there would be no point in blinding the certificate issuing protocol. Although the CA may require U to hash along a string I that, for instance, indicates another party that U
wishes to transfer the received information to, for convenience the string I will henceforth be omitted.
Box 51 first shows the CA generating at random a number ~0 in Zq. The second line shows the CA computing gwO, which is denoted by aO for further reference. AS described by the third line, the CA then transfers aO to U.
lo Box 52 first shows U generating at random a number x in Z~
this will be his secret key. The second line shows U
computing the corresponding public key h, by setting it equal to 9~. The third line shows U generating at random two numbers t,u in Zg. Using these random numbers, the fourth line shows how U blinds aO, by computing aOg~hUO; this number is denoted by a for further reference. The fifth line shows U
computing X(h,a), which is denoted by c, and blinding it, as described by the sixth line, to c+~modq; this number is denoted by cO for further reference. AS described by the seventh line, U then transfers cO to the CA.
Box 53 first shows the CA computing cO~0+ ~Omodg, which is - denoted by rO for further reference. As described by the second line, the CA then transfers rO to U.
Box 54 first shows U verifying whether gr~hOC~ is equal to aO.
As described by the second line, if this is the case then U
computes rO+cx+tmodq, which is denoted by r.
1.6. Fifth exemplary certificate issuing protocol.
The certificate issuing protocols that have been described thus far in effect demonstrate techniques to incorporate various degrees of randomization that can be applied by U.
A particularly valuable randomization is that in which U
can perfectly blind the public key and the secret-key certificate on the public key, such that the CA gets no information about the pair, but cannot fully blind the secret key corresponding to the public key; more specifically, the secret key of U is a vector of at least two numbers, and U
will not be able to blind a pre-determined non-constant WO96/1~62 2 2 0 0 5 9 2 PcT~n9~/003SO

function of the numbers in the vector. Such an issuing protocol is a restrictive blind signature protocol, as described and claimed in patent application Ser. No.
PCT/NL94/00179.
The benefit is of this technique is that, while U can show a credential (obtained by retrieving a secret key, a matching public key, and a secret-key certificate on the public key, by performing a restrictive blind signature protocol) without enabling traceability by the CA (because the public key and the certificate are fully blinded), appropriate showing protocols (which require U to perform additional actions with his secret key) can limit the scope of the actions that U can perform. In patent application Ser. No. PCT/NL94/00179, a wide variety of technigues for transferring credentials, obtained by performing a restrictive blind issuing protocol, are described and claimed.
Turning now to FIG. 6, a first flowchart of a restrictive blind secret-key certificate issuing protocol for the first preferred embodiment will now be described in detail. This protocol is also described and claimed in patent application Ser. No. PCT/NL94/00179, and, as will be appreciated, is included here (using the present notation) to clearly demonstrate that the protocol is a restrictive blind secret-key certificate issuing protocol.
The key pair of U must be different from that used until now, because the secret key must be a vector of at least two numbers. For concreteness, the following choice is made: the secret key of U is a pair (~,I) in ZqxZq such that 9~9/ is equal to h. Here, the CA has generated 9l by generating at random a (secret) number y in Zq~ and setting 9l equal to gY.
- As will be clear to those of ordinary skill in the art, this implies that it is unfeasible for parties other than the CA to compute 1~g9 91-The second number of this pair, I, will be encoded by the CA
into the secret key of U during the certificate issuingprotocol. Although U is unable to modify I, he will be able to generate ~ by himself uniformly at random in Zq~ Hence, in effect h is generated at random in Gq, independently from I.

WO 96/12362 2 2 0 0 5 9 2 PCI/NI~S/00350 As described before, the number I may be related to the identity of U, but can also contain unrelated information such as a credential specification.
Box 61 first shows the CA generating at random a number ~0 in Zg. The second line shows the CA computing 9~~, which is denoted by aO for further reference. As described by the third line, the CA then transfers aO to U.
Box 62 first shows U generating a number ~ in Zq; the pair (~,I) will be his secret key. The second line shows U
lo computing the corresponding public key h, by setting it equal to 9~9l. In addition, as displayed in the third line, U
generates two random numbers t,~ in Zq, which will serve to obtain blinded T and c. The fourth line shows U computing aOgt(hOgl)u, which is denoted by a for further reference. As S indicated in the fifth line, U then computes X(h, a), which is denoted by c. The sixth line specifies U computing c+umodq, which is denoted by cO. As described by the seventh line, U
then transfers cO to the CA .
Box 63 first shows the CA computing cO(~0+yI)+ ~Omodq, which is denoted by rO for further reference. As described by the second line, the CA then transfers rO to U.
Box 64 first shows U verifying whether gr~(hOgl)~c~ is equal to aO. As described by the second line, if this is the case then U computes rO+c~tmodq, which is denoted by T .
As can easily be verified by those of ordinary skill in the art, the pair (c,r) is a secret-key certificate on the public key h of U, such that U knows a secret key corresponding to h.
Although U has perfectly blinded h and (c,~), it is unfeasible for him to completely blind the secret key. That is, the secret key of U is a pair (~,I') such that 9~9~ is equal to h, and if (c,r) is to be a secret-key certificate on h then I' is equal modulo q to the number I that the CA in Box 63 encoded into its response T.
1.7. More than one receiving party.
As will be appreciated, the protocol displayed in FIG. 6 can also be used by t~e CA to issue the secret-key certificate to U and an additional party ~ that is substantially under WO96/1~62 2 2 0 ~ 5 9 2 PcT~ngS/003SO

control of the CA, such that: U will get to know the public key and the secret-key certificate on the public key; and the secret key corresponding to the public key is shared between U
and ~ in such a way that neither of U and ~ can determine it.
To this end, the CA initially makes I known to ~ but not to U:
the CA only informs U of 9/. The protocol displayed in FIG. 6 r~m~;n~ exactly the same, but now U in a succeedirg certificate showing protocol can only compute signatures, or prove knowledge of the secret key, when ~ cooperates: f 0 knows I, and U knows x, and the certified public key is equal to g~gI. As will be appreciated, ~ does not need to participate in the secret-key certificate issuing protocol due to the initial set-up in which the CA only makes I known to f.
In patent application Ser. No. PCT/NL94/00179, techniques are detailed and claimed for ~ and U to conduct a succeeding certificate showing protocol such that: I can be computed when ~ and U perform the showing protocol at least twice in response to different challenges; or I can never be computed, no matter how often U and ~ perform the showing protocol.
Other variations of the issuing protocol, for the case the certificate is issued to U and f in the manner described in the preceding paragraph, will be obvious to those of ordinary skill in the art. One such variation is that 9l is taken equal to g in FIG. 6 (and correspondingly y equals 1): in that case, f at the end of the issuing protocol knows I, and U
knows x, and the certified public key is equal to 9~+/. As will be appreciated, the resulting issuing protocol in effect is that described by FIG. 5, where the role of the CA is now played by the CA and ~ together. Instead of using secret key ~0, their secret key now is equal to ~0+Imodq.
2. Second Exemplary Secret-Key Certificate.
Each of the exemplary flowcharts that has been described thus far ~PmQ~-~trates a specific type of issuing protocol. The secret-key certificate that is issued is the same in all the flowcharts.
As described earlier, the general construction technique can be applied to any other signature scheme of the Fiat/Shamir WO96/12362 2 2 0 0 5 q 2 PCT/NL9S/00350 type as well. Although it is believed that the detailed descriptions provided thus far will enable those of ordinary skill in the art to straightforwardly apply the general construction technique to other Fiat/Shamir type signatures, s the general construction technique will now be applied to several other Fiat/Shamir type signatures for illustrative purposes. No issuing protocols will be described for these certificates, since it is believed to be an easy matter for those of ordinary skill in the art to apply the inventive 10 techniques of FIGS. 2 to 6 to suit the new certificates (except for one particular certificate, that does not seem to allow blinded issuing; this will be indicated in the description of that particular certificate).
A second exemplary secret-key certificate in the first 15 preferred embodiment, constructed by applying the general construction technique to the Okamoto signature scheme (See, Okamoto, T., Section 6.1. in n Provably Secure and Practical Identification Schemes and Corresponding Signature Schemes,"
Crypto '92, Lecture Notes in Computer Science 740, 20 Springer-Verlag (1993), pp. 31--53), will now b~e described.
Key generation means of the KAC: The secret key of the CA is a pair (~17~2) in Zq x Zq~ and the corresponding public key is (g1,g2.ho) in Gq x Gq, where 91 and 92 are generators of Gq, and ho denotes 91l922. Preferably, :~1 and ~2 are chosen uniformly at 2s random in Zq~ and 9l and 92 are chosen uniformly at random from Gq \ {1}.
The tuple (g17g2,ho) and the description of Gq are made publicly known by the CA. The CA also makes publicly known a hash-function X, which maps its arguments to, say, Z2t, for 30 some appropriate security parameter t. This function should meet the requirements that are believed to make the Okamoto signature scheme secure. Preferably, X is collision-free.
Certificate verification means: A secret-key certificate on a public key h in Gq of U is a triple (c,r1,r2) in Z2t x Zq x Zq 3s such that c is equal to X(h~g1lg22(hoh)-C~I).
Alternatively, the secret-key certificate can be taken to be a triple (a~Tl1r2) in Gq x Zq x Zg~ In that case, the triple is a secret-key certificate on h if g1lg22(hoh)-C is equal to a, where WO96tl~62 2 2 0 0 5 9 2 PCT~n9S/003S0 c is computed as X(h, a, I) .
The certificate is in effect an Okamoto signature on h made with a secret key that corresponds to the public key hoh.
Key generation means of U: The discussion of key pairs provided earlier with respect to the first secret-key certificate for the first preferred embodiment, applies here as well. (As will be clear to those of ordinary skill in the art, the symbols 91,92, ~17~2 chosen here for convenience, do not refer to the symbols in that discussion.) Certificate issuing means: Those of ordinary skill in the art are believed to be capable of straightforwardly applying the inventive techniques for (a) the issuing protocols of FIGS. 2 to 6, and (b) the inventive technique to issue the secret-key certificate to U and an additional party ~, to construct similar certificate issuing protocols for the present secret-key certificate.
3. Third Exemplary Secret-Key Certificate.

A third exemplary secret-key certificate in the first preferred embodiment, constructed by applying the general construction technique to the Brickell/McCurley signature scheme (See, Brickell, E. and McCurley, K., "An interactive identification scheme based on discrete logarithms and factoring," Journal of Cryptology, Vol. 5, no.
1 (1992), pp. 29-39), will now be described.
As is well-known in the art, the Brickell/McCurley technique can be applied to both the Schnorr and the Okamoto signature scheme. This technique consists ~f making sure that the order q of the group Gg remains unknowa to U; instead, computations that are performed modulo q in the Schnorr or Okamoto scheme are replaced by computations of a large multiple of q. To this end, it will be assumed in the description that G~ is the unique subgroup of order q of Zp, where, p is a prime such that q divides p- 1, and p- 1 also contains another prime factor of size comparable to the size of q ( such as to prevent efficient factorization of p- 1). Only the CA may know q, to speed up computations for its internal use. For explicitness, WO96/1~62 2 2 0 0 5 ~ 2 PCT~n95/00350 -the application to the Schnorr signature scheme will be assumed.
Key generation means of the KAC: This is the same as for the first secret-key certificate, only this time Gq is of the specific form described above, and q is not made publicly known. In case not even the CA knows q, ~0 is chosen at random from Zp_1.
Certificate verification means: A secret-key certificate on a public key h in Gg of U is a pair (C,T) in Z2t X Zp-l such that o c is equal to X(h, g~(hoh)~C, I) .
As with the first secret-key certificate, alternatively a pair (a,r) in Ggx Zp-1 can be taken to be the certificate.
Key generation means of U: The discussion of key pairs --- provided earlier with respect to the first secret-key certificate for the first preferred embodiment, applies here as well, with the difference that the secret key (or: each of the numbers in the secret key, for the general form) of U is chosen in Zp-1.
Certificate issuing means: Again, it is an easy matter to apply the inventive techniques for (a) the issuing protocols of FIGS. 2 to 6, and (b) the inventive technique to issue the ~ secret-key certificate to U and an additional party ~, to construct similar certificate issuing protocols for the present secret-key certificate. Hereto, all operations that are performed modulo q must be replaced by operations modulo p- 1 (if the CA knows q, it can of course still compute gw, for in Zp-1, by computing g~m~dQ).
4. Fourth Exemplary Secret-Key Certificate.
A fourth exemplary secret-key certificate in the first preferred embodiment, constructed by applying the general construction technique to the DSA (See, NIST, "Specifications for a digital signature stAn~Ard (DSS)," Federal Information Processing StAn~Ards Pub. (draft), Aug. 19, 1991), will now be described.
Key generation means of the KAC: The secret key of the CA is a number ~0 in Zq, and the corresponding public key is (g,ho) in Gq x Gq, where g is a generator of Gq and ho denotes glo.

WO96/1~K2 2 2 0 0 S ~ 2 PcT~n95/003SO

The pair (g7hO) and the description of GQ are made publicly known by the CA. The CA also makes publicly known a hash-function X, which maps its arguments to, say, Z2t, for some appropriate security parameter t. This function should meet the requirements that are believed to make the DSA
secure.
Certificate verification means: A secret-key certificate on a public key h in Gq of U is a pair (a,r) in Zq x Zq such that ((gcr (hoh)a' )modq) is equal to a, where c denotes X(h, I) .
Key generation means of U: The discussion of key pairs provided earlier with respect to the first secret-key certificate for the first preferred embodiment, applies here as well.
Certificate issuing means: Those of ordinary skill in the art are believed to be capable of straightforwardly modifying the issuing protocol of FIG. 2 to construct a similar certificate issuing protocol for the present secret-key certificate. It is important to note that for this particular realization, contrary to the other secret-key certificates systems described in this application, it is unclear how to construct issuing protocols similar to the issuing protocols of FIGS. 3 to 6.
5. Fifth Exemplary Secret-Key Certificate.
It will now be demonstrated that certain variations of the general construction technique can be used as well. A fifth exemplary secret-key certificate in the first preferred embodiment, constructed by applying a variation of the general construction technique to the Schnorr signature scheme, will now be described in detail.
Key generation means of the KAC: This is the same as in the description of the first secret-key certificate.
Certificate verification means: A secret-key certificate on a public key h in Gq of U will now be taken to be a pair (c,r) in Z2' X Zq such that c is equal to X(h,g'h-C,I).
The secret-key certificate can alternatively be taken to be a pair (a, r) in Gq x Zq such that grh-C is equal to a, where c is computed as X(h, a, I) .

WO96/1~62 2 2 0 0 5 ~ 2 PCT~n95/003 It seems that this secret-key certificate has not been constructed from the Schnorr identification scheme by applying the general construction technique: the public key ho seems to have "disappeared~ from the verification relation.
However, it now has to show up in the definition of the type of key pair used by U. In other words, merely a slight variation of the general construction technique has been applied.
Key generation means of U: In general, for the modified secret-key certificate to be secure, the public key of U must be defined as a product g11-- gk~ho~+1, where none of the rAn~omly chosen elements gi is equal to g (or a publicly known power thereof). As with the first secret-key certificate, 91~ 9k are r~n~mly chosen generators of Gg that are published by the CA in addition to 9, ho~ and the descriptions of Gq and ~.
In practice, one may want to use a simpler form of key pair.
The simplest form is one in which the secret key of U is a number ~ in GQ, and the public key h is equal to tho)~, and h may not be equal to l. Another simple form is one in which the secret key of U is a pair (~l,x2), such that h is equal to - g11ho'-To demonstrate that all the issuing techniques provided forthe first secret-key certificate in the first preferred embodiment can be straightforward applied to construct issuing protocols for the modified secret-key certificate, the most difficult to realize type of issuing protocol for the modified secret-key certificate will now be described.
Turning now to FIG. 7, a second flowchart of a restrictive blinded secret-key certificate issuing protocol for the first preferred embodiment will now be described in detail.
The secret key of U is a pair (~,I) in Zqx Z9, and the public ~key h is equal to g1h~o. As in the previous flowchart, the CA
has generated 9l by generating at random a (secret) number y in Zq, and setting g1 equal to gY. The bl; n~; ng that can be performed by U in the protocol differs from that in the preceding protocol, but the restrictivity property still holds: the number that the CA will encode into the secret key WO96/1~62 2 2 0 0 5 9 2 PCT~ngS/00350 (~,I) of U is equal to I/~modq.
AS in the preceding flowchart, at the start of the issuing protocol the CA decides on a number I in Zg that will be encoded into the secret key of U when the issuing protocol is performed.
Box 71 first shows the CA generating at random a number ~0 in Zq~ The second line shows the CA computing g~~, which is denoted by aO for further reference. As described by the third line, it then transfers aO to U.
Box 72 first shows U generating a number ~ in Zq; the pair ~ modq) will be his secret key. The second line shows U
computing the corresponding public key h, by setting it equal to (hOgI)I- In addition, as specified by the third line, U
generates two random numbers t,~ in Zq, which will serve to obtain blinded r and c. The fourth line shows U computing aOgt(hOg1)~U, which is denoted by a. The fifth line shows U
computing ~(h,a), which is denoted by c. The sixth line shows U computing c+umodq, which is denoted by cO. As described by the seventh line, U then transfers cO to the CA.
Box 73 first shows the CA computing cO(~O+yI)+ wOmod q, which is denoted by rO for further reference. As described by the v second line, the CA then transfers rO to U.
Box 74 first shows U verifying whether gro(hOg1)-co is equal to aO. AS described by the second line, if this is the case then U computes rO~+tmod q, which is denoted by r.
AS can easily be verified by those of ordinary skill in the art, the pair (c,r) is a secret-key certificate or. the public key h of U, such that U knows a secret key corresponding t~ h.
The following holds: the secret key of U is a pair (~,I') such that hOg1 is equal to h, and if (c,r) is to be a secret-key certificate on h then I'/~mod q is equal modulo q to the number I that the CA in Box 73 encoded into its response r.
SECOND PREFERRED EMBODIMENT
In the second preferred embodiment computations are performed in a multiplicative group modulo n, denoted by Z,l, with n being the product of two distinct large primes. Since the order of the group may only be known to at most the certifying WO96/1~62 2 2 0 0 5 9 2 PCT~n95/003S0 ,_ party, the computations in the exponents are modulo a number v that is not a proper divisor of the order ~f Zn- For this reason, in the blinded certificate issuing protocols that will be described, expressions involving divv will show up (recall s that ~ is equal to ~modv+v(~div v) for ~ in ~).
Since multiplications and divisions in Zn are always performed modulo n, the operator modn will never he mentioned explicitly. So for example ~ stands for ~Vmodn. In case other modulo operations are involved, the modulo operator is o explicitly mentioned (as in, for example, cO =c+~modv). If numbers are chosen from a group or ring, always the smallest positive remainder is implied. For instance, ~ ~ Zn implies that ~ is chosen at random from the subset {l,...,n- 1}
contA;n;ng the numbers co-prime with n (in practice, this set can be taken to be {l,...,n- 1}).
As will be obvious to those of ordinary skill in the art, one can take v to be either composite or prime.
The exemplary secret-key certificates will, as in the first preferred embodiment, all be constructed from Fiat/Shamir signature schemes by applying the general construction technique. The structure of the exposition is similar to the ~ exposition in the first preferred embodiment: a detailed description of one particular system is presented first, together with a variety of issuing protocols, followed by a description of how the general construction technique can be applied to other Fiat/ShAm; r type schemes.
1. First Exemplary Secret-Key Certificate.
A first exemplary secret-key certificate in the second preferred embodiment, constructed by applying the general construction technique to the Guillou/Quisquater signature scheme (See, Guillou, L. and Quisquater, J., "A practical zero-knowledge protocol fitted to security microprocessor m;n;m;zing both transmission and memory,~
Lecture Notes in Computer Science 330, Proceedings of Eurocrypt '88, Springer-Verlag (1989), pp. 123-128), will now be described in detail.
Key generation means of the KAC: Let v be an element in Zn.

WO96/1~62 2 2 0 0 5 9 2 PcT~n95/~3SO

A convenient choice for v is to take u a prime that is co-prime to ~(n) ( the number of elements of Zn ) .
The secret key of the CA is a number xO in Zn~ and its correspo~;ng public key ho is equal to xV0~ Preferably, xO is chosen uniformly at random in Zn-The triple (n, v, ho) is made publicly known by the CA. Inaddition, a hash-function ~ is made publicly known, which maps its arguments to, say, Z2L, for some appropriate security parameter t. This function should meet the requirements that are believed to make the Guillou/Quisquater signature scheme secure, and is preferably collision-free.
Certificate verification means: A secret-key certificate on a public key h in Zn of U is a pair (C,T) in Z2t X Zn such that c is equal to ~(h, rV(hOh)~c~ I). The number I is as described in the first preferred embodiment, and as before its incorporation is not strictly necessary.
The secret-key certificate can alternatively be taken to be a pair (a,r) in Zn X Zn- In that case, the pair is a secret-key certificate on h if rV(hOh)-~ is equal to a, where c is computed as ~(h, a, I) .
As will be clear to those of ordinary skill in the art, this secret-key certificate system has been constructed from the Guillou/Quisquater identification scheme by applying the general construction technique. That is, the certificate is in effect a Guillou-Quisquater signature on h made with secret key (hoh)l/V, corresponding to the public key hoh.
Key generation means of U: In a general form, the secret key of U can be taken to be a tuple (zl,...,zk;x), where each z is in Zv, x is in Zn ~ and h is equal to (~ik=lg~i)xvl. (As will be clear to those of ordinary skill in the art, the more general form, (Zl~ zk; xl,...,xl), can be considered, such that h is equal to ~=lgiZi~=lxivi for appropriate exponents vi. It is believed to be straightforward for those of ordinary skill in the art to apply the disclosed inventive techniques to this more general form.) Here, 91,...,9~ are randomly chosen numbers in Zn~ preferably of large order (which can easily be taken care of by taking the prime divisors p and q of n such that p-l and q- l both have a large prime divisor). All these WO96/1~62 2 2 0 ~ 5 9 2 PCT~n95/003S0 numbers are made publicly available by the CA, in addition to n, v, ho and the description of X. As will be appreciated, any integer vl can be used for the key pair of U. From now on, for concreteness v1 will always be taken equal to v.
For each 9i (l ~i< k), the CA should preferably know g,l/V, in order to be able to conduct the issuing protocol: the secret key of the CA that corresponds to the public key hCh is the v-th root of this number, which is equal to ~0~k=l(g7l/v)zj.
In practice, one may want to use a simpler form. The simplest form is one in which the secret key of U is a number in Z,~, and the public key h is equal to ~v. Another simple form is one in which the secret key of U is a pair (~ 2) in Zv X Z~#l~ such that h is equal to 911~v,. Both forms allow U to, for instance, compute signatures and prove knowledge of his secret key. (As is well-known, for a key pair of the form 91L922 no secure protocols for these tasks are known in the art.) As will be demonstrated in the flowchart of FIG. 12, this second form is of particular importance for the construction of restrictive blind signature protocols.
Certificate simulating means: Those of ordinary skill in the art may wish to verify that anyone can feasibly generate pairs ~ h,(c,T) such that the verification relation holds, by taking h equal to ho1sV for an arbitrary s in Zn ~ and a equal to tv for an arbitrary t in Z,#~; the pair (c, sct), with c equal to X(h, a, I), then is a secret-key certificate on h. However, the ability to feasibly generate such pairs together with a secret key, that corresponds to the public key h according to one of the key schemes described in the preceding three paragraphs, enables one to forge Guillou/Quisquater signatures.
Before providing exemplary embodiments for various - certificate issuing protocols, a few examples are provided that will help those of ordinary skill in the art to appreciate how the described secret-key certificate may be used in practice.
l.l. Examples for the first exemplary secret-key certificate.
Example l: In this example, it will be assumed that the secret key of U is a number ~ in Zv, and the corresponding public key WO96/1~K2 2 2 0 0 5 ~ 2 PcT~n9S/00350 h is equal to 9r Here, g is a r~n~sm1y chosen number in Zn preferably of large order, which has been made publicly available by the CA. Suppose that user U1 wants to transfer an encrypted message m in Zn to U2. The encryption scheme which is used is the ElGamal scheme in the group Zn From the public-key directory, Ul retrieves the public key h2 of U2, and the string (c2,r2). If c2 is equal to X(h2~T2(hoh;)-c2~I2)/ then U1 can safely transfer the encrypted message to U2. Hereto, he generates at random a number s, and transfers the pair 0 (9J~ h2m) to U2. If U2 can decrypt and retrieve m, then he must know loggh2 (as is well-known in the art, this holds under the factoring assumption, and for r~n~o~ly chosen m). This in turn implies that he could not have generated (h2,(c2,r2)) by himself.
Example 2: In this example, it will be assumed that the secret key of U is a number ~ in Zn/ and the corresponding public key h is equal to ~. Suppose that U2 digitally signs a message m for U1, using the Guillou/Quisquater signature scheme. U1 receives from U2 a pair (C,T) such that c is equal to X(m, T~h2-C) . If the public key h2 of U2 is listed in the public-key directory together with a pair (c2,T2) for which c2 is equal to X(h2, T2(hoh2)~C2~ I2), then the fact that U2 can compute this signature also informs U1 that the key pair of U2 has been certified by the CA. These two facts can also be verified by anyone else, and so the signature can have legal slgnif icance .
1.2. First exemplary certificate issuing protocol.
A variety of protocols for issui.ng the described secret-key certificate, similar to those described in the first preferred embodiment, will now be described. For explicitness it will be assumed in each of these flowcharts that the secret key of -U is of the simplest-form; it-is a number ~ in Zn such that the corresponding public key h is equal to ~1. Those of ordinary skill are believed to be able to straightforwardly apply the inventive techniques to suit the other types of key pairs for U.
Turning now to FIG. 8, the first flowchart of a secret-key WOg6/1~62 22 0 0 5 9 2 PCT~n9S/003S0 certificate issuing protocol for the second preferred embodiment will now be described in detail. As will be clear to those of ordinary skill in the art, this issuing protocol has the same functionality as the protocol of FIG. 2.
Box 81 first shows the CA generating a secret key ~ in Zn for use by U. As indicated in the second line, the corresponding public key h of U is taken equal to.~V.
Box 82 first shows the CA generating at random a number in Zn- The second line shows the CA computing ~v, which is lo denoted by a for further reference. The third and fourth lines show the CA computing X(h, a, I), which is denoted by c, and t~0x)c~ which is denoted by T. The CA then transfers the secret key ~ and the pair (C,T) to U, as described by the fifth line.
Box 83 first shows U computing his public key h, by setting it equal to ~v. The second line indicates that U verifies if c is equal to the hash-value of the triple (h, rv(hoh)-c7 I) .
If the equality holds, the pair (C,T) iS a secret-key certificate on the public key h of U, such that U knows the secret key corresponding to h.
As will be clear to those of ordinary skill in the art, if the CA knows the prime factorization of n, then in Box 82 it can simply take any number a in Zn Of course, since v-th roots are involved, the CA must generate this number from the set of all v-th powers in Zn; if v is co-prime to ~(n) then this set is equal to Zn; if, for example, v is twice a number that is co-prime to ~(n), then v-th roots modulo n exist only for the quadratic residues in Zn-1.3. Second exemplary certificate issuing protocol.
As in the first preferred embodiment, the need for the CA toknow the secret key of U can be removed by letting U perform part of the computations.
Turning now to FIG. 9, a flowchart of a secret-key issuing protocol that hides the secret key of U from the CA, in the second preferred embodiment, will now be described in detail.
As will be clear to those of ordinary skill in the art, this issuing protocol has the same functionality as the protocol of WO96/1~62 22 ~ ~ 5 ~ 2 PCT~ngS/003S0 FIG. 3.
Box 9l first shows U generating at random a number ~ in Zn;
this will be his secret key. The second line shows U
computing the corresponding public key h by setting it equal to ~v. U then transfers h to the CA, as indicated by the third line.
Box 92 first shows the CA generating at random a number in Zn- The second line shows the CA computing ~l, which is denoted by a for further reference. The third and fourth lines show the CA computing X(h,a,I), which is denoted by c, and xOw, which is denoted by rO. The fifth line indicates that the CA transfers the pair (c,rO) to U.
Box 93 first shows U verifying whether c is equal to the hash-value of the triple (h,Toho-C,I). As described by the second line, if this is the case then U computes To~C, which is denoted by r.
As can easily be verified by those of ordinary skill in the art, the pair (c,r) is a secret-key certificate on the public key h, such that U knows the secret key corresponding to h.
l.4. Hiding the secret key from the CA.
Contrary to the first preferred embodiment, the RSA function has a trapdoor (i.e., the prime factorization of n). If the - CA knows this prime factorization, it can always compute the secret key, even if U tries to hide it by using the issuing protocol of FIG. 9. Nevertheless, it can still make sense for U to hide the secret key from the CA, namely, in the case multiple secret keys correspond to the same public key and U
can know only one (or a small fraction of all corresponding secret keys). The following example may help to appreciate this.
Consider a situation where the secret key of U is a tuple ~ 2;Il,I2) in Zn X Zn X Z~ X Z~, such that hl is equal to 9~
and h2 is equal to g/2~V2~ where (hl,h2) is his public key. As is well-known in the art, this public key can be used to make a one-time signature. The signature of U on a message m in Z~
is the pair (Ilm+I2 modv~gllm+~2diV~xlm~2)- A straightforward modification of the preceding certificate issuing protocol W096/1~62 2 2 0 0 5 ~ 2 PcT~n9S/00350 -gets U a secret-key certificate on his public key (hl,h2).
(The certificate is a pair (c, T) such that c is equal to (hl,h2,rV(hOhl)~c,I), for instance.) Of course, as will be clear to those of ordinary skill in the art, to prevent forgery of signatures, the number m in the verification relation for the signature now must be taken equal to a one-way hash of at least the message and the public key, instead of being the message itself. Now, even if the CA knows the prime factorization, and hence can compute all secret keys o corresponding to (hl,h2), the probability is negligible that it can determine the particular secret key known by U; as is well-known in the art, the signature scheme of U is witness-indistinguishable. This in turn implies that if the -- CA forges a signature of U, using a different secret key, then the U can compute 91/~, thereby proving the fraud of the CA.
If the CA should not have the power to compute any secret key at all, the number n must be generated such that the CA
does not know the prime factors. To this end, the process of generating n should be conducted by a trusted secured device that destroys the prime factors after having generated n, or by some other trusted party.
1.5. Third exemplary certificate issuing protocol.
As in the first preferred embodiment, there exist many secret-key certificates (c, T) on the same public key and so the CA may choose a particular one and encode information in it.
Turning now to FIG. 10, a flowchart of a secret-key issuing protocol that hides the secret key from the CA and prevents the subl;m;nAl channel, in the second preferred embodiment, will now be described in detail. As will be clear to those of ordinary skill in the art, this issuing protocol has the same functionality as the protocol of FIG. 4.
Box 101 first shows the CA generating at random a number ~0 in Zn- The second line shows the CA computing ~0, which is denoted by aO for further reference. The third line indicates that the CA then transfers aO to U.
Box 102 first shows U generating at random a number ~ in Zn; this will be his secret key. The second line shows U

WO96/1~K2 2 2 0 0 S 9 2 PCT~n95/003S0 computing the corresponding public key h by setting it equal to ~. The third line shows U generating at random a number w in Z~, and the fourth line shows U computing w~, which is denoted by a. Finally, as described in the fifth line, U
transfers the pair (h, a) to the CA.
Box 103 first shows the CA computing X(h, aOa, I), which is denoted by c for further reference. The second line shows the CA computing ~cO~O, which is denoted by To. AS described by the third line, the CA then transfers To to U.
lo Box 104 first shows U computing c as did the CA in the first line of Box 103. The second line indicates that U verifies whether aaO is equal to rOhOC~ AS the third line displays, if this is the case then U computes To~CW, which is denoted by T.
-- As can easily be verified by those of ordinary skill in the art, the pair (C,T) iS a secret-key certificate on the public key h, rAn~om;zed by U, such that U knows the secret key corresponding to h.
It will be obvious to those of ordinary skill that U in Box 102 could transfer w to the CA, instead of a. In Box 103 the CA can then compute ~COwOw itself, into which U now has to multiply ~c modulo n. This, however, causes an extra computational cost for the CA, which now has to compute one additional exponentiation in Zn~ whereas the computational cost for U is virtually not reduced.
1.6. Fourth exemplary certificate issuing protocol.
Turning now to FIG. 11, a flowchart of a fully blinded secret-key issuing protocol in th~ second preferred embodiment will now be described in detail As will be clear to those of ordinary skill in the art, this issuing protocol has the same 3-o functionality as the protocol of FIG. 5.
As discussed in the first preferred embodiment, for convenience the string I will henceforth be omitted.
Box 111 first shows the CA generating at random a number wO
in Zn- The second line shows the CA computing wO, which is denoted by aO for further reference. As described by the third line, the CA then transfers aO to U.
Box 112 first shows U generating at random a number ~ in WO96/1~62 ~ 2 2 0 ~ 5 ~ 2 pcT~n95loo35 Zn; this will be his secret key. The second line shows U
computing the corresponding public key h, by setting it equal to ~v. The third line shows U generating at rAn~om a number t in Zn ~ and the fourth line shows U generating at random a number u in Zv- Using these random numbers, the fifth line shows how U blinds aO, by computing aOtVhuO; this number is denoted by a for further reference. The sixth line shows U
computing ~(h,a), which is denoted by c, and bl;n~;~g it, as -described by the seventh line, to c+umodv; this number is o denoted by cO for further reference. AS described by line eight, U then transfers cO to the CA.
Box 113 first shows the CA computing xC0o~o~ which is denoted by To for further reference. As described by the second line, the CA then transfers rO to U.
Box 114 first shows U verifying whether rOVhOc~ is equal to aO. As described by the second line, if this is the case then U putes T ~Cthco+udivv~ which is denoted by T.
AS will be clear to those of ordinary skill in the art, (c,r) is a secret-key certificate on the public key h of U. In addition, views of the CA in executions of this issuing protocol are independent from pairs (h, (c, T)) .
1.7. Fifth exemplary certificate issuing protocol.
Turning now to FIG. 12, a flowchart of a restrictive blind secret-key certificate issuing protocol for the second preferred embodiment will now be described in detail. This protocol is also described and claimed in patent application Ser. No. PCT/NL94/00179, but, as will be appreciated, is included here (using the present notation) to clearly demonstrate that the protocol in effect is a restrictive blind secret-key certificate issuing protocol. As will be clear to those of ordinary skill in the art, this issuing protocol has the same functionality as the protocol of FIG. 6.
The key pair of U must be different from that used until now, because the secret key must be a vector of at least two numbers. For concreteness, the following choice is made: the secret key of U is a pair (~;I) in Zn X Zv such that ~v9l is equal to h. Here, the CA has generated 9l by generating at WO96/12362 PcT~n95/003SO
220~592 random a (secret) number y in Zn ~ and setting 9l equal to yV.
The second number of this pair, I, will be encoded by the CA
into the secret key of U during the certificate issuing protocol, in such a way that U will not be able to change I to a number I' that differs modulo v from I. On the other hand, U
will be able to generate ~ by himself uniformly at random in Zn~ and hence h in effect is generated at random from Zn~
independently from I. As described before, the number I may be related to the identity of U, but can as well contain 0 unrelated information, such as a credential specification.
Box 121 first shows the CA gen~rating at random a number ~0 in Zn. The second line shows the CA computing ~0V, which is denoted by aO for further reference. As described by the third line, the CA then transfers aO to U.
Box 122 first shows U generating a number ~ in Zn; the pair (~,I) will be his secret key. The second line shows U
computing the corresponding public key h, by setting it equal to ~Vg/. In addition, as displayed in the third and fourth lines, U generates two random numbers t in Zn and u in Zv, which will serve to obtain blinded r and c. The fifth line shows U computing a0tV(h0gl)u, which is denoted by a for further reference. As indicated in the sixth line, U then computes X(h,a), which is denoted by c. The seventh line specifies U
computing c+umodv, which is denoted by c0. As described by the eighth line, U then transfers c0 to the CA.
Box 123 first shows the CA computing (~0yl)c0~o~ which is denoted by rO for further reference. As described by the second line, the CA then transfers rO to U.
Box 124 first shows U verifying whether r0V(h0gl)-c~ is equal to aO. As described by the second line, if this is the case then U computes r0~ct(hogl)c+udivv~ which is denoted by r.
As can easily be verified by those of ordinary skill in the art, the pair (c,r) is a secret-key certificate on the public key h of U, such that U knows the secret key corresponding to h. Although U has perfectly blinded h and (c,r), it is unfeasible for him to completely blind the secret key. The secret key of U is a pair (~;I') such that ~v9/ is equal to h, and if (c,r) is to be a secret-key certificate on h then I' is W096/1~62 2 2 0 0 5 9 2 PcT~n9S/003~0 unavoidably equal modulo v to the number I that the CA in Box 123 encoded into its response T.
1.8. More than one receiving party.
As in the first preferred embodiment, the protocols displayed s in FIGS. 11 and 12 can also be used by the CA to issue the secret-key certificate to U and an additional party f that is substantially under control of the CA, such that: U will get to know the public key and the secret-key certificate on the public key; and the secret key corresponding to the public key is shared between U and ~ in such a way that neither of U and f can determine it.
One possible such use, based on the protocol of FIG. 11, will now be described. The secret key used that will be used for U by the CA now is I~0 (the public key still is ~0), where I is known by ~ but not by U; U only knows I~. The issuing protocol between the CA and U as described by FIG. 11 now takes place, where the CA now computes in the first line of Box 113 the number rO as (~0I)~0. As will be clear to those of ordinary skill in the art, f at the end of the issuing protocol knows I, and U knows ~, and the certified public key is equal to (I~)~. As will be appreciated, ~ does not need to participate in the secret-key certificate issuing protocol due to the initial set-up in which the CA only makes I known to ~.
In patent application Ser. No. PCT/NL94/00179, techniques are 2s detailed and claimed for ~ and U to conduct a certificate showing protocol following the issuing protocol.
Other variations of the issuing protocol, for the case the certificate is issued to U and ~ in the manner described in the preceding paragraph (such as a variation in which ~ and U
~o end up with a certified public key of the form 9/~), are believed to be obvious to construct for those of ordinary skill in the art.
2. Second Exemplary Secret-Key Certificate.
As in the first preferred embodiment, a variety of other 3s secret-key certificates will now be described, each of which is constructed from a Fiat/Sh~m;r type signature scheme by applying the general construction technique.

WO96/1~62 2 2 0 0 S q 2 PcT~n9S/003SO

A second exemplary secret-key certificate in the second preferred embodiment, constructed by applying the general construction technique to the Okamoto signature scheme (See, Okamoto, T., Section 3.2./3.3. and Section 6 in 5 n Provably Secure and Practical Identification Schemes and Corresponding Signature Schemes, n Crypto '92, Lecture Notes in Computer Science 740, Springer-Verlag (1~93), pp.
31--53), will now be described.
Key generation means of the KAC: The secret key of the CA is 0 a pair (~ 2) in Zvx Zn~ and the corresponding public key ho is equal to gT~v2, where 9 is an element of large order in Zn.
The tuple tg,v,ho,n) is made publicly known by the CA. The CA
also makes publicly known a hash-function ~, which maps its arguments to, say, Z2t, for some appropriate security 15 parameter t. This function should meet the requirements that are believed to make the Okamoto signature scheme secure.
Certificate verification means: A secret-key certificate on a public key h in Zn of U is a triple (c,rl,r2) in Z2t X Z~ X Zn such that c is equal to ~(h, gr~r2V(hOh)~c~ I) .
20 Alternatively, the secret-key certificate can be taken to be a triple (a,rl,r2) in Zn X Zn X Zn In that case, the triple is a secret-key certificate on h if g~1rV2(h0h)~c is equal to a, where c is computed as X(h, a, I) .
The certificate is in effect an Okamoto signature on h made 25 with a secret key that corresponds to the public key hoh.
Key generation means of U: The discussion of key pairs for U provided earlier with respect to the first secret-key certificate for the second preferred embodiment, applies here as well. (As will be clear to tnose of ordinary skill in the 30 art, the symbols ~ 2 chosen here for convenience, do not refer to the symbols in that discussion.) Certificate issuing means: Those of ordinary skill in the art are believed to be capable of straightforwardly applying (a) the inventive techniques for the issuing protocols of 35 FIGS. 8 to 12, and (b) the inventive technique to issue the secret-key certificate to U and an additional party f, to construct similar certificate issuing protocols for the present secret-key certificate.

WO96/1~62 22 0 0 5 9 2 PCT~n9S/003S0 -3. Third Exemplary Secret-Key Certificate.
A third exemplary secret-key certificate in the second preferred embodiment, constructed by applying the general construction technique to the Fiatt.~hAmi r signature scheme (See, Fiat, A. and Shamir, A., "How to prove yourself:
practical solutions to identification and signature problems,"
Proceedings of Crypto '86, Lecture Notes in Computer Science 263, Springer-Verlag (1987), pp. 186--194), will now be described.
0 Key generation means of the KAC: The secret key of the CA is a tuple (2~ 2~), where each 2i is in Zn. The corresponding public key is (hl,..., h~) where each hi is equal to (2~ 1)2 .
- (Instead of squares, other powers can be used as well.) The tuple (h1,...,hk,n) is made publicly known by the CA. The CA also makes publicly known a hash-function X, which maps its arguments to, say, Z2il, for some appropriate security parameter 1. This function should meet the requirements that are believed to make the Fiat/Shamir signature scheme secure.
Certificate verification means: A secret-key certificate on a public key (h1,...,hk) of U, where each h' is in Z* is a tuple (c,r1,...,rl), where c is in Z2~ and each Ti is in Zn ~ such that c is equal to X( (h~ hk)~ (Tl2~clj=l hjh~, ...~rl2~C~j=l hjh~) ). Here, the index j runs from 1 to k, and (~ k) iS the binary vector consisting of the i-th group of k bits of the number c. The notation ~j=1 hjhj denotes the product taken over all numbers (hjh,) with j such that the bit ~j (this is the j-th bit in the i-th group of k bits of the num.ber c) is equal to one.
One can consider the public key-(h1,...,hk) of the CA to be a vector ho~ and the public key (hl ... hk) of U to be a vector h.
The secret-key certificate is in effect a Fiat/Shamir signature on h made with a secret key that corresponds, under the Fiat/.Ch~m;r signature scheme, to the public key hoh, where the vector multiplication hoh is defined by pairwise multiplication: hoh is equal to (hl hl . . . h~h~) .
Key generation means of U: The key pair of U is of the same type as that of the CA. More precisely, the secret key corresponding to the public key (h1,...,hk), denoted by h' is a vector (21,...,2k) such that (2l)-2 = h'.

WO g6/1~62 2 2 0 0 5 9 2 PCT~n95/00350 Certificate issuing means: Those of ordinary skill in the art are believed to be capable of straightforwardly applying the inventive techniques for (a) the issuing protocols of FIGS. 8 to 12, and (b) the inventive technique to issue the secret-key certificate to U and an additional party ~, to construct similar certificate issuing protocols for the present secret-key certificate.
4. Fourth Exemplary Secret-Key Certificate.
Yet another Fiat/.~h~mi r type signature scheme is the lo Feige/Fiat/Sh~m;r signature scheme (See, Feige, U., Fiat, A.
and ~5h~mi r, A., n Zero-knowledge proofs of identity," Journal of Cryptology 1 (1988), pp. 77--94). This scheme is a modification of the Fiat/Shamir scheme. Since the application of the general construction technique to this scheme is highly similar to the construction of the third exemplary secret-key certificate in the second preferred embodiment, a detailed description is omitted here. Again, for (a) each of the issuing protocols of FIGS. 8 to 12, and (b) the inventive technigue to issue the secret-key certificate t~ U and an additional party ~, a similar issuing protocol for the present secret-key certificate can be constructed straightforwardly in this manner.
5. Fifth Exemplary Secret-Key Certificate.
As in the first preferred embodiment, it will now be demonstrated that certain variations of the general construction technique can be used-as well. Yet another exemplary secret-key certificate in the first preferred embodiment, constructed by applying a variation of the general construction technique to the Schnorr signature scheme, will now be described in detail.
Key generation means of the KAC: This is the same as in the description of the first secret-key certificate.
Certificate verification means: A secret-key certificate on a public key h in Zn of U will now be taken to be a pair (c,r) in Z2~ X Z~ such that c is equal to X(h,T~h-',I).

WO96/1~2 2 2 0 0 5 9 2 PCT~ns5/oo35o The secret-key certificate can alternatively be taken to be a pair (a,~) in Zn X Zn such that rVh~c is equal to a, where c is computed as ~(h, a, I) .
Key generation means of U: In general, for the modified secret-key certificate to be secure, the public key of U must be defined as a product g~ -g~h0~+lzlV. (Those of ordinary skill in the art may wish to consider an even more general form, (~ k+1,Zl,...,ZI), such that h is equal to hoi+~ 9~ ziVi for appropriate exponents vi.) As with the 0 first secret-key certificate, 91,...,9~ are rAn~omly chosen elements of large order in Zn~ that are published by the CA in addition to v, ho, n, and the description of X. At most the CA should know the v-th root of each of 91,...,9~.
In practice, one may want to use a simpler form of key pair.
The simplest form is one in which the secret key of U is a number ~ in Zv, and the public key h is equal to (ho)Z, and h may not be equal to 1. Another simple form is one in which the secret key of U is a pair (~ 2) ~ such that h is equal to ho~:~2 .
As in the first preferred embodiment, all the issuing techniques provided for the first secret-key certificate in the first preferred embodiment can be applied straightforward to construct issuing protocols for the modified secret-key certificate. It is believed that those of ordinary skill in the art are easily capable of doing so by studying the inventive techniques in conjunction with the flowcharts.
Instead, the following two remarks are made here, to help those of ordinary skill in the art appreciate the advantages of applying the general construction technique over applying the present variant thereof.
(1) Consider the restrictive blind secret-key certificate issuing protocol for the present secret-key certificate, which is similar to the flowchart of FIG. 7; if the secret key of U
is a pair (I,x) in Zvx Zv, and the public key h is equal to hlgl, then the number I/~modv can be encoded by the CA into the secret key tU will not be able to modify this quotient).
However, for key pairs for U of this form, no secure signature schemes and proofs of knowledge are known in the art. On the WO g6/1~62 2 2 0 0 5 ~ 2 PcT~n9S/00350 other hand, using a key pair for U such that the secret key is a pair (I;~) in Zvx Zn~ and the public key is h'~, has the problem that the information that has been encoded into the secret key by the CA, cannot be efficiently reconstructed from I and ~. Hence, in order for the issuing protocol to have practical value, one must take the secret key of U to be a triple (I1,I2i~) such that h is equal to hlolgl2~. Th~s is less efficient than the key pair used in the restrictive blind issuing protocol for the first secret-key certificate.
(2) As will be appreciated, the security of the systems constructed using the general construction technique is closer related to the security of the underlying Fiat/.~h~m; r signature scheme.
Conclusion.
This concludes the detailed descriptions of two preferred embodiments. While these descriptions of the present invention have been given as examples, it will be appreciated that various modifications, alternate configurations, and equivalents may be employed without departing from the spirit and scope of the present invention. For example, there are many essentially equivalent orders to evaluate expressions;
ways to evaluate expressions; ways to order expressions, - tests, and transmissions within flowchart boxes; ways to group operations into flowchart boxes; and ways to order flowchart - 25 boxes. The particular choices that have been made here are merely for clarity in exposition.
Certain variations and substitutions may be apparent to those of ordinary skill in the art. Although various such variations and substitutions have been indicated and sometimes described in detail in the text, this may be more fully appreciated in the light of the following examples.
First, the exemplary secret-key certificates that have been described are derived from Fiat/Shamir type signature schemes by the general following construction technique: denoting the public key of U by h, and that of the CA by ho, a secret-certificate on h in effect is a signature of the underlying Fiat/Shamir type on the message h made with a WO96/12362 2 2 0 0 5 9 2 PcT~n9S/003SO

secret key that corresponds to public key hoh. It has already been shown, at the end of the description of the first preferred embodiment, that variations on the general construction technique may be applied as well. As will be appreciated, the particular form hoh in the general construction technique is not essential. Taking, for example, the form hohk for a fixed integer k different from-l would obviously work as well. The essence of the general construction technique is that the secret-key certificate is constructed from any Fiat/Shamir type signature scheme by letting the certificate in effect be a signature on the public key of U, where the signature is of the underlying Fiat/Shamir type signature scheme and made with a secret key that corresponds, under the Fiat/Shamir type signature scheme, to a public key which is a suitable mathematical function of the public key of U and the public key of the CA.
Second, hierarchic certification can be implemented with secret-key certificates. As will be clear to those of ordinary skill in the art, U in turn can use his certified key pair to issue a secret-key certificate to another party, and so on. In this way, a hierachical certification tree can be constructed: each node in this tree can be considered to be a pair consisting of a public key and a secret-key certificate on the public key, where a parent node certifies the key pairs of its child nodes by issuing a secret-key certificate on the public key of each child node, computed by using a secret key corresponding to the public key of the parent node. If, for instance, a decryption can be performed by a party associated with a node in the tree, then this party must know the secret key corresponding to the public key in that node; this in turn implies that the secret-key certificate must have been computed by the party associated with the parent node, and so this party in turn knows the secret key corresponding to the public key of the parent node; hence, the secret-key certificate of the parent node must have been computed by the party associated with the parent node of the parent nodei and so on, all the way to the root node.
Third, the secret-key certificate technique can be used to WO96/12362 2 2 0 ~ 5 9 2 PCT~L9S/00350 construct secure digital signature schemes. To sign a message, the signer party, which has a first secret key and a matching first public key, first generates independently at random a one-time secret key and a matching one-time public s key, where the word "one-time" is used only to emphasize that these keys will be used only once by the signer party. The signer party then computes a secret-key certificate on the one-time public key with respect to the first public key. It can do this because it knows the first public key. It then signs the message with respect to the one-time public key, which it can do because it knows the one-time secret key. The resulting signature of the signer party on the message consists of the one-time public key, the secret-key certificate on the one-time public key, and the signature on the message with respect to the one-time public key. To verify the signature, the certificate verification means are used to verify the secret-key certificate, and the signature on the message is verified by using the one-time public key.
The signer party can generate independently at random a new one-time secret key and matching one-time public key each time that it has to sign a message. In effect, this method of constructing a secure digital signature scheme using the secret-key certificate issuing technique is the same as that applied in the example of hierarchic certification7 disclosed 2s in the preceding paragraph.
It will also be obvious to those of ordinary skill in the art how parts of the inventive techniques and protocols disclosed here can be used to advantage.

Claims (17)

1. A cryptographic method for a certification authority, having a first secret key and a corresponding first public key for purpose of certification, to form a certificate on a second public key by applying said first secret key, said certificate and said second public key satisfying a predetermined correspondence that is publicly verifiable by applying said first public key, and said second public key corresponding to a second secret key, said method characterized in that:
said certificate is a digital signature of said certification authority, with respect to said first public key, on said second secret key, and the probability distribution of said certificate and said second, public key is substantially simulatable without knowledge of said first secret key; and demonstrating to a verifier party that said certification authority formed said certificate on said second public key is performed by transmitting to said verifier party signals representative of said second public key, said certificate, and data evidencing knowledge of a secret key corresponding to said second public key, whereby said certificate is called a secret-key certificate, with respect to said first public key, on said second public key.
2. The method of claim 1, wherein said data is a digital signature an a message for said verifier party, said digital signature on said message formed by applying said second secret key and publicly verifiable by applying said second public key.
3. The method of claim 2, wherein said certification authority holds said second public key and said second secret key, and said second secret key is one-time and generated by said certification authorty in a substantially random manner.
4. The method of claim 1, wherein said data is a zero-knowledge proof of knowledge of said second secret key.
5. The method of claim 1, wherein said data is a response to a message that said verifier party provides only in encrypted form, said encrypted form computed by said verifier party by applying said second public key to said message.
6. The method of claim 1, wherein said data is a secret-key certificate, with respect to said second public key, on a public key of said verifier party.
7. The method of claim 1, wherein said second secret key is hidden from said certification authority.
8. The method of claim 1, wherein said second secret key, said second public key and said certificate are blinded, to hide them from said certification authority.
9. The method of claim 1, wherein said second public key and said certificate are blinded, to hide them from said certification authority, while said certification authority encodes information into the blinding-invariant part of said second secret key.
10. The method of claim 1, wherein said second secret key is shared by two sub-parties, such that neither sub-party knows said second secret key by itself.
11. The method of claim 1, wherein said certificate on said second public key is a digital signature of the Fiat/Shamir type on said second secret key.
12. The method of claim 11, wherein said first public key and said second public key are elements of a group of prime order.
13. The method of claim 11, wherein said first public key and said second public key are elements of a multiplicative group of integers modulo the product of at least two large distinct primes.
14. The method of claim 1, wherein said probability distribution is perfectly simulatable without knowledge of said first secret key.
15. Cryptographic apparatus for a certification authority, having a first secret key and a corresponding first public key for purpose of certification, to form a certificate on a second public key by applying said first secret key, said certificate and said second public key satisfying a predetermined correspondence that is publicly verifiable by applying said first public key, and said second public key corresponding to a second secret key, said apparatus comprising:
certificate forming means that forms said certificate on said second public key by forming a digital signature, with respect to said first public key, on said second secret key, and the probability distribution of said certificate and said second public key is substantially simulatable by certificate simulation means that does not have said first secret key; and certificate transferring means, for transferring to a verifier party, said public key, said certificate, and data evidencing knowledge of a secret key corresponding to said second public key, whereby said certificate is called a secret-key certificate, with respect to said first public key, on said second public key.
16. The method of claim 15, wherein said certificate on said second public key is a digital signature of the Fiat/Shamir type on said second secret key.
17. The method of claim 15, wherein said probability distribution is perfectly simulatable by said certificate simulation means.
CA002200592A 1994-10-14 1995-10-12 Secret-key certificates Abandoned CA2200592A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/321,855 1994-10-14
US08/321,855 US5606617A (en) 1994-10-14 1994-10-14 Secret-key certificates

Publications (1)

Publication Number Publication Date
CA2200592A1 true CA2200592A1 (en) 1996-04-25

Family

ID=23252322

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002200592A Abandoned CA2200592A1 (en) 1994-10-14 1995-10-12 Secret-key certificates

Country Status (11)

Country Link
US (1) US5606617A (en)
EP (1) EP0786178B1 (en)
JP (1) JP2002515128A (en)
AT (1) ATE211870T1 (en)
AU (1) AU705406B2 (en)
CA (1) CA2200592A1 (en)
DE (1) DE69524968D1 (en)
DK (1) DK0786178T3 (en)
ES (1) ES2170167T3 (en)
PT (1) PT786178E (en)
WO (1) WO1996012362A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005107133A1 (en) * 2004-05-05 2005-11-10 Research In Motion Limited System and method for sending secure messages

Families Citing this family (217)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668878A (en) * 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
WO1996031034A1 (en) * 1995-03-27 1996-10-03 Stefanus Alfonsus Brands System for ensuring that the blinding of secret-key certificates is restricted, even if the issuing protocol is performed in parallel mode
WO1997002679A1 (en) * 1995-06-30 1997-01-23 Stefanus Alfonsus Brands Restritedly blindable certificates on secret keys
US5638445A (en) * 1995-09-19 1997-06-10 Microsoft Corporation Blind encryption
US7822989B2 (en) * 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US8732457B2 (en) * 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US7353396B2 (en) 1995-10-02 2008-04-01 Corestreet, Ltd. Physical access control
US5793868A (en) * 1996-08-29 1998-08-11 Micali; Silvio Certificate revocation system
US5717758A (en) * 1995-11-02 1998-02-10 Micall; Silvio Witness-based certificate revocation system
US7600129B2 (en) 1995-10-02 2009-10-06 Corestreet, Ltd. Controlling access using additional data
US6097811A (en) * 1995-11-02 2000-08-01 Micali; Silvio Tree-based certificate revocation system
US6487658B1 (en) 1995-10-02 2002-11-26 Corestreet Security, Ltd. Efficient certificate revocation
US5666416A (en) * 1995-10-24 1997-09-09 Micali; Silvio Certificate revocation system
US7337315B2 (en) 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US6766450B2 (en) * 1995-10-24 2004-07-20 Corestreet, Ltd. Certificate revocation system
US8015597B2 (en) 1995-10-02 2011-09-06 Corestreet, Ltd. Disseminating additional data used for controlling access
US8261319B2 (en) 1995-10-24 2012-09-04 Corestreet, Ltd. Logging access attempts to an area
US5680461A (en) * 1995-10-26 1997-10-21 Sun Microsystems, Inc. Secure network protocol system and method
US6301659B1 (en) 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US5745574A (en) * 1995-12-15 1998-04-28 Entegrity Solutions Corporation Security infrastructure for electronic transactions
US5812670A (en) * 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US5944823A (en) * 1996-10-21 1999-08-31 International Business Machines Corporations Outside access to computer resources through a firewall
US6009173A (en) * 1997-01-31 1999-12-28 Motorola, Inc. Encryption and decryption method and apparatus
GB2321741B (en) * 1997-02-03 2000-10-04 Certicom Corp Data card verification system
US5920630A (en) * 1997-02-25 1999-07-06 United States Of America Method of public key cryptography that includes key escrow
DE69720971T2 (en) * 1997-05-28 2003-10-30 Siemens Ag Computer system and software protection method
US6229894B1 (en) * 1997-07-14 2001-05-08 Entrust Technologies, Ltd. Method and apparatus for access to user-specific encryption information
DE19748954A1 (en) * 1997-10-29 1999-05-06 Francotyp Postalia Gmbh Producing security markings in franking machine
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6453416B1 (en) * 1997-12-19 2002-09-17 Koninklijke Philips Electronics N.V. Secure proxy signing device and method of use
DE19801241C2 (en) 1998-01-12 1999-11-04 Deutsche Telekom Ag Process for generating asymmetric crypto keys at the user
US6349289B1 (en) 1998-01-16 2002-02-19 Ameritech Corporation Method and system for tracking computer system usage through a remote access security device
JP3812123B2 (en) * 1998-02-12 2006-08-23 富士ゼロックス株式会社 Authentication method and apparatus
US6108644A (en) * 1998-02-19 2000-08-22 At&T Corp. System and method for electronic transactions
US7171559B1 (en) * 1998-03-18 2007-01-30 Kent Ridge Digital Labs Method of exchanging digital data
US6571337B1 (en) 1998-06-24 2003-05-27 International Business Machines Corporation Delayed secure data retrieval
DE19831190C1 (en) * 1998-07-11 1999-10-28 Tracto Technik Appliance for dividing subterranean pipes and laying of new ones etc.
US6243467B1 (en) 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6859791B1 (en) 1998-08-13 2005-02-22 International Business Machines Corporation Method for determining internet users geographic region
US7110984B1 (en) 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
US6983371B1 (en) * 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6959288B1 (en) 1998-08-13 2005-10-25 International Business Machines Corporation Digital content preparation system
US6389403B1 (en) 1998-08-13 2002-05-14 International Business Machines Corporation Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system
RU2153191C2 (en) 1998-09-29 2000-07-20 Закрытое акционерное общество "Алкорсофт" Method for blind production of digital rsa signature and device which implements said method
RU2157001C2 (en) 1998-11-25 2000-09-27 Закрытое акционерное общество "Алкорсофт" Method for conducting transactions
FR2787264B1 (en) * 1998-12-15 2001-11-02 Bull Sa METHOD FOR CREATING AND MANAGING AT LEAST ONE CRYPTOGRAPHIC KEY AND SYSTEM FOR IMPLEMENTING IT
US6430688B1 (en) 1998-12-22 2002-08-06 International Business Machines Corporation Architecture for web-based on-line-off-line digital certificate authority
DE19961151A1 (en) 1999-01-29 2000-08-03 Ibm Preparation and vintages of a new type of certificate for the certification of keys on chip cards
US7519178B1 (en) * 1999-02-24 2009-04-14 International Business Machines Corporation Method, system and apparatus for ensuring a uniform distribution in key generation
AU4713100A (en) 1999-05-14 2000-12-05 Marvin A. Frenkel Anonymous on-line cash management system
US7461250B1 (en) * 1999-07-22 2008-12-02 Rsa Security, Inc. System and method for certificate exchange
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
US6834110B1 (en) 1999-12-09 2004-12-21 International Business Machines Corporation Multi-tier digital TV programming for content distribution
US7213005B2 (en) 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
US7315948B1 (en) * 1999-12-10 2008-01-01 International Business Machines Corporation Time stamping method employing a separate ticket and stub
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US7194634B2 (en) * 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
JP2001352321A (en) 2000-04-06 2001-12-21 Sony Corp Information processing system, information processing method, and information recording medium, and program providing medium
US7814208B2 (en) * 2000-04-11 2010-10-12 Science Applications International Corporation System and method for projecting content beyond firewalls
US7493486B1 (en) * 2000-06-09 2009-02-17 Verizon Laboratories, Inc. Method and apparatus for supporting cryptographic-related activities in a public key infrastructure
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US6978375B1 (en) 2000-09-08 2005-12-20 International Business Machines Corporation System and method for secure authentication of external software modules provided by third parties
US7793111B1 (en) * 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
JP2002215585A (en) * 2000-11-16 2002-08-02 Fuji Xerox Co Ltd Device and method for processing subject name of individual certificate
EP1207707B1 (en) * 2000-11-17 2008-08-13 Sony Deutschland GmbH Transmission of carry-on objects using a wireless ad-hoc networking environment
KR20020042083A (en) * 2000-11-30 2002-06-05 오경수 Method for double encryption of private key and sending/receiving the private key for transportation and roaming service of the private key in the public key infrastructure
GB0030804D0 (en) * 2000-12-16 2001-01-31 Ncr Int Inc Method of conducting transactions
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
JP4284867B2 (en) * 2001-01-18 2009-06-24 株式会社日立製作所 A public-key cryptography method that is secure against adaptive choice ciphertext attacks on a standard model
US7711122B2 (en) * 2001-03-09 2010-05-04 Arcot Systems, Inc. Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US7272831B2 (en) 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
JP2002319932A (en) * 2001-04-19 2002-10-31 Sony Corp Device and method for recording information, device and method for reproducing information, and program
US20040199475A1 (en) * 2001-04-27 2004-10-07 Rivest Ronald L. Method and system for micropayment transactions
US6968334B2 (en) * 2001-05-15 2005-11-22 Nokia Corporation Method and business process to maintain privacy in distributed recommendation systems
US7191440B2 (en) 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US6744753B2 (en) * 2001-11-01 2004-06-01 Nokia Corporation Local service handover
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7151764B1 (en) 2001-11-01 2006-12-19 Nokia Corporation Service notification on a low bluetooth layer
US7555287B1 (en) 2001-11-01 2009-06-30 Nokia Corporation Customized messaging between wireless access point and services
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7308576B2 (en) 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7340214B1 (en) * 2002-02-13 2008-03-04 Nokia Corporation Short-range wireless system and method for multimedia tags
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7102640B1 (en) 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7028149B2 (en) 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US7127548B2 (en) 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
DE60308251T2 (en) * 2002-04-17 2007-08-30 Canon K.K. Device for the provision of public key certificates
US7139890B2 (en) 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
WO2003096585A1 (en) * 2002-05-06 2003-11-20 Bentley Systems, Inc. Method and system for digital rights management and digital signatures
US7103313B2 (en) * 2002-06-05 2006-09-05 Nokia Corporation Automatic determination of access point content and services for short-range wireless terminals
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US7062043B1 (en) 2002-06-28 2006-06-13 The United States Of America As Represented By The National Security Agency Method of elliptic curve digital signature using coefficient splitting
US7024559B1 (en) 2002-06-28 2006-04-04 The United States Of America As Represented By The National Security Agency Method of elliptic curve digital signature using expansion in joint sparse form
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7124327B2 (en) 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
US8239917B2 (en) * 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7073042B2 (en) 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US7318235B2 (en) 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
EP1595190B1 (en) * 2003-02-21 2006-09-27 Telefonaktiebolaget LM Ericsson (publ) Service provider anonymization in a single sign-on system
US20040181517A1 (en) * 2003-03-13 2004-09-16 Younghee Jung System and method for social interaction
JP2006523995A (en) * 2003-03-21 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Privacy of user identity in authorization certificate
US20040205029A1 (en) * 2003-04-11 2004-10-14 Eastman Kodak Company Method for securely purchasing goods and/or services over the internet
AU2004239780B2 (en) * 2003-05-13 2009-08-27 Assa Abloy Ab Efficient and secure data currentness systems
CA2529800A1 (en) * 2003-06-17 2004-12-29 Visa International Service Association Method and systems for securely exchanging data in an electronic transaction
WO2005001653A2 (en) * 2003-06-24 2005-01-06 Corestreet, Ltd. Access control
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US7793227B2 (en) 2003-08-12 2010-09-07 Yahoo! Inc. Method and system of providing customizable buttons
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7245718B2 (en) * 2003-08-26 2007-07-17 Mitsubishi Electric Research Laboratories, Inc. Low bandwidth zero knowledge authentication protocol and device
US7424709B2 (en) 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7409545B2 (en) * 2003-09-18 2008-08-05 Sun Microsystems, Inc. Ephemeral decryption utilizing binding functions
US7610611B2 (en) * 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7237051B2 (en) 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
JP4741503B2 (en) * 2003-10-28 2011-08-03 サーティコム コーポレーション Method and apparatus for generating verifiable public key
US7636844B2 (en) * 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
AU2004294164B2 (en) * 2003-11-19 2010-06-10 Assa Abloy Ab Distributed delegated path discovery and validation
US20050108171A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US20050136837A1 (en) * 2003-12-22 2005-06-23 Nurminen Jukka K. Method and system for detecting and using context in wireless networks
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050154879A1 (en) * 2004-01-09 2005-07-14 David Engberg Batch OCSP and batch distributed OCSP
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) * 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7647498B2 (en) * 2004-04-30 2010-01-12 Research In Motion Limited Device authentication
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US8363835B2 (en) * 2004-07-21 2013-01-29 Sanyo Electric Co., Ltd. Method for transmission/reception of contents usage right information in encrypted form, and device thereof
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US20060075075A1 (en) * 2004-10-01 2006-04-06 Malinen Jouni I Method and system to contextually initiate synchronization services on mobile terminals in an enterprise environment
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US7205882B2 (en) * 2004-11-10 2007-04-17 Corestreet, Ltd. Actuating a security system using a wireless device
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) * 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
EP1882330A1 (en) * 2005-05-20 2008-01-30 Bayerische Motoren Werke Aktiengesellschaft Method for creating and transmitting a key pair between a certification authority and a receiver
ATE492956T1 (en) * 2005-09-06 2011-01-15 Nero Ag METHOD AND DEVICE FOR DETERMINING A COMMUNICATION KEY BETWEEN A FIRST COMMUNICATION PARTNER AND A SECOND COMMUNICATION PARTNER USING A THIRD PARTY
WO2007028407A1 (en) * 2005-09-06 2007-03-15 Nero Ag Method for signing a data package and signing apparatus
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
FR2905187B1 (en) * 2006-08-22 2012-11-16 Ingenico Sa BIOMETRIC ELECTRONIC PAYMENT TERMINAL AND TRANSACTION METHOD
US8181227B2 (en) * 2006-08-29 2012-05-15 Akamai Technologies, Inc. System and method for client-side authenticaton for secure internet communications
US7613915B2 (en) 2006-11-09 2009-11-03 BroadOn Communications Corp Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed
KR20080050937A (en) * 2006-12-04 2008-06-10 삼성전자주식회사 Method for performing authentication and appartus therefor
US7958057B2 (en) * 2007-03-28 2011-06-07 King Fahd University Of Petroleum And Minerals Virtual account based new digital cash protocols with combined blind digital signature and pseudonym authentication
EP1986146A1 (en) * 2007-04-27 2008-10-29 Gemplus Transaction method between two entities providing anonymity revocation for tree-based schemes without trusted party
US7877331B2 (en) * 2007-09-06 2011-01-25 King Fahd University Of Petroleum & Minerals Token based new digital cash protocols with combined blind digital signature and pseudonym authentication
US9177313B1 (en) 2007-10-18 2015-11-03 Jpmorgan Chase Bank, N.A. System and method for issuing, circulating and trading financial instruments with smart features
US7522723B1 (en) 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
US9621341B2 (en) * 2008-11-26 2017-04-11 Microsoft Technology Licensing, Llc Anonymous verifiable public key certificates
FR2969879A1 (en) * 2010-12-23 2012-06-29 France Telecom ANONYMOUS ACCESS TO SERVICE WITH AGREGATE CERTIFICATES
JP2012253589A (en) * 2011-06-03 2012-12-20 Nippon Telegr & Teleph Corp <Ntt> Multiple encryption key delivery system, multiple encryption key delivery method, and program
DE102012017826A1 (en) * 2012-09-10 2014-03-13 Giesecke & Devrient Gmbh Method of creating a derived instance of an original volume
KR101390480B1 (en) * 2013-10-15 2014-04-30 펜타시큐리티시스템 주식회사 Apparatus for providing service of genuine certification and method thereof
US10243738B2 (en) 2015-12-04 2019-03-26 Microsoft Technology Licensing, Llc Adding privacy to standard credentials
WO2018152611A1 (en) * 2017-02-23 2018-08-30 Infosec Global Inc. Elliptic curve cryptography scheme for edwards curves having a differential side-channel attack countermeasure
US10374808B2 (en) 2017-03-08 2019-08-06 Bank Of America Corporation Verification system for creating a secure link
US10432595B2 (en) 2017-03-08 2019-10-01 Bank Of America Corporation Secure session creation system utililizing multiple keys
US10425417B2 (en) 2017-03-08 2019-09-24 Bank Of America Corporation Certificate system for verifying authorized and unauthorized secure sessions
US10361852B2 (en) 2017-03-08 2019-07-23 Bank Of America Corporation Secure verification system
CN107612697B (en) 2017-10-20 2020-04-14 阿里巴巴集团控股有限公司 Digital certificate application method and device
US11544737B2 (en) 2018-06-10 2023-01-03 Brave Software, Inc. Attention application user classification privacy

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4759063A (en) * 1983-08-22 1988-07-19 Chaum David L Blind signature systems
US4947430A (en) * 1987-11-23 1990-08-07 David Chaum Undeniable signature systems
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5373561A (en) * 1992-12-21 1994-12-13 Bell Communications Research, Inc. Method of extending the validity of a cryptographic certificate
US5475753A (en) * 1993-11-12 1995-12-12 Matsushita Electric Corporation Of America Apparatus and method for certifying the delivery of information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005107133A1 (en) * 2004-05-05 2005-11-10 Research In Motion Limited System and method for sending secure messages

Also Published As

Publication number Publication date
ES2170167T3 (en) 2002-08-01
WO1996012362A2 (en) 1996-04-25
US5606617A (en) 1997-02-25
AU3755695A (en) 1996-05-06
ATE211870T1 (en) 2002-01-15
EP0786178A1 (en) 1997-07-30
WO1996012362A3 (en) 1996-05-30
EP0786178B1 (en) 2002-01-09
JP2002515128A (en) 2002-05-21
PT786178E (en) 2002-05-31
DE69524968D1 (en) 2002-02-14
DK0786178T3 (en) 2002-04-29
AU705406B2 (en) 1999-05-20

Similar Documents

Publication Publication Date Title
AU705406B2 (en) Secret-key certificates
US7716484B1 (en) System and method for increasing the security of encrypted secrets and authentication
Boyd et al. Off-line fair payment protocols using convertible signatures
JP2666191B2 (en) Subscriber mutual identification in a data exchange system and method for generating and verifying signatures
US6282295B1 (en) Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US6202150B1 (en) Auto-escrowable and auto-certifiable cryptosystems
US6389136B1 (en) Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
JP2019507510A (en) Common secret determination for secure exchange of information and hierarchical and deterministic encryption keys
KR100718489B1 (en) Signature process, computer program, apparatus and signature system for the new fair blind signature
JP2000502553A (en) Key agreement and transport protocol using intrinsic signature
GB2490407A (en) Joint encryption using base groups, bilinear maps and consistency components
US20160269397A1 (en) Reissue of cryptographic credentials
CN111162912B (en) Verification method and device suitable for block chain and storage medium
Wang et al. Untraceable off-line electronic cash flow in e-commerce
CN111615810A (en) Computer-implemented method and system for acquiring digitally signed data
KR20030062401A (en) Apparatus and method for generating and verifying id-based blind signature by using bilinear parings
US6243466B1 (en) Auto-escrowable and auto-certifiable cryptosystems with fast key generation
CN108712259A (en) Identity-based acts on behalf of the efficient auditing method of cloud storage for uploading data
US6148084A (en) Restrictedly blindable certificates on secret keys
Gao et al. Quantum election protocol based on quantum public key cryptosystem
JP3513324B2 (en) Digital signature processing method
KR20010013155A (en) Auto-recoverable auto-certifiable cryptosystems
JP4307589B2 (en) Authentication protocol
JPH09200198A (en) Message verfication system
EP4181457A1 (en) Quantum based method and system for performing cryptocurrency asset transactions

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued