cpk in one page

1

Click here to load reader

Upload: zhi-guan

Post on 23-Jun-2015

829 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: CPK In One Page

CPK in One PageCombined Public Key Cryptosystem (CPK) is an Identity Based Encryption (IBE) scheme, which is a public-key cryptosystem where any string is a valid public key, such as email address [email protected]. • Users who share a public parameter (called public key matrix in CPK) can encrypt a message or verify a signature by other’s identity (such as email address) without his X.509 certificate.• CPK is based on Elliptic Curve Cryptography (ECC).

•ECC Parameters• y2=x3+ax+b mod p• p, a, b are EC parameter• G is a selected base point• points and operation on EC form a group.• n is group order.Private Key on ECC• k: an integer, 0<k<nPublic Key on ECC:• P = k*G: a point

(a+b)*G = a*G + b*G3. Communication

Alice: encrypt(message, “[email protected]”, PublicKeyFactorMatrix) =>ciphertext sign(message, alice’s PrivateKey) =>signature Bob: verify(signature, PublicKeyFactorMatrix) => verify success signer is “[email protected]” decrypt(ciphertext, Bob’s PrivateKey ) => decrypt success output message

1. CPK Center Initialization Init ECC parameters Init Private Key Factor Matrix

(SM), a 32x32 matrix of random private keys.

Init Public Key Factor Matrix (PM), PM[i][j] = SM[i][j]*G.

2. CPK Center Create User “alice” • SHA1(“[email protected]”) => 20-byte hash• 20-byte hash => 32 * 5-bit index (j1, j2, j3, ……, j32)• SM[32*index] => 32 private key factors (r1j1, r2j2, r3j3, ……, r32j32)• Private key of alice = r1j1+r2j2+…+ r32j32

• Public key of alice = r1j1G+r2j2G+… + r32j32 G • Private key is send to alice secretly.• Public key factor matrix is published publicly.

EC Point addtion R = P + QEC Point scalar multiplication k*P = P + P + … + P