@misc{intel,
	title = {Intel Intrinsics Guide},
	year = {2023},
	note = {\url{https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html}},
	urldate  = {March, 2024}
}
@book{NiederreiterFiniteFields,
	title = {Finite Fields},
	publisher = {Cambridge University Press},
	author = { Lid, R. and Niederreiter, H.},
	year = {1997},
	isbn ={0521065674}
}

@misc{arm,
	title={ARM architecture instruction sets guide
	},
	author={ARM},
	year={2023},
	note = {\url{https://developer.arm.com/architectures/instruction-sets/intrinsics/}},
	urldate  = {March, 2024}
}

@article{gulliver_q-ary_1999,
	title = {Q-ary {Gray} codes and weight distributions},
	volume = {103},
	issn = {00963003},
	url = {https://linkinghub.elsevier.com/retrieve/pii/S0096300398100504},
	doi = {10.1016/S0096-3003(98)10050-4},
	abstract = {An algorithm based on Gray codes is presented for the ecient construction of weight distributions for error correcting codes over GF(q). No a priori knowledge of the code is assumed beyond linearity. Ó 1999 Elsevier Science Inc. All rights reserved.},
	language = {en},
	number = {1},
	urldate = {2022-04-01},
	journal = {Applied Mathematics and Computation},
	author = {Gulliver, T.Aaron and Bhargava, Vijay K and Stein, Jack M},
	
	year = {1999},
	pages = {97--109},
	file = {generalized quasicyclic ocdes.pdf:C\:\\Users\\mariq\\Zotero\\storage\\MXLKFJLI\\generalized quasicyclic ocdes.pdf:application/pdf;Gulliver et al. - 1999 - Q-ary Gray codes and weight distributions.pdf:C\:\\Users\\mariq\\Zotero\\storage\\UYFF6YFU\\Gulliver et al. - 1999 - Q-ary Gray codes and weight distributions.pdf:application/pdf},
}

@article{coolsaet_fast_nodate,
	title = {Fast vector arithmetic over {F3}},
	abstract = {We show how binary machine instructions can be used to implement fast vector operations over the ﬁnite ﬁeld F3. Apart from the standard operations of addition, subtraction and dot product, we also consider combined addition and subtraction, weight, Hamming distance, and iteration over all vectors of a given length.},
	journal = {Bulletin of the Belgian Mathematical Society},
	volume = {20},
	pages = {329-344},
	year = {2013},
	author = {Coolsaet, K},
}

@article{kreher_combinatorial_nodate,
	title = {Combinatorial {Algorithms}; {Generation}, {Enumeration}, and {Search}},
	language = {en},
	author = {Kreher, Donald L},
	pages = {342},
	file = {Kreher - Combinatorial Algorithms\; Generation, Enumeration,.pdf:C\:\\Users\\mariq\\Zotero\\storage\\7SZTISJ3\\Kreher - Combinatorial Algorithms\; Generation, Enumeration,.pdf:application/pdf},
}


@book{huffman_fundamentals_2003,
	title = {Fundamentals of {Error}-{Correcting} {Codes}},
	isbn = {978-0-521-78280-7},
	publisher = {Cambridge University Press},
	author = {Huffman, W. Cary and Pless, Vera},
	year = {2003},
	file = {Huffman and Pless - 2003 - Fundamentals of Error-Correcting Codes.pdf:C\:\\Users\\mariq\\Zotero\\storage\\UZX9W2QJ\\Huffman and Pless - 2003 - Fundamentals of Error-Correcting Codes.pdf:application/pdf},
}

@article{aho_design_nodate,
	title = {The {Design} and {Analysis} of {Computer} {Algorithms}},
	language = {en},
	author = {Aho, Alfred V and Hopcroft, John E and Ullman, Jeffrey D},
	pages = {480},
	file = {Aho et al. - The Design and Analysis of Computer Algorithms.pdf:C\:\\Users\\mariq\\Zotero\\storage\\NAPWR6XG\\Aho et al. - The Design and Analysis of Computer Algorithms.pdf:application/pdf},
}

@article{bouyukliev_efficient_nodate,
	title = {{EFFICIENT} {COMPUTING} {OF} {SOME} {VECTOR} {OPERATIONS} {OVER} {GF} (3) {AND} {GF} (4)},
	abstract = {The problem of eﬃcient computing of the aﬃne vector operations (addition of two vectors and multiplication of a vector by a scalar over GF (q)), and also the weight of a given vector, is important for many problems in coding theory, cryptography, VLSI technology etc. In this paper we propose a new way of representing vectors over GF (3) and GF (4) and we describe an eﬃcient performance of these aﬃne operations. Computing weights of binary vectors is also discussed.},
	language = {en},
	author = {Bouyukliev, Iliya and Bakoev, Valentin},
	pages = {8},
	file = {Bouyukliev and Bakoev - EFFICIENT COMPUTING OF SOME VECTOR OPERATIONS OVER.pdf:C\:\\Users\\mariq\\Zotero\\storage\\RYDEB9EN\\Bouyukliev and Bakoev - EFFICIENT COMPUTING OF SOME VECTOR OPERATIONS OVER.pdf:application/pdf},
}

@book{macwilliams_theory_1977,
	address = {Amsterdam ; New York : New York},
	series = {North-{Holland} mathematical library ; v. 16},
	title = {The theory of error correcting codes},
	isbn = {978-0-444-85009-6},
	language = {en},
	publisher = {North-Holland Pub. Co. ; sole distributors for the U.S.A. and Canada, Elsevier/North-Holland},
	author = {MacWilliams, Florence Jessie and Sloane, N. J. A.},
	year = {1977},
	keywords = {Error-correcting codes (Information theory)},
	file = {a class of linear codes with good param.pdf:C\:\\Users\\mariq\\Zotero\\storage\\NKY7DDJI\\a class of linear codes with good param.pdf:application/pdf;MacWilliams and Sloane - 1977 - The theory of error correcting codes.pdf:C\:\\Users\\mariq\\Zotero\\storage\\AHMJ9LET\\MacWilliams and Sloane - 1977 - The theory of error correcting codes.pdf:application/pdf},
}

@article{ballet_multiplication_2021,
	title = {Multiplication in finite fields with {Chudnovsky}-type algorithms on the projective line},
	url = {http://arxiv.org/abs/2007.16082},
	abstract = {We propose a Recursive Polynomial Generic Construction (RPGC) of multiplication algorithms in any ﬁnite ﬁeld Fqn based on the method of D.V. and G.V. Chudnovsky specialized on the projective line. They are usual polynomial interpolation algorithms in small extensions and the Karatsuba algorithm is seen as a particular case of this construction. Using an explicit family of such algorithms, we show that their bilinear complexity is quasi-linear with respect to the extension degree n, and we give a uniform bound for this complexity. We also prove that the construction of these algorithms is deterministic and can be done in polynomial time. We give an asymptotic bound for the complexity of their construction.},
	language = {en},
	urldate = {2022-04-01},
	journal = {arXiv:2007.16082 [math]},
	author = {Ballet, Stéphane and Bonnecaze, Alexis and Pacifico, Bastien},
	
	year = {2021},
	note = {arXiv: 2007.16082},
	keywords = {Mathematics - Algebraic Geometry},
	annote = {Comment: 30 pages},
	file = {Ballet et al. - 2021 - Multiplication in finite fields with Chudnovsky-ty.pdf:C\:\\Users\\mariq\\Zotero\\storage\\3JLYV5AV\\Ballet et al. - 2021 - Multiplication in finite fields with Chudnovsky-ty.pdf:application/pdf},
}

@article{cenk_multiplication_2010,
	title = {On multiplication in finite fields},
	volume = {26},
	issn = {0885064X},
	url = {https://linkinghub.elsevier.com/retrieve/pii/S0885064X09001095},
	doi = {10.1016/j.jco.2009.11.002},
	abstract = {We present a method for multiplication in finite fields which gives multiplication algorithms with improved or best known bilinear complexities for certain finite fields. Our method generalizes some earlier methods and combines them with the recently introduced complexity notion Mq( ), which denotes the minimum number of multiplications needed in Fq in order to obtain the coefficients of the product of two arbitrary -term polynomials modulo x in Fq[x]. We study our method for the finite fields Fqn , where 2 ≤ n ≤ 18 and q = 2, 3, 4 and we improve or reach the currently best known bilinear complexities. We also give some applications in cryptography.},
	language = {en},
	number = {2},
	urldate = {2022-04-01},
	journal = {Journal of Complexity},
	author = {Cenk, Murat and Özbudak, Ferruh},
	
	year = {2010},
	pages = {172--186},
	file = {Cenk and Özbudak - 2010 - On multiplication in finite fields.pdf:C\:\\Users\\mariq\\Zotero\\storage\\39FBQ2Z5\\Cenk and Özbudak - 2010 - On multiplication in finite fields.pdf:application/pdf},
}

@incollection{koc_fast_1999,
	address = {Berlin, Heidelberg},
	title = {Fast {Multiplication} in {Finite} {Fields} {GF}(2n)},
	volume = {1717},
	isbn = {978-3-540-66646-2 978-3-540-48059-4},
	url = {http://link.springer.com/10.1007/3-540-48059-5_12},
	abstract = {A method is described for performing computations in a ﬁnite ﬁeld GF(2N ) by embedding it in a larger ring Rp where the multiplication operation is a convolution product and the squaring operation is a rearrangement of bits. Multiplication in Rp has complexity N + 1, which is approximately twice as eﬃcient as optimal normal basis multiplication (ONB) or Montgomery multiplication in GF(2N ), while squaring has approximately the same eﬃciency as ONB. Inversion and solution of quadratic equations can also be performed at least as fast as previous methods.},
	language = {en},
	urldate = {2022-04-01},
	booktitle = {Cryptographic {Hardware} and {Embedded} {Systems}},
	publisher = {Springer Berlin Heidelberg},
	author = {Silverman, Joseph H.},
	editor = {Koç, Çetin K. and Paar, Christof},
	year = {1999},
	doi = {10.1007/3-540-48059-5_12},
	note = {Series Title: Lecture Notes in Computer Science},
	pages = {122--134},
	file = {Silverman - 1999 - Fast Multiplication in Finite Fields GF(2n).pdf:C\:\\Users\\mariq\\Zotero\\storage\\5PZSA3U6\\Silverman - 1999 - Fast Multiplication in Finite Fields GF(2n).pdf:application/pdf},
}

@book{arndt_matters_2011,
	address = {Berlin, Heidelberg},
	title = {Matters {Computational}},
	isbn = {978-3-642-14763-0 978-3-642-14764-7},
	url = {http://link.springer.com/10.1007/978-3-642-14764-7},
	language = {en},
	urldate = {2022-04-01},
	publisher = {Springer Berlin Heidelberg},
	author = {Arndt, Jörg},
	year = {2011},
	doi = {10.1007/978-3-642-14764-7},
	file = {Arndt - 2011 - Matters Computational.pdf:C\:\\Users\\mariq\\Zotero\\storage\\SBSH97ES\\Arndt - 2011 - Matters Computational.pdf:application/pdf},
}

@book{von_zur_gathen_modern_2013,
	address = {Cambridge},
	edition = {3},
	title = {Modern {Computer} {Algebra}},
	isbn = {978-1-139-85606-5},
	url = {http://ebooks.cambridge.org/ref/id/CBO9781139856065},
	language = {en},
	urldate = {2022-04-01},
	publisher = {Cambridge University Press},
	author = {von zur Gathen, Joachim and Gerhard, Jurgen},
	year = {2013},
	doi = {10.1017/CBO9781139856065},
	file = {von zur Gathen and Gerhard - 2013 - Modern Computer Algebra.pdf:C\:\\Users\\mariq\\Zotero\\storage\\8T5GT7BD\\von zur Gathen and Gerhard - 2013 - Modern Computer Algebra.pdf:application/pdf},
}



@article{yang_constructing_2014,
	title = {Constructing {Linear} {Encoders} with {Good} {Spectra}},
	volume = {60},
	issn = {0018-9448, 1557-9654},
	url = {http://arxiv.org/abs/0909.3131},
	doi = {10.1109/TIT.2014.2341560},
	abstract = {In the authors’ former work, it was proved by the code-spectrum approach that linear codes with good joint spectra serve as good candidates for lossless joint source channel coding (JSCC). However, it is still unknown how to construct such codes in practice. This paper aims to present some methods for constructing linear codes with good joint spectra, and moreover, it intends to provide an extensive investigation of the general problem of constructing linear codes with good spectra in a uniﬁed framework. Firstly, for preparation, a series of new methods and results of the code-spectrum approach are established. Important ones among them are spectrum generating functions, spectra with coordinate partitions, and the MacWilliams identities.},
	language = {en},
	number = {10},
	urldate = {2022-04-12},
	journal = {IEEE Transactions on Information Theory},
	author = {Yang, Shengtian and Honold, Thomas and Chen, Yan and Zhang, Zhaoyang and Qiu, Peiliang},
	
	year = {2014},
	note = {arXiv: 0909.3131},
	keywords = {Computer Science - Information Theory},
	pages = {5950--5965},
	annote = {Comment: v5.5.5, no. 201408271350, 40 pages, 3 figures, extended version of the paper to be published in IEEE Transactions on Information Theory},
	file = {Yang et al. - 2014 - Constructing Linear Encoders with Good Spectra.pdf:C\:\\Users\\mariq\\Zotero\\storage\\QSF5KNBT\\Yang et al. - 2014 - Constructing Linear Encoders with Good Spectra.pdf:application/pdf},
}

@article{emami_optimal_nodate,
	title = {Optimal {Linear} {Codes} {Over} {GF}(7) and {GF}(11) with {Dimension} 3},
	abstract = {Let nq(k, d) denote the smallest value of n for which there exists a linear [n, k, d]-code over the Galois ﬁeld GF (q). An [n, k, d]-code whose length is equal to nq(k, d) is called optimal. In this paper we present some matrix generators for the family of optimal [n, 3, d] codes over GF (7) and GF (11). Most of our given codes in GF (7) are nonisomorphic with the codes presented before. Our given codes in GF (11) are all new.},
	language = {en},
	author = {Emami, M},
	pages = {12},
	file = {Emami - Optimal Linear Codes Over GF(7) and GF(11) with Di.pdf:C\:\\Users\\mariq\\Zotero\\storage\\IE95C4QG\\Emami - Optimal Linear Codes Over GF(7) and GF(11) with Di.pdf:application/pdf},
}

@incollection{bosma_searching_2006,
	address = {Berlin, Heidelberg},
	title = {Searching for linear codes with large minimum distance},
	volume = {19},
	isbn = {978-3-540-37632-3},
	url = {http://link.springer.com/10.1007/978-3-540-37634-7_13},
	abstract = {There are many tables which summarise bounds on the parameters of error-correcting codes. We are undertaking a project to ﬁnd constructions for codes with large minimum distance. In the course of the project, many algorithms to construct and search for good codes have been devised, and some are presented here. In particular, a very eﬃcient algorithm for computing the minimum distance of a code has been developed.},
	language = {en},
	urldate = {2022-04-12},
	booktitle = {Discovering {Mathematics} with {Magma}},
	publisher = {Springer Berlin Heidelberg},
	author = {Grassl, Markus},
	editor = {Bosma, Wieb and Cannon, John},
	year = {2006},
	doi = {10.1007/978-3-540-37634-7_13},
	note = {Series Title: Algorithms and Computation in Mathematics},
	pages = {287--313},
	file = {Grassl - 2006 - Searching for linear codes with large minimum dist.pdf:C\:\\Users\\mariq\\Zotero\\storage\\8N4PWXVM\\Grassl - 2006 - Searching for linear codes with large minimum dist.pdf:application/pdf},
}

@article{baicheva_binary_2008,
	title = {Binary and {Ternary} {Linear} {Quasi}-{Perfect} {Codes} {With} {Small} {Dimensions}},
	volume = {54},
	issn = {0018-9448},
	url = {http://ieeexplore.ieee.org/document/4608953/},
	doi = {10.1109/TIT.2008.928277},
	abstract = {The aim of this work is a systematic investigation of the possible parameters of quasi-perfect (QP) binary and ternary linear codes of small dimensions and preparing a complete classiﬁcation of all such codes. First, we give a list of inﬁnite families of QP codes which includes all binary, ternary, and quaternary codes known to us. We continue further with a list of sporadic examples of binary and ternary QP codes. Later we present the results of our investigation where binary QP codes of dimensions up to 14 and ternary QP codes of dimensions up to 13 are classiﬁed.},
	language = {en},
	number = {9},
	urldate = {2022-04-12},
	journal = {IEEE Transactions on Information Theory},
	author = {Baicheva, Tsonka and Bouyukliev, Iliya and Dodunekov, Stefan and Fack, Veerle},
	
	year = {2008},
	pages = {4335--4339},
	file = {Baicheva et al. - 2008 - Binary and Ternary Linear Quasi-Perfect Codes With.pdf:C\:\\Users\\mariq\\Zotero\\storage\\GGFN39E7\\Baicheva et al. - 2008 - Binary and Ternary Linear Quasi-Perfect Codes With.pdf:application/pdf},
}

@article{hernando_algorithm_2019,
	title = {Algorithm 994: {Fast} {Implementations} of the {Brouwer}-{Zimmermann} {Algorithm} for the {Computation} of the {Minimum} {Distance} of a {Random} {Linear} {Code}},
	volume = {45},
	issn = {0098-3500, 1557-7295},
	shorttitle = {Algorithm 994},
	url = {https://dl.acm.org/doi/10.1145/3302389},
	doi = {10.1145/3302389},
	abstract = {The minimum distance of an error-correcting code is an important concept in information theory. Hence, computing the minimum distance of a code with a minimum computational cost is crucial to many problems in this area. In this article, we present and assess a family of implementations of both the brute-force algorithm and the Brouwer-Zimmermann algorithm for computing the minimum distance of a random linear code over F
              2
              that are faster than current implementations, both in the commercial and public domain. In addition to the basic sequential implementations, we present parallel and vectorized implementations that produce high performances on modern architectures. The attained performance results show the benefits of the developed optimized algorithms, which obtain remarkable improvements compared with state-of-the-art implementations widely used nowadays.},
	language = {en},
	number = {2},
	urldate = {2022-04-12},
	journal = {ACM Transactions on Mathematical Software},
	author = {Hernando, Fernando and Igual, Francisco D. and Quintana-Ortí, Gregorio},
	
	year = {2019},
	pages = {1--28},
	file = {Hernando et al. - 2019 - Algorithm 994 Fast Implementations of the Brouwer.pdf:C\:\\Users\\mariq\\Zotero\\storage\\PWHDDRLH\\Hernando et al. - 2019 - Algorithm 994 Fast Implementations of the Brouwer.pdf:application/pdf},
}

@inproceedings{bakoev_method_2020,
	address = {Ruse Bulgaria},
	title = {A {Method} for {Fast} {Computing} the {Algebraic} {Degree} of {Boolean} {Functions}},
	isbn = {978-1-4503-7768-3},
	url = {https://dl.acm.org/doi/10.1145/3407982.3408005},
	doi = {10.1145/3407982.3408005},
	abstract = {The algebraic degree of Boolean functions (or vectorial Boolean functions) is an important cryptographic parameter that should be computed by fast algorithms. They work in two main ways: (1) by computing the algebraic normal form and then searching the monomial of the highest degree in it, or (2) by examination the algebraic properties of the true table vector of a given function. We have already done four basic steps in the study of the first way, and the second one has been studied by other authors. Here we represent a method for fast computing (the fastest way we know) the algebraic degree of Boolean functions. It is a combination of the most efficient components of these two ways and the corresponding algorithms. The theoretical time complexities of the method are derived in each of the cases when the Boolean function is represented in a byte-wise or in a bitwise manner. They are of the same type Θ(n.2n) for a Boolean function of n variables, but they have big differences between the constants in Θ-notation. The theoretical and experimental results shown here demonstrate the advantages of the bitwise approach in computing the algebraic degree—they are dozens of times faster than the byte-wise approaches.},
	language = {en},
	urldate = {2022-04-12},
	booktitle = {Proceedings of the 21st {International} {Conference} on {Computer} {Systems} and {Technologies} '20},
	publisher = {ACM},
	author = {Bakoev, Valentin},
	
	year = {2020},
	pages = {141--147},
	file = {Bakoev - 2020 - A Method for Fast Computing the Algebraic Degree o.pdf:C\:\\Users\\mariq\\Zotero\\storage\\FVW7N5V7\\Bakoev - 2020 - A Method for Fast Computing the Algebraic Degree o.pdf:application/pdf},
}

@inproceedings{bikov_parallel_2017,
	address = {Kaiserslautern Germany},
	title = {Parallel {Fast} {Möbius} ({Reed}-{Muller}) {Transform} and its {Implementation} with {CUDA} on {GPUs}},
	isbn = {978-1-4503-5288-8},
	url = {https://dl.acm.org/doi/10.1145/3115936.3115941},
	doi = {10.1145/3115936.3115941},
	abstract = {One of the most important cryptographic characteristics of the Boolean and vector Boolean functions is the algebraic degree which is connected with the Algebraic Normal Form. In this paper, we present an algorithm for computing the Algebraic Normal Form of a Boolean function using binary Fast Möbius (Reed-Muller) Transform implemented in CUDA for parallel execution on GPU. In the end, we give some experimental results.},
	language = {en},
	urldate = {2022-04-12},
	booktitle = {Proceedings of the {International} {Workshop} on {Parallel} {Symbolic} {Computation}},
	publisher = {ACM},
	author = {Bikov, Dusan and Bouyukliev, Iliya},
	
	year = {2017},
	pages = {1--6},
	file = {Bikov and Bouyukliev - 2017 - Parallel Fast Möbius (Reed-Muller) Transform and i.pdf:C\:\\Users\\mariq\\Zotero\\storage\\TQ8LKVYF\\Bikov and Bouyukliev - 2017 - Parallel Fast Möbius (Reed-Muller) Transform and i.pdf:application/pdf},
}

@book{macwilliams_theory_1977-1,
	address = {Amsterdam ; New York : New York},
	series = {North-{Holland} mathematical library ; v. 16},
	title = {The theory of error correcting codes},
	isbn = {978-0-444-85009-6},
	language = {en},
	publisher = {North-Holland Pub. Co. ; sole distributors for the U.S.A. and Canada, Elsevier/North-Holland},
	author = {MacWilliams, Florence Jessie and Sloane, N. J. A.},
	year = {1977},
	keywords = {Error-correcting codes (Information theory)},
	file = {MacWilliams and Sloane - 1977 - The theory of error correcting codes.pdf:C\:\\Users\\mariq\\Zotero\\storage\\ZWFUU5LC\\MacWilliams and Sloane - 1977 - The theory of error correcting codes.pdf:application/pdf},
}
