# Negacyclic Polynomial Multiplication

DevFeed: [Negacyclic Polynomial Multiplication](<https://devfeed.tech/articles/negacyclic-polynomial-multiplication-40460.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2022/12/09/negacyclic-polynomial-multiplication/>)

Published: 2022-12-09T13:35:45Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [polynomials](<https://devfeed.tech/topics/polynomials.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [homomorphic encryption](<https://devfeed.tech/topics/homomorphic-encryption.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Python](<https://devfeed.tech/topics/python.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [complex-twist](<https://devfeed.tech/tags/complex-twist.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [fourier-transform](<https://devfeed.tech/tags/fourier-transform.md>), [github](<https://devfeed.tech/tags/github.md>), [homomorphic-encryption](<https://devfeed.tech/tags/homomorphic-encryption.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [negacyclic](<https://devfeed.tech/tags/negacyclic.md>), [polynomial-ring](<https://devfeed.tech/tags/polynomial-ring.md>), [polynomials](<https://devfeed.tech/tags/polynomials.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>)

## AI overview

This tutorial explains three techniques for computing negacyclic polynomial products, including the simpler cyclic product as a precursor. It places these operations in the context of lattice cryptography and fully homomorphic encryption and provides Python code on GitHub.

## Source excerpt

In this article I'll cover three techniques to compute special types of polynomial products that show up in lattice cryptography and fully homomorphic encryption. Namely, the negacyclic polynomial product, which is the product of two polynomials in the quotient ring $\mathbb{Z}[x] / (x^N + 1)$. As a precursor to the negacyclic product, we'll cover the simpler cyclic product. All of the Python code written for this article is on GitHub.