# Building Scalable and Secure Multicast Delivery Infrastructure in a Local Area Network
## 3 Pseudo-Identity Based Encryption Framework
In our application domain, the CA may be a part of the IT department who maintains the inventory of PCs (end-hosts), servers and network devices (such as routers and switches). They play a very important role in maintaining the list of active devices in the network. Let \(N\) be the modulus for the underlying RSA. The CA then computes a non-trivial public and private key pair (\(d\),\(e\)) for the system. The CA must ensure that \(d\) and \(e\) form a strong key-pair. It is easy to see that both \(d\) and \(e\) are odd numbers and \(d*e\equiv 1(mod\,\phi(N))\), where \(\phi(N)\) is the Euler's totient function. The next task is to distribute \(d\) to \(k\) or more shareholders through a threshold system polynomial of degree (\(k\)-1). Let \(f(x)=d+R(x)\), where \(R(x)=a_{1}x+a_{2}x^{2}+\ldots+a_{k-1}x^{k-1}\) be the system polynomial of degree (\(k\)-1). The coefficients \(a_{i}^{\prime}s\) belong to some ring of integers \(\mathcal{Q}\). Except \(k\) and the modulo \(N\), all other parameters such as the key-pairs and the system polynomial are kept secret. For a node with identity \(A\), its secret share is \(SK_{A}=f(A)=(d+R(A))\) (\(mod\,N\)). Note that \(SK_{A}\) may not have a public-key component. The following results are from [PERSON] (2018), which ensures that \(SK_{A}\) may have a public-key component. **Theorem 1**. : _The necessary condition for \(SK_{A}\) to have a public-key component is that \(SK_{A}\) is an odd number and \(SK_{A}\) is not a multiple of \(N\), \(P\) and \(Q\), where \(N=P*Q\) is the modulo of the underlying cryptosystem and \(P\), \(Q\) are the prime decomposition of \(N\)._  
Since \(SK_{A}=d+R(A)\), \(SK_{A}\) is an odd number if and only if \(R(A)\) is an even number (as \(d\) is an odd number). The following theorem from [8] ensures that \(R(A)\) is an even number for any \(A\). **Theorem 2**. : _Let \(R(x)=a_{1}x+a_{2}x^{2}+\ldots+a_{k-1}x^{k-1}\), where \(a_{i}^{\prime}s\) belong to some ring of integers \(Q\). \(R(i)\) is an even number for every integer \(i\) if and only if the number of odd \(a_{i}^{\prime}s\) are even._  
We now outline how the threshold key system is modified, so that every secret share has a corresponding public-key component. _Step 1:_ The network administrator and the system administrator take inventory of all the current end-hosts and the network devices connected to the network. Each device is identified through a unique name. This is in line with the best practices in network design [11]. Names are assigned to many different types of resources (such as routers, switches, servers, end-hosts, printers, etc.). A good naming model should let a user transparently access a service by name, rather than address. At this stage, the network and the system administrator must also consider provision for scalability. It is a common practice to allow 10% growth per annum. Once the names are created, including for the reserved one, we move to step 2. _Step 2:_ Let \(X_{i}\) be the non-forgeable identity of the \(i\)-th shareholder. Similar to the identity-based cryptography, the non-forgeable identity may represent its unique device name, MAC address, IP address etc. It's private and public-key pair is computed as follows: Choose the smallest integer \(r_{i}^{1}\) such that \(SK_{i}^{1}=f(X_{i}+r_{i}^{1})=d+R(X_{i}+r_{i}^{1})(mod\ N)\) has a public-key component \(PK_{i}^{1}\) and it is not distributed to any shareholder before. Since the modulo \(n\) is usually a very large integer, such \(r_{i}^{1}\) will always exist. Now, \(SK_{i}^{1}\) is the secret share for the node \(X\) with the non-forgeable ID \(X_{i}\) and \(PK_{i}^{1}\) is its public-key component for this corresponding \(SK_{i}\). \(<SK_{i}^{1},PK_{i}^{1}\), \(N>\) is loaded on to \(X_{i}\)'s configuration during the initial setup process. _Step 3:_ In this step, we establish a one-to-one relationship between a node's public identity and its public-key.