package com.ntru.demo.test.ringSignature;
import java.util.Random;
public class Time_costs {
//环多项式赋值
public static void fuzhi(int q, Random random, int[] h) {
for (int i = 0; i < h.length; i++) {
h[i] = random.nextInt(q);//从区间[0,q-1]选择一个随机数
//System.out.println("h" + "["+i+"]"+"["+j+"]=" + h[i][j]);
}
}
//两个多项式相乘
public static void polymulti(int[] a, int[] b, int[] c) {
for (int s = 0; s < a.length + b.length - 1 ; s++) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b.length; j++) {
if(s == i + j){
c[s] += a[i] * b[j];
}
}
}
//System.out.println("c" + "["+s+"]=" + c[s]);
}
}
//取模运算
public static void modxn(int[] c) {
int c_lenth = c.length;
int center = (c_lenth-1)/2;
int [] D = new int [center+1];//存放取模运算后的结果
D[0] = c[0];//常数项不变
for (int i = 1; i <

本文探讨了在环多项式乘法中如何处理指数溢出问题,通过取模运算确保计算的正确性。示例代码展示了一种可能的实现方式。
最低0.47元/天 解锁文章
2462

被折叠的 条评论
为什么被折叠?



