Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
CPK In One Page
1. CPK in One Page 2. CPK Center Create User “alice”
• SHA1(“alice@pku.cn”) => 20-byte hash
• 20-byte hash => 32 * 5-bit index
Combined Public Key •ECC Parameters
(j1, j2, j3, ……, j32)
Cryptosystem (CPK) is an • y2=x3+ax+b mod p
Identity Based Encryption (IBE) • p, a, b are EC parameter • SM[32*index] => 32 private key factors
scheme, which is a public-key • G is a selected base point (r1j1, r2j2, r3j3, ……, r32j32)
cryptosystem where any string • points and operation on EC • Private key of alice
is a valid public key, such as form a group. = r1j1+r2j2+…+ r32j32
email address alice@pku.cn. • n is group order.
• Public key of alice
• Users who share a public Private Key on ECC
= r1j1G+r2j2G+… + r32j32 G
parameter (called public key • k: an integer, 0<k<n
• Private key is send to alice secretly.
matrix in CPK) can encrypt a Public Key on ECC:
• Public key factor matrix is published
message or verify a signature • P = k*G: a point
publicly.
by other’s identity (such as
email address) without his X. (a+b)*G = a*G + b*G
3. Communication
509 certificate.
• CPK is based on
Alice:
Elliptic Curve Cryptography
encrypt(message, “bob@pku.cn”,
(ECC).
PublicKeyFactorMatrix)
=>ciphertext
sign(message, alice’s PrivateKey)
=>signature
Bob:
verify(signature, PublicKeyFactorMatrix)
=> verify success
1. CPK Center Initialization
signer is “alice@pku.cn”
Init ECC parameters
decrypt(ciphertext, Bob’s PrivateKey )
Init Private Key Factor Matrix
=> decrypt success
(SM), a 32x32 matrix of
output message
random private keys.
EC Point addtion Init Public Key Factor Matrix
R=P+Q (PM), PM[i][j] = SM[i]
EC Point scalar multiplication [j]*G.
k*P = P + P + … + P