International Journal of Automation and Power Engineering (IJAPE) Volume 3 Issue 4 August 2014 DOI: 10.14355/ijape.2014.0304.01
www.ijape.org
Combined Public Key (V8.0) Xianghao Nan Orient Stec Institute of Information Technology Gaoliying, IAHP, Shunyi District, Beijing China Nanxh2001@163.com
Abstract: Combined Public Key (CPK) provides a common method to turn the existing public key into an identity-based public key. CPK can solve the hard problem of large-scaled key management and identity authentication[1], and can solve the new problem of dealing with the quantum exhaustion attack. Keywords Combined Public Key; CPK Crypto-system (CPK v8.0); Identity Authentication; Quantum Exhausting Attack
Introduction In modern public key systems, the public-key distribution has been a hard problem. In 1984, Shamir put forward for the first time if the identity can be taken as public-key, and constructed a public key system based on integer factoring problem, it has been the famous identity-based crypto scheme: IBC [2].
According to “truth logic”, an entity is composed of identity and body, and the “identity” means the unique name of an entity[3][4]. In 1989, the first identity-based pubic key system CPK-RSA is created in China and applied to the defense network, and released in 2003 by the topic of “multi-layered public key” [5]. CPK has been formed a big family, including CPK-RSA, CPK-DLP, CPK-ECC, CPK-CCC(conic curve)[6] and CPK-BLP(bi-linear pair), where in only CPK-ECC has the shortest signature code. Now we are going to take CPK-ECC as an example to illustrate the working procedure. CPK-ECC is constructed on ECC over field Fp, E: y2 =x3 + ax + b mod p, the parameters are denoted as (a, b,G, n, p), in which a, b is coefficient, a,b,x,y∈Fp, p is prime, G is the base point of the addition group, n is the order of group generated by base point G [7][8]. Let an arbitrary integer r∈Fn be a private key. Then the point, rG=R, is the corresponding public key. The ECC has a compounding feature: the sum of public keys and the
sum of corresponding private keys are still the valid key pairs. For example, if the sum of private keys is: r = (r1 + r2 + ┄ + rm) mod n and the sum of corresponding public keys will be R = R1 + R2 + ┄ + Rm then (r, R) will be a new key pair. This is because R = R1 +R2 + ┄ +Rm = r1G+r2G+ ┄ +rmG = (r1 +r2 + ┄ +rm)G = rG. Combining-Matrix is divided into private matrix and public matrix, and is denoted as (ri,j) and (Ri,j) respectively, where r is random number less than n. Matrix (ri,j) is kept secret only in KDC, and is used to produce private keys for individual entity. The public matrix (Ri,j) is derived from private matrix (ri,j) ri,j⋅G=Ri,j. Public matrix is distributed to every entity and used to compute the public key of relying party. Combined-Key Combined-key is derived from Combining-matrix A. the size of matrix is (32,32). The mapping from identity to the coordinates in the matrix is implemented through a Hash function under a certain Hkey. The output is an integer string. YS = HashHkey (ID) = w0, w1, … ,w35; The string of YS is divided into four groups of wi,j (i=0..3; j=1..8): w0,0..w0,8; w1,0..w1,8; w2,0..w2,8; w3,0..w3,8, where w0,0, w1,0, w2,0 and w3,0 is a 6-bit character used to determine the permutation disk(3-bit), and starting point(3-bit), and w0,1..w0,8, w1,1..w1,8, w2,1..w2,8, w3,1..w3,8, are 5-bit characters used to indicate the raw coordinate of matrix A. The column coordinates are transformed by permutation table. The table is sized by 8×8, and is encrypted and published in CPK chip. For an example, the given permutation table is 119