Ask Your Question

# Convolution Polynomial Ring

How to define polynomial ring like Z[x]/(x^10-1) & Z_5[x]/(x^10-1) in Sage?

Following does not give gcd. I want to implement NTRU public key cryptosystem in Sage. Hence I need this.

N=7

p=3

R2. = PolynomialRing(GF(p))

S.<x> = R2.quotient(b^N - 1)

f=x^6-x^4+x^3+x^2-1

g=x^6+x^4-x^2-x

print gcd(f,g),xgcd(f,g)

Traceback (click to the left of this block for traceback)

...

TypeError: unable to find gcdemphasized text

edit retag close merge delete

## 1 answer

Sort by ยป oldest newest most voted

Your ring S is not an Euclidean domain, hence sage does not know what you mean by gcd. R2 is an Euclidean domain. You can lift elements of S to elements of R2 using the lift() method, e.g.:

sage: xgcd(f.lift(), g.lift())
(1, b^5 + 2*b^3 + 2*b^2 + 2, 2*b^5)

more

## Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

## Stats

Asked: 2013-08-23 05:46:15 -0600

Seen: 318 times

Last updated: Aug 23 '13