IMPLEMENTATION OF BLOM’S KEY PREDISTRIBUTION SCHEME BY USING ELLIPTIC CURVE CRYPTOGRAPHY

Cryptography, along with its various methods is used to serve the security communication purpose. Cryptography is said to be secure if the encryption key is hard to break by the attacker. Initially, Blom’s Key pre-distribution uses an integer finite field which makes this scheme easy to be intervened by attackers and criminal activists. Hence, this study suggests implementing the Elliptic Curve Cryptography to better enhance the security of the original Blom’s. In this proposed scheme, points generated from the elliptic curve will be appointed as public identifiers to be used in the original scheme. The private key and session key of each user are generated using the addition law mathematical operation with public identifiers assigned. Two users who intend to communicate with each other will obtain a common session key. Overall, the modification of Blom’s Key pre-distribution scheme will be presented in this study.


Introduction
Cryptography is a mathematical technique that provides authentication, identification to user data, confidentiality and also provides security to the data stored (Pitchaiah & Daniel, 2012). Maqsood et al. (2017) defined cryptography as the art of secret writing that allows only the sender and intended recipient of a message to view its contents. In daily life, cryptography is applied to a wide range of security-based systems such as ATM cards with a PIN, e-mails or any online transactions, authenticity using digital signage or biometrics, and currently in the most popular mobile messaging application, WhatsApp. Encryption and decryption are two main processes in cryptography to keep the secret message from being viewed by unauthorised parties. In the encryption process, a message (plaintext) is transformed by algorithms into indecipherable form (ciphertext) while the process of converting ciphertext to plaintext is decryption. Besides, senders and recipients need to have "keys" to encrypt and decrypt messages. Keys are generated to be used with a given suite of algorithms, called a cipher. Abualghanam et al. (2019) state that the key size, which is the number of digits that represents the key, affects the time needed for encrypting and decrypting the message. Note that the larger the key size, the more difficult will it be to crack the algorithm.
Generally, there are three types of key agreement protocol: trusted-server scheme, selfenforcing scheme and key pre-distribution scheme. Blom's Key pre-distribution scheme introduced by Blom (1984) enables privileged users to generate private keys when a trusted authority gives out a set of keys of which he can calculate the public key with any other user using open information (Belim & Belim, 2019). However, this scheme is said to be vulnerable and will be disrupted when an attacker compromises the keys of at least several users (Chan, 2004). This occurs because Blom's Key pre-distribution scheme uses an integer finite field which lowers the computation required for the attacker to regenerate every common shared key previously.
Elliptic Curve Cryptography (ECC) is an approach for security communication by utilising the mathematics behind elliptic curves and it involves a more complicated computation than the factoring integers problem, such as the elliptic curve discrete log problem to generate security between key pairs (Kavyashree et al., 2016). The security of ECC depends on the ability to compute a point multiplication and the inability to compute the multiplicand given the original and product points. Thus, the main objective of this study is to modify Blom's Key pre-distribution using the functions and characteristics of the elliptic curve and discrete logarithm problem for a more efficient and enhanced security scheme. Then the modified method will show mathematically to prove that the process to generate key session is successful between two parties.

Literature Review
There are many cryptography algorithms used to secure information such as DES, 3DES, Blowfish, AES, RSA, ElGamal and Paillier (Al Hasib & Haque, 2008). It can be noted that each of these algorithms is unique. However, the main problem is to produce algorithms that can provide a high level of security while only requiring a short time in key generation, encryption and decryption of information. Elliptic Curve Cryptography (ECC) is an example of asymmetric cryptography which was established independently by Miller (1985) and Koblitz (1987). Unlike symmetric key algorithms that rely on a single private key to both encrypt and decrypt, asymmetric key algorithms use a pair of keys whereby each key performs a unique function. The public key is used to encrypt and the private key is used to decrypt. Eschenauer & Gligor (2002) suggested a probabilistic key distribution scheme to demonstrate neighboring nodes between pair-wise keys. The proposed scheme suggests that each of the nodes which are already loaded with a key subset from a global key pool where any two neighboring nodes can share at least one common key with a certain probability. The disadvantages of low accessibility without any support for cluster performance and also low in authentication; whereas the advantages are it requires less storage and it is strong against attacks. Later, Dai et al. (2006) have proposed a combination of two schemes which are the Lower-Upper (LU) Decomposition Scheme and Modified Blom's Symmetric Key Generation to improve the security and resource-efficiency in wireless sensor networks.
Moreover, Wang et al. (2008) prove that the public-key scheme can preferably be better regarding memory usage, message complexity and security resilience. The study uses Elliptic Curve Cryptography based scheme which is ECC-Cert and ECC-PreComp. Although symmetric-key such as Blom's Key pre-distribution Scheme is very efficient in processing time for sensor networks they require complex key management, which may result in large memory and communication overhead. On the other hand, the advances of this new public key like Elliptic Curve Cryptography (ECC) has simpler and cleaner key management but requires more computational time. Similarly, Du et al. (2005) also proved that Blom's Key pre-distribution has much poorer security resilience as compared to the ECC-based pairwise key schemes.
Due to the rapid development of technology to break encrypted keys, thus the size of the encrypted key must continue to grow to remain secure. As a result, it can be a burden for certain devices such as mobile phones that do not have high computing power. Recently, Elliptic Curve Cryptography has become increasingly popular due to its ability to provide the same level of security as RSA with much smaller key sizes.
This has been shown in Malik (2010) who concludes that ECC uses less power to function, strong enough to assure the same or even better level of security and it also works systematically in terms of memory storage as compared to RSA. Hence, this makes ECC an ultimate choice to be a security algorithm implemented for mobile, portable devices and other lower power applications. Therefore, Elliptic Curve Cryptography has been proved to offer practical and efficient solutions to key management since this scheme offer an alternative to the future generation of public-key cryptosystems besides using post-quantum algorithms.

Elliptic Curve over ℤ p
Elliptic curve over prime numbers, are central of public key cryptography. Let be a prime number, then the equation of elliptic curve over prime number is defined as: where ℤ p are constant such that is the set of solution of ℤ p x ℤ p together with a point at infinity, .

Determine Points on Elliptic Curve over ℤ p
We can determine all points on the elliptic curve over ℤ p by first looking at each possible ℤ p, computing , then we try to solve equation (1) for . For a given we test if is a quadratic residue by applying Euler's criterion (Stinson & Paterson, 2018). There is an explicit formula to compute square roots of quadratic residue modulo for which is (2) Table 1 shows all points on the elliptic curve, .

Point Multiplication
is isomorphic to ℤ p since any group of prime order is cyclic, and any point other than the point at infinity is a generator of . Let the generator . To compute the "power" of (since the group operation is additive, then we will write as multiple of ). To compute , we need to compute then we have so .
To compute . We start again computing then we have so . The process is continuing to find ( is multiple of ).

Blom's Key Pre Distribution Scheme
Let a network has n users, then choose p be a prime. All users know the prime p. The network also assigned trusted authority (TA). TA will compile verification algorithms and made them public. TA also certifies that verU is a verification of and not for the attacker. Then, Blom's Key pre-distribution scheme is shown in the following Figure 1 below (Trappe, 2006).   (5) and sends them via his secure channel to . (6) while Bob computes (7) is shown below.

Modification of Blom's Key Pre-distribution Scheme
The original Blom's Key pre-distribution scheme is modified and improvised by implementing the elliptic curve cryptography. Let a network has users, then choose be a prime such that . All users know the prime . The network also assigned trusted authority (TA). TA will compile verification algorithms and made them public. TA also certifies that is the verification of and not for the attacker. The new scheme is as shown in Figure 1.   (10) and sends them in his secure channel to .
5. If Ali (A) wants to communicate with Bob (B), then Ali computes (11) while Bob computes (12) is shown below.
The modification of Blom's Key Pre-distribution scheme in this study includes the utilization of the chosen elliptic curve equation and its parameter which are: where , and . The detailed calculation of the whole process of modified Blom's Key pre-distribution scheme is demonstrated below.
Each user is given a random public key such that , where user A, and user B, . The trusted authority then will assign three points from the elliptic curve as public identifiers randomly, Then, the trusted authority computes and for each user using the formula stated in Figure 2 where the calculations use the addition law over mod p. The calculation and for user A using additive law and multiplicative law is as follows: x y x y z x y x y z z p x y x y z x y z x y z z p x y x y z x y z x y z z p By using multiplicative law to find .
Using additive law and multiplicative law to find .
The same method is applied to find and for user B and the results are: The system will compute using and .   If user A wants to communicate with user B, then the session key of and need to be generated where both of the session keys are similar.
Therefore, it was proven that and are equal. Then, this session key will be used through symmetric encryption system when user A and user B wish to communicate with each other.

Conclusion
In the first instance, this study focused on modifying Blom's Key pre-distribution scheme by implementing the elliptic curve to overcome the deficiency and utilizes the complexity of the scheme to become more secured for the users. Since the functions and the elements from the elliptic curves are more complicated and can generate many points, it managed to help increase the security of the session key and any other keys from the attackers. In this study, it was proven that the elliptic curve can be implemented in Blom's Key pre-distribution scheme competently and effectively. Moreover, it has been shown that the modified scheme can generate a common session key share between two users such that to be used in the encryption and decryption processes. To enhance the modification of Blom's Key pre-distribution scheme, future researchers should apply some of the protocols in Elliptic Curve Cryptography and run a few tests on the scheme to be able to know the performance of the proposed scheme. By implementing a protocol, the scheme may become more secured, efficient and uses less computational power.