Patent ID: 6738899
Filing Date: 2004-05-18
Classification: G06Q,G07B,H04L

Abstract:
A method for controlling, and distributing information among, a plurality of stations, one of said stations being a user station operated by a user U to generate a private encryption key KeyU and others of said stations being certifying stations operated by a plurality of certifying authorities for publishing related information, so that a corresponding public key KeyU*P of said user U can be determined by a party communicating with said user U from said published related information with assurance that said public key KeyU*P has been certified by each of said plurality of certifying authorities CA, said method comprising the steps of:a) defining a finite group [P] with a binary operation [+] and publishing a particular point P in said group; b) defining and publishing a binary operation K*p, where K is an integer and p is a point in said group, such that K*p, is a point in said group computed by applying said operation [+] to K copies of said point p, and computation of K from knowledge of the definition of said group [P], said point p, and K*p is hard; c) controlling one of said certifying stations to publish a certificate CERTU for said user U, wherein; CERTU=(rU+sum(rCAi))*P; and wherein rU is a random integer known only to said user U and sum(rCAi) is a sum of a plurality of random integers rCAi, an ith one of said certifying stations generating an ith one of said random integers rCAi;d) controlling one of said certifying stations to publish a message M; e) controlling said certifying stations to generate a plurality of integers Ii, and send at least sum(Ii) to said user station, wherein; Ii=rCAi+H(M)KeyCAi; and wherein H(M) is an integer derived from said message M in accordance with a publicly known algorithm H, and rCAi is one of said random integers generated by, and KeyCAi is a private key of, an ith one of said certifying authorities CA;f) publishing a public key KeyCAi*P for each of said certifying authorities CA; and g) controlling said user station to compute a private key KeyU, wherein KeyU=rU+sum(Ii)=rU+sum(rCAi)+sum(H(M)KeyCAi); whereby h) said communicating party can compute said user's public key KeyU*P as KeyU*P=CERTU+H(M)*sum[+](KeyCAi*P)=(rU+sum(rCAi))*P+sum(H(M)KeyCAi)*P from knowledge of H, M, [P], said public keys KeyCAi*P, and CERTU.