1.一种用于在交换环()中执行算术的电子计算设备(100),该环具有有限数量的环元素,在环元素上定义了环加法和环乘法,该计算设备在对环元素()编码的整数列表((a1,a2))上运算,所述整数列表包括至少两个元素,其中整数列表((a1,a2))对环元素(a)进行编码以使得环元素等于一个或多个基础环元素(u;u,v)的幂的线性组合(; ),其中所述幂具有由整数列表确定的指数,该计算设备包括:
- 存储库(110),其被布置成存储针对增量环元素(1;ut)定义的增量表(T),
- 增量表将输入环元素()映射到对输出环元素()编码的输出整数列表(),使得输出环元素等于增量环元素环加到输入环元素(l=k+1),
- 环加法单元(130),其被布置成:
- 接收对第一加法输入环元素编码的第一加法输入整数列表((a1,a2))和对第二加法输入环元素编码的第二加法输入整数列表((b1,b2)),增量环元素独立于第一和第二加法输入环元素,
- 通过将增量表应用到从第一和第二加法输入整数列表确定的环元素来确定对加法输出环元素编码的加法输出整数列表,该加法输出环元素等于第一加法输入环元素与第二加法输入环元素的环加。
2.如权利要求1所述的计算设备,包括,
- 环乘法单元(140),其被布置成:
- 接收对第一乘法输入环元素编码的第一乘法输入整数列表((r1,r2))和对第二乘法输入环元素编码的第二乘法输入整数列表((s1,s2)),
- 通过将增量表应用到从第一和第二乘法输入整数列表确定的环元素来确定对乘法输出环元素编码的乘法输出整数列表,该乘法输出环元素等于第一乘法输入环元素和第二乘法输入环元素的环乘。
3.如权利要求1或2所述的计算设备,其中整数列表((a1,a2))对环元素(a)进行编码,使得:
- 环元素等于基础元素提升至由整数列表的第一整数确定的幂减去该基础元素提升至由该整数列表的第二整数确定的幂(),可选地乘以常数(),或者
- 环元素等于基础元素提升至由整数列表的第一整数确定的幂加上该基础元素提升至由该整数列表的第二整数确定的幂(),可选地乘以常数,或者
- 环元素等于基础元素提升至由整数列表的第一整数确定的幂与基础元素提升至由该整数列表的第二整数确定的幂减去基础元素提升至由整数列表的负的第二整数确定的幂相乘(),可选地乘以常数,(a = ),或者
- 环元素等于基础元素提升至指数为整数列表的第一整数和第二整数的第一线性组合的幂加上或减去基础元素提升至指数为整数列表的第一整数和第二整数的第二线性组合的幂,(或者,给定矩阵M,使得),可选地乘以常数。
4.如权利要求1和3中任一项所述的计算设备,其中确定加法输出整数列表包括:
- 通过增量表针对为一个或多个基础元素的幂的线性组合的环元素()的第一应用确定对中间加法环元素编码的中间加法整数列表(),其中所述幂从第一和第二加法输入整数列表确定,,
- 确定加法输出整数列表包括增量表针对从中间加法整数列表确定的和从第二加法输入整数列表确定的环元素的第二应用。
5.如权利要求4所述的计算设备,其中
- 确定中间加法整数列表()进一步包括将从第一和第二加法输入整数列表确定的整数加到源自第一应用的整数列表中的整数。
6.如权利要求4和5中任一项所述的计算设备,其中
- 增量表被应用到通过所述一个或多个基础环元素(u)提升至以第一整数列表的第一整数(a1)减去第二整数列表的第一整数(b1)为指数的幂加上或减去基础环元素(u)提升至以第一整数列表的第二整数(a2)减去第二整数列表的第一整数(b1)为指数的幂形成的环元素(; );并且/或者
- 增量表被应用到通过所述一个或多个基础环元素(u)提升至以第一整数列表的第一整数(a1)减去第一整数列表的第二整数(a2)为指数的幂加上或减去基础环元素(u)提升至以第二整数列表的第一整数(b1)减去第一整数列表的第二整数(a2)为指数的幂形成的环元素(; );并且/或者
- 增量表被应用到通过所述一个或多个基础环元素(u)提升至以第一整数列表的第二整数(a2)减去第一整数列表的第一整数(a1)为指数的幂加上或减去基础环元素(u)提升至以第二整数列表的第一整数(b1)减去第一整数列表的第一整数(a1)为指数的幂形成的环元素(; )。
7.如权利要求4、5和6中任一项所述的计算设备,其中
- 在增量表的第二应用之前,对由中间加法整数列表表示的中间加法环元素取反。
8.如前述权利要求中任一项所述的计算设备,其中
- 通过置换整数列表来对由整数列表表示的环元素取反,并且/或者
- 通过将常数加到整数列表的每一个整数来对由整数列表表示的环元素取反,并且/或者
- 通过置换整数列表并且使整数列表的一个或多个整数与常数相乘来对由整数列表((a1,a2))表示的环元素取反((sa2,sa1))。
9.如前述权利要求中任一项所述的计算设备,其中增量表把表示输入环元素的输入整数列表 当作输入。
10.如权利要求2所述的和如前述权利要求中任一项所述的计算设备,其中确定乘法输出整数列表包括:
- 从第一和第二乘法输入整数列表确定第一中间乘法整数列表((t1,t2))和第二中间乘法整数列表((u1,u2)),其分别对第一和第二中间乘法环元素进行编码,
- 通过环加法单元将第一和第二中间乘法整数列表相加。
11.如权利要求10所述的计算设备,其中
- 第一中间乘法整数列表的第一整数(t1)包括第一乘法输入整数列表的第一整数(r1)加上第二乘法输入整数列表的第一整数(s1),并且
- 第一中间乘法整数列表的第二整数(t2)包括第一乘法输入整数列表的第一整数(r1)加上第二乘法输入整数列表的第二整数(s2),(),并且
- 第二中间乘法整数列表的第一整数(u1)包括第一乘法输入整数列表的第二整数(r2)加上第二乘法输入整数列表的第二整数(s2),并且
- 第二中间乘法整数列表的第二整数(u2)包括第一乘法输入整数列表的第二整数(r2)加上第二乘法输入整数列表的第一整数(s1),()。
12.如前述权利要求中任一项所述的计算设备,其中
交换环是通过整数对一整数模数取模形成的环(),或者
交换环是通过整数多项式对一整数多项式模数取模形成的环()。
13.一种用于将交换环()的环元素编码成整数列表的环编码设备(170),其与如权利要求1所述的计算设备一起使用,该环编码设备包括:
- 存储库(172),其被布置成存储针对一个或多个基础环元素(u)定义的编码表,该编码表将环元素(x)映射到整数列表((a,b)),使得环元素等于所述一个或多个基础环元素的幂的线性组合(),其中所述幂具有由整数列表确定的指数。
14.一种用于将整数列表((a,b))解码成交换环()的环元素(x)的环解码设备(160),其与如权利要求1所述的计算设备一起使用,该环解码设备被布置成针对一个或多个基础环元素(u)确定环元素(x),使得该环元素等于一个或多个基础环元素的幂的线性组合(),其中所述幂具有由整数列表确定的指数。
15.一种用于演算与用于在交换环()中执行算术的计算设备一起使用的增量表的表演算设备(200),该环具有有限数量的环元素,在环元素上定义了环加法和环乘法,该计算设备在对环元素()编码的整数列表((a1,a2))上运算,所述整数列表包括至少两个元素,该表演算设备包括,
- 表创建单元(210),其被布置成构造增量表,该表创建单元被布置成:
- 反复地选择输入环元素,
- 确定等于增量环元素环加到输入环元素的输出环元素,
- 确定针对输出环元素编码的输出整数列表,
- 向将输入环元素映射到输出整数列表的增量表添加条目。
16.一种用于在交换环()中执行算术的电子计算方法,该环具有有限数量的环元素,在环元素上定义了环加法和环乘法,该计算方法在对环元素()编码的整数列表((a1,a2))上运算,所述整数列表包括至少两个整数,其中整数列表((a1,a2))对环元素(a)进行编码以使得环元素等于一个或多个基础环元素(u;u,v)的幂的线性组合(; ),其中所述幂具有由整数列表确定的指数,该计算方法包括:
- 存储针对增量环元素(1;ut)定义的增量表(T),该增量表将输入环元素()映射到对输出环元素()编码的输出整数列表(),使得输出环元素等于增量环元素环加到输入环元素(l=k+1),
- 环加,该环加包括:
- 接收对第一加法输入环元素编码的第一加法输入整数列表()和对第二加法输入环元素编码的第二加法输入整数列表(),
- 通过将增量表应用到从第一和第二加法输入整数列表确定的环元素来确定对加法输出环元素编码的加法输出整数列表,该加法输出环元素等于第一加法输入环元素与第二加法输入环元素的环加。
17.如权利要求16所述的电子计算方法,包括:
- 环乘,该环乘包括
- 接收对第一乘法输入环元素编码的第一乘法输入整数列表()和对第二乘法输入环元素编码的第二乘法输入整数列表(),
- 通过将增量表应用到从第一和第二乘法输入整数列表确定的环元素来确定对乘法输出环元素编码的乘法输出整数列表,该乘法输出环元素等于第一乘法输入环元素与第二乘法输入环元素的环乘。
18.一种包括计算机程序指令的计算机程序,该计算机程序指令被布置成当计算机程序在可编程装置上运行时执行权利要求16或17的方法。
19.一种计算机可读介质,包括:
- 依照权利要求18的计算机程序,和/或
- 由依照权利要求1的电子计算设备使用的增量表。