mirror of
https://github.com/arnaucube/ark-curves-cherry-picked.git
synced 2026-01-27 14:13:46 +01:00
Initial commit
This commit is contained in:
112
cp6_782/src/fields/fq6.rs
Normal file
112
cp6_782/src/fields/fq6.rs
Normal file
@@ -0,0 +1,112 @@
|
||||
use crate::{Fq, Fq3, Fq3Parameters, FQ_ONE, FQ_ZERO};
|
||||
use ark_ff::{
|
||||
biginteger::BigInteger832 as BigInteger,
|
||||
field_new,
|
||||
fields::fp6_2over3::{Fp6, Fp6Parameters},
|
||||
};
|
||||
|
||||
pub type Fq6 = Fp6<Fq6Parameters>;
|
||||
|
||||
pub struct Fq6Parameters;
|
||||
|
||||
impl Fp6Parameters for Fq6Parameters {
|
||||
type Fp3Params = Fq3Parameters;
|
||||
|
||||
/// NONRESIDUE = (0, 1, 0).
|
||||
#[rustfmt::skip]
|
||||
const NONRESIDUE: Fq3 = field_new!(Fq3, FQ_ZERO, FQ_ONE, FQ_ZERO);
|
||||
|
||||
#[rustfmt::skip]
|
||||
const FROBENIUS_COEFF_FP6_C1: &'static [Fq] = &[
|
||||
field_new!(Fq, BigInteger([
|
||||
0x9b4e60b420910c71,
|
||||
0xe068d7c83f284a6e,
|
||||
0x1f708acc7c452c43,
|
||||
0xeb2f6a66cca51856,
|
||||
0x9acf675f886e9fcd,
|
||||
0xb26885e567cc8082,
|
||||
0x75d05357183eb61f,
|
||||
0x24db4a09b5842a32,
|
||||
0x85e64cf9ba4b14ae,
|
||||
0xf311a6784358a588,
|
||||
0xe8d431c061aecb4a,
|
||||
0xd92c8b4aab19f288,
|
||||
0x21d3,
|
||||
])),
|
||||
field_new!(Fq, BigInteger([
|
||||
0x82e248051c9d1c4d,
|
||||
0x9364dbda272d0ed,
|
||||
0xfdcf25dede306877,
|
||||
0x53d06582e3fe7159,
|
||||
0xb431d48c27a7ce14,
|
||||
0x7741dd7a33040c05,
|
||||
0xca576276706c1de9,
|
||||
0x18cceab60052df9f,
|
||||
0x6f9ae1b18f011f6,
|
||||
0x25df1559c0ee6289,
|
||||
0x5b33ca416649679d,
|
||||
0x33f7fc08b12d9590,
|
||||
0x338f,
|
||||
])),
|
||||
field_new!(Fq, BigInteger([
|
||||
0xe793e750fc0c0fdc,
|
||||
0x28cd75f5634a867e,
|
||||
0xde5e9b1261eb3c33,
|
||||
0x68a0fb1c17595903,
|
||||
0x19626d2c9f392e46,
|
||||
0xc4d95794cb378b83,
|
||||
0x54870f1f582d67c9,
|
||||
0xf3f1a0ac4aceb56d,
|
||||
0x811361215ea4fd47,
|
||||
0x32cd6ee17d95bd00,
|
||||
0x725f9881049a9c52,
|
||||
0x5acb70be0613a307,
|
||||
0x11bb,
|
||||
])),
|
||||
field_new!(Fq, BigInteger([
|
||||
0x3f8019015b031e78,
|
||||
0x73f4adf92ed4f7dc,
|
||||
0xcea2d139e307fa73,
|
||||
0xb1000be3461ee9f5,
|
||||
0x8005cba5148fca6b,
|
||||
0xa03b75925fcf929d,
|
||||
0x35654371493da172,
|
||||
0x5e312883cb75ad59,
|
||||
0xe48bd6f4b7b72859,
|
||||
0xc94b70f331124a9d,
|
||||
0x84f67d2da39b18,
|
||||
0xeba59af100dea197,
|
||||
0x1674,
|
||||
])),
|
||||
field_new!(Fq, BigInteger([
|
||||
0x57ec31b05ef70e9c,
|
||||
0x4b273803cb8a715d,
|
||||
0xf0443627811cbe40,
|
||||
0x485f10c72ec590f1,
|
||||
0x66a35e7875569c25,
|
||||
0xdb621dfd9498071a,
|
||||
0xe0de3451f11039a8,
|
||||
0x6a3f87d780a6f7eb,
|
||||
0x637875d359122b11,
|
||||
0x967e0211b37c8d9d,
|
||||
0x8e255dfc2908fec6,
|
||||
0x90da2a32facafe8f,
|
||||
0x4b9,
|
||||
])),
|
||||
field_new!(Fq, BigInteger([
|
||||
0xf33a92647f881b0d,
|
||||
0x2b900fcc0ab2bbcb,
|
||||
0xfb4c0f3fd61ea84,
|
||||
0x338e7b2dfb6aa948,
|
||||
0x172c5d7fdc53bf3,
|
||||
0x8dcaa3e2fc64879d,
|
||||
0x56ae87a9094eefc8,
|
||||
0x8f1ad1e1362b221e,
|
||||
0xe95ec2cd135d3fbf,
|
||||
0x898fa889f6d53325,
|
||||
0x76f98fbc8ab7ca11,
|
||||
0x6a06b57da5e4f118,
|
||||
0x268d,
|
||||
])),
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user