Based on cyclic codes” is my own work, except for quotations and citations which are duly acknowledged. I certify that this project report entitled "Construction of Secret Sharing Schemes Based on Cyclic Codes" prepared by HOO MEI HUI has met the required standard of submission in partial fulfillment of the requirements for the award of Bachelor of Science (Hons.) Mathematics in Applied Computer Science at Universiti Tunku Abdul Rahman. A secret sharing scheme is a method of breaking down a secret into smaller parts called shares and distributing them among a group of participants.
Binary cyclic codes were used here as we believed that the basic polynomial properties of cyclic codes facilitate the implementation of secret sharing schemes. To construct cyclic codes, we used the approach of cyclotomic cosets and represented them in terms of set algebra notation. In order to construct cyclotomic cosets modulo n for any integer n, we developed a program to generate them.
After the construction of cyclic codes forn = 9,25 and 49 based on all the possible generating idempotents, we selected a pair of cyclic codes where we can list all its code words to construct the secret sharing schemes. Although we did not discover any general pattern for the secret sharing schemes based on the generating idempotent, but we are interested in investigating further in a future work.
C HAPTER 1: I NTRODUCTION
We proposed using cyclotomic subgroups and representing them in terms of group algebra to construct cyclic codes. We then constructed some cyclic codes based on cyclotomic subgroups in terms of group algebra for some of the theorems. Our project used cyclotomic side groups to generate cyclic codes and cyclic codes to set up secret-sharing schemes.
In the second part, we constructed the cyclic codes for n = 9,25 and 49 using the theorems from the first part. Then, in the last section, we constructed the secret-sharing schemes using some of the cyclic codes from the second section, where we can enumerate all the codewords to find all the minimum codewords. In addition, we provided a table where we listed all the cyclic codes we constructed and indicated which cyclic codes were used to set up secret-sharing schemes.
The study on secret division schemes and cyclic codes was ongoing throughout project 1 and project 2. Around week 8 the study on cyclotomic cosets began as it relates to the construction of cyclic codes.
C HAPTER 2: L ITERATURE R EVIEW
Coding theory is the study of the properties of error-correcting codes used for data compression, cryptography, and network encryption. A special type of linear code is the cyclic code first studied by Prange in 1957. In general, determining the minimum distance of a cyclic code from its generator polynomial was a tedious process.
However, by choosing a special generator polynomial, we can categorize them into different families of cyclic codes, such as the Hamming codes, BCH codes and Reed-Solomon codes. However, if we want to correct more than one error, we may need to increase the minimum distance by either lengthening or shortening the code words. To correct multiple errors in a codeword, the family of Bose, Chaudhuri, and Hocquenghem (BCH) codes was developed.
C HAPTER 3: C YCLIC C ODES
In coding theory, the basis of a linear code is often represented in the form of a matrix known as the generator matrix, where the rows of the matrix are equivalent to the basis of the code. A subset{i1, .., it}ofFn is called a complete set of representatives of cyclotomic compositions of qmodulonifCi1, .., Cit are distinct and St. Therefore, by the definition of cyclotomic coset, a complete set of representatives of cyclotomic cosets of 2 modulo 6 does not exist.
Ifk is equal to one of the elements, kis plus one; otherwise, kis is set as the new first value and the loop stops. e) Finally, we checked if the number of elements in the list is equal to modulo−1. In this program, instead of splitting them into the separate cyclotomic sets we need, we've just put all the numbers in a list for each one. In project II, minor modifications were made to the previous program to overcome the limitation of the size of the module n and to help observe the pattern of cyclotomic cosets for different n.
One of the methods of showing that the polynomial is irreducible is to prove by contradiction. Then the number of monic irreducible factors afxn−1overFq is equal to the number of cyclotomic cosets afqmodulon. It is easy to check that it is a complete set of representatives of cyclotomic cosets of 3 modulo 8.
Cyclic codes are a subclass of linear codes, but not all linear codes have the ring structure like cyclic codes. A generator polynomial is a unique monic polynomial of the smallest degree of an idealI of Fq[x]/(xn−1) which is not zero (see Ling & Xing (2004)). From the above example, we find that the number of cyclic codes of length can be determined if we know the factorization of xn−1.
Therefore we have the following result where the generator matrix is formed by using the generator polynomial. Without factoring xn−1, we can replace the generator polynomial with a polynomial(x) called the idempotent. We have the following theorem relating the generating polynomial and the generating idempotent (refer to Huffman.
C HAPTER 4: R ESULTS AND D ISCUSSIONS
Another method for obtaining the dimension is to use Theorem 3.26 to find the generator polynomial. Once k is obtained, we find the weight for all combinations of the generator polynomial or idempotent; or we can enumerate all the elements for the loop code to find the smallest distance d. Later we found that <Ω0+ Ω2> is a [9,3,3]-cyclic code because1 +g3+g6 completely divides g9 −1 so that the generated idempotent is itself a generator polynomial.
However, we can observe from the generator polynomial and we see that the minimum distance is 2. The generator matrix based on the generating idempotentΩ2 is as follows and we performed Gaussian Elimination on it. Based on the generator polynomial, the cyclic code has a dimension of 45 and Hamming distance of at least 4.
From the degree of the generator polynomial, the dimension is 24 and the Hamming distance must be at least 12. We let gi be the ith row of the generator matrix and gj to be the j. row of the generator matrix.
A PPENDIX A: P ROGRAM C ODE FOR
C YCLOTOMIC C OSETS
Set count to 0. This counts the number of elements in the list that have been retrieved. In the second while loop (inside the first one), we loop until the last element. Inside this loop, if k is not equal to the element in the list, we increment count by 1. So, if the total count after going through the list is equal to the number of elements in the linked list, then we know k then on be the. smallest integer for the new cyclotomic cost.