|
/*
|
|
Copyright 2011, City University of Hong Kong
|
|
Author is Homer (Dongsheng) Xing.
|
|
|
|
This file is part of Tate Bilinear Pairing Core.
|
|
|
|
Tate Bilinear Pairing Core is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Lesser General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
Tate Bilinear Pairing Core is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with Foobar. If not, see http://www.gnu.org/licenses/lgpl.txt
|
|
*/
|
|
|
// drop def & const here :D
|
// drop def & const here :D
|
|
|
`define M 97 // M is the degree of the irreducible polynomial
|
`define M 97 // M is the degree of the irreducible polynomial
|
`define WIDTH (2*`M-1) // width for a GF(3^M) element
|
`define WIDTH (2*`M-1) // width for a GF(3^M) element
|
`define W2 (4*`M-1) // width for a GF(3^{2*M}) element
|
`define W2 (4*`M-1) // width for a GF(3^{2*M}) element
|
`define W3 (6*`M-1) // width for a GF(3^{3*M}) element
|
`define W3 (6*`M-1) // width for a GF(3^{3*M}) element
|
`define W6 (12*`M-1) // width for a GF(3^{6*M}) element
|
`define W6 (12*`M-1) // width for a GF(3^{6*M}) element
|
`define PX 196'h4000000000000000000000000000000000000000001000002 // PX is the irreducible polynomial
|
`define PX 196'h4000000000000000000000000000000000000000001000002 // PX is the irreducible polynomial
|
|
|
|
|