## 3 Chebyshev Polynomial  
The Chebyshev polynomial introduced by mathematician [PERSON] is a sequence of an orthogonal polynomial and is related to trigonometric multi-angle formulae. Various characteristics of the Chebyshev polynomial make it useful in applications, such as an approximation of a function, polynomial solving, waveform synthesis, trigonometry identities, numerical analyses, and cryptography. The Chebyshev polynomial can be defined [26] as given in Equation (1). \[T_{n}(x)= \begin{cases}cos(n.arccos(x))&\text{if }x\in[-1,1]\\ cos(n\theta)&\text{if }x=\text{cos}\theta,\theta\in[0,\pi]\end{cases}  \tag{1}\]  
The Chebyshev polynomial can also be defined in recursive form [27], as shown in Equation (2). \[T_{n+1}(x)= \begin{cases}1&\text{if n}=0\\ x&\text{if n}=1\\ 2 xT_{n}(x)-T_{n-1}(x)&\text{if n}>=2\end{cases}  \tag{2}\]  
In both equations, \(n\) is a large integer and defines the degree of the Chebyshev polynomial. The variable \(x\) can be defined as a whole number integer if the Chebyshev value \(T_{n}(x)\) is required to be a whole number. Alternatively, \(x\) can be defined as \([-1,1]\) to compute the Chebyshev values in the range of \([-1,1]\). To understand more about Chebyshev polynomials, the first few polynomials are derived from Equation (2) and are shown in Equation (3) where \(n\) can be from 0 to \(\infty\). \[T_{n}(x)= \begin{cases}1&\text{if n}=0\\ x&\text{if n}=1\\ 2x^{2}-1&\text{if n}=2\\ 4x^{3}-3x&\text{if n}=3\\ 8x^{4}-8x^{2}+1&\text{if n}=4\\ 16x^{5}-20x^{3}+5x&\text{if n}=5\\ 32x^{6}-48x^{4}+18x^{2}-1&\text{if n}=6\\ \ldots\ldots\\ 1024x^{11}-2816x^{9}+2816x^{7}-1232x^{5}+220x^{3}-11x&\text{if n}=11\\ \ldots\ldots\end{cases}  \tag{3}\]  
The Chebyshev polynomial has many important properties, but for cryptography applications, the _semigroup_ property is the most important one [27]. For two large integers, \(p\), \(q\), and one other integer, \(x\), the _semigroup_ property is given in Equation (4). \[T_{p}(T_{q}(x))=T_{pq}(x) \tag{4}\]  
This _semigroup_ property of the Chebyshev polynomial shown in Equation (4) can be used in cryptography to encrypt and decrypt the message \(m\) using ElGamal's public key cryptosystem. To securely receive a message, [PERSON] will generate a large integer \(ska\), another number \(x\), and compute \(Cheby_{[PERSON]}=T_{ska}(x)\). \(Cheby_{[PERSON]}\) is the Chebyshev polynomial value for [PERSON]. For her, \((x,Cheby_{[PERSON]})\) will be her public key, whereas \(ska\) will act as her private key. Let us assume [PERSON] wants to send a message (\(m\)) to [PERSON]. He will generate a large integer \(skb\), compute \(Cheby_{[PERSON]}=T_{skb}(x)\), and then \(T_{AliceBob}=T_{skb}(Cheby_{[PERSON]})\). [PERSON] will also compute \(M\) as \(M=m\)\(X\)\(T_{AliceBob}\). [PERSON] is now ready to send cipher text \(C\) to [PERSON] in the form of \(C=([PERSON]_{[PERSON]},M)\). When [PERSON] receives cipher text \(C\), she computes \(T_{AliceBob}\) using the formula \(T_{AliceBob}=T_{ska}([PERSON]_{Bob})\). She can then decrypt message \(m\) by dividing cipher text \(C\) with \(T_{AliceBob}\). In the proposed group authentication mechanism, we used this Chebyshev polynomial-based cryptosystem along with Blockchain technology to facilitate the group authentication for IoT devices situated in different geographic locations under different authorities. Figure 1 shows the overall general working principle of the proposed scheme, which shows how the Chebyshev polynomial can be used for two entities. Authentication can be divided into two parts. Each entity, such as an IoT device, will use a Chebyshev polynomial with a pre-determined degree. In the first part, the degree of the Chebyshev polynomial is securely shared with corresponding entities using a smart contract as shown in Figure 1A. The second part deals with group authentication as shown in Figure 1B. The first entity computes _Cheby_val1_ using degree \(n1\) previously sent to it and a generated variable \(var1\). Entity 1 will send _Cheby_val1_ and \(var1\) to the smart contract.