CN1440591A - 将一个数的二进制表示变换成一个带符号的二进制表示的方法 - Google Patents

将一个数的二进制表示变换成一个带符号的二进制表示的方法 Download PDF

Info

Publication number
CN1440591A
CN1440591A CN01812126.8A CN01812126A CN1440591A CN 1440591 A CN1440591 A CN 1440591A CN 01812126 A CN01812126 A CN 01812126A CN 1440591 A CN1440591 A CN 1440591A
Authority
CN
China
Prior art keywords
order
binary representation
input
variable
numerical digit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN01812126.8A
Other languages
English (en)
Other versions
CN1258883C (zh
Inventor
M·乔耶
S·-M·尹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus SA filed Critical Gemplus SA
Publication of CN1440591A publication Critical patent/CN1440591A/zh
Application granted granted Critical
Publication of CN1258883C publication Critical patent/CN1258883C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/12Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word having two radices, e.g. binary-coded-decimal code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明涉及一种用于根据数r的二进制表示(rm-1,…,r0)的位的从左向右处理来变换成数r的带符号的二进制表示(rv m,…,rv 0)并能够获得一个等效于所谓的Reitwiesner表示的方法。采用这样一个从左向右算术处理的变换方法能够提高其硬件实现。

Description

将一个数的二进制表示变换成一个带符号的二进制表示的方法
本发明涉及一种从一个数的二进制表示获得一个带符号的二进制表示的方法。
快速算术计算技术已经使用带符号的二进制表示很长一段时间了,因为这使得能够非常有效地计算加法、乘法或除法。
许多集成电路包括一个用于将一个数从其二进制表示变换成带符号的二进制代码的设备和用于以这个带符号的二进制表示的操作数执行操作的算术计算设备。一般地,提供一个反向变换设备,用于以二进制形式提供结果。
在带符号的二进制表示中,将一个数用m数位的值 、“1”或“-1”表示。存在同一个数的几种带符号的二进制表示。例如,数5可以被写成(11?P),也就是1×22+1×21?P×20。然而,它也可以被写成(101)。
在可能的带符号的二进制表示中,存在一个不寻常的表示,被称为Reitwiesner表示。这个表示具有特别令人感兴趣的特性,它是唯一的和完全的(hollow),并具有最小汉明加权。
如果数r的二进制表示被表示为r=(rm-1,??r0),则被表示为
Figure A0181212600062
Figure A0181212600063
??
Figure A0181212600064
)的Reitwiesner带符号的二进制表示包括一个另外的数位。
将这个表示表述为完全的意思是它满足两个相邻数位的乘积是零这个事实,这可以写为:
该部分的汉明加权表示在所考虑的表示中的非零数位的数目。因此,具有最小汉明加权意味着最优最大数目的在 的数位。然而,表示中的“1”或“-1”数位越少,实际进行的计算越少,因此在计算速度上有改进。因此,这是Reitwiesner表示在快速算术计算方面的一个特别令人感兴趣的特性。
可以将能够从数r的二进制表示(rm-1,??r0)获得这个不寻常的带符号的二进制表示的算法描述如下:
一使用一个二进制的计算变量c。
-将这个变量c的秩0的位c0初始化为
Figure A0181212600071
-向数r的二进制表示(rm-1,??r0)添加一个秩m+1的位和一个秩m的位,这两个位都被初始化到 :rm+1=0;rm=0。
-然后,对于i等于0直至i等于m,计算下列式子:
ci+1=[(ci+ri+ri+1)/2]
Figure A0181212600073
其中[t]意味着默认值,也就是刚低于数t的整数值。实际上,由于各位的算术和ci+ri+ri+1被以最大两个二进制位编码,位ci+1是通过将这个和向右移位一个位置来获得的。
可以看到,在这个Reitwiesner算法中,数r的二进制表示的位ri被从右向左处理,以便获得带符号的二进制表示的每个数位 从i等于0直至i等于m。
各种工作能够显示出,没有一种算法可以从左向右处理各位并且可以通过该算法获得Reitwiesner带符号的二进制表示。然而,在许多应用中,运用到一个操作数r上的快速算术计算算法从左向右处理这个操作数的带符号的二进制表示中的数位
Figure A0181212600075
事实证明在某些情况下这些算法对于计算时间和硬件级(需要更少的寄存器)来说都更有效。
如果取一个计算取幂的例子,一种基于从右向左处理的用于以指数r对数α进行模数取幂的算法(ARL)如下:
-作为该算法的输入,施加数α和带符号的二进制表示
Figure A0181212600077
-包含结果M的累加器被初始化到1,也就是M=1。
-初始化一个临时寄存器,该临时寄存器包含一个带有被施加了取幂的数α的计算变量S。
-对于i等于0直至i等于m-1实现下面的循环:
-如果 将累加器的内容M乘以变量S,将结果装入累加器,这被写为:M=M·S
-如果 将累加器的内容M乘以变量S的倒数,将结果装入累加器,这被写为:M=M·S-1
一种基于指数的从左向右处理的用于以指数r对数α进行模数取幂的算法(ALR)如下:
-作为输入施加数α和指数r的带符号的二进制表示
Figure A0181212600081
-将累加器的内容M初始化到1:M=1。
-对于i等于m直至i等于0:
-执行累加器的内容与其自身的乘法,并将结果装入累加器,这被写为:M=M2,然后
-如果 将累加器的内容乘以α,将结果装入累加器:M=M·α,或
-如果
Figure A0181212600084
将累加器的内容乘以α的倒数,将结果装入累加器:M=M·α-1
从右向左算法ARL因此比从左向右算法ALR需要至少一个另外的用于变量S的寄存器。另外,S是变量,在从右向左算法中在每次实现相关条件时需要计算S-1。在从左向右算法中,α是确定的(固定的),它的倒数α-1可以只计算一次并存储起来。
在本发明中,已经寻求在变换一个操作数的方法以及在使用这个操作数的算术处理中合并从左向右处理的优点。
因此,在本发明中,提出了一种与Reitwiesner表示等效的带符号的二进制表示,也就是对于相同长度m(该表示中的数位数)具有相同汉明加权的表示。
因此,本发明的目的是一种将一个数的二进制表示变换成一个带符号的二进制表示的方法,该带符号的二进制表示包括一个最优数目、即最大数目的零(最小汉明加权),并且其中的位是从左向右处理的。
本发明的另一个目的是一种用于获得对应的带符号的二进制表示的变换设备。
因此,如其特征所示,本发明涉及一种从一个数的m位的二进制表示(rm-1,??r0)获得一个m+1数位的带符号的二进制表示 的方法。依据本发明,该方法包括:
-在要变换的数r的二进制表示中添加一个秩m的位、一个秩?1的位和一个秩?2的位,并将所述位初始化到值0,
-取至少一个计算变量并将这个变量的秩m的位初始化到0,以及
-对于i等于m直至i等于0,执行一个变换循环的m+1次迭代,该变换循环包括如下操作:
-作为第一计算装置的输入施加计算变量b的秩i的位以及要被变换的数r的二进制表示的秩i-1和i-2的位,所述第一装置提供作为输出的计算变量的秩i-1的位,执行等效于将作为输入施加的位的算术和除以2的默认值的算术操作,
-作为第二计算装置的输入施加计算变量b的秩i和i-1的位以及要被变换的数r的二进制表示的秩i的位,所述计算装置执行等效于计算变量b的秩i的位的负2倍的乘法、以及前面的结果与作为输入施加的另外两位的算术和的算术操作,以便作为输出提供带符号的二进制表示的秩i的数位。
本发明的其他特征和优点将在下面参考附图以例示方式给出、因此不限制本发明的描述中详细说明:
图1显示了包括这样一个变换设备和一个用于模数取幂的算术计算的设备的集成电路;
图2显示了依据本发明的变换设备的方框图;
图3显示了可以用于实现依据本发明的方法的变换的查找表;
图4显示了采用这样一个表的变换设备的一个例示实施例;以及
图5显示了依据本发明的变换设备的采用布尔算子的另一个例示
实施例。
图1显示了包括存储器MEM和随机数发生器GEN的微处理器??类型的集成电路。
这个集成电路还包括一个用于以指数r对数α进行取幂计算的设备1。在该例子中,数α是一个包含在存储器MEM中的固定数,指数r是由随机数发生器以二进制提供的数(rm-1,??r0)。
在集成电路中提供了一个用于变换成带符号的二进制的设备2,用于变换在计算设备1中作为指数施加的数r。
作为从这个变换设备的输出,获得了依据本发明的带符号的二进制表示 并将其作为一个输入施加到计算设备1。这个带符号的二进制表示使得它与所谓的Reitwiesner表示一样具有最优汉明加权。
图1中所示的计算设备1使得能够运用前面所述的从左到右模数取幂算法ALR。在这个例子中,计算设备包括用于取幂的中间结果和最终结果的累加器10和三个寄存器:用于指数的寄存器11、用于数α的寄存器12以及用于其倒数α-1的寄存器13。实际上,用于指数的寄存器11是一个双寄存器:因为带符号二进制中的每个数位 、“1”和“-1”通常在至少两位中编码。
在一个例子中,这个代码包括两位:一位用于符号,一位用于该数位的绝对值。在这个例子中,这给出:
Figure A0181212600102
Figure A0181212600103
Figure A0181212600104
,其中X意思是该位可以等于0或1。在图中的例子中,X等于0。
计算设备1还包括两个多工器20和21和一个乘法器22。控制电路23和开关24提供控制多工器的信号。
控制电路23接收指数r的秩i的数位 的绝对值
Figure A0181212600106
的位(和一个定序信号Ck)。如果这个位等于“1”,它激活(com1)开关24,以便将指数的数位
Figure A0181212600107
的符号位 作为多工器20的控制输入来施加。根据位 是等于 还是“1”,多工器20发送α或α-1作为第二多工器21的输入。
这个第二多工器21在另一个输入接收累加器10的内容M。这由控制电路23的输出com2控制,以便向乘法器22的一个输入施加第一多工器20的输出、即α或α-1、或累加器的内容M。
多工器的输出结果被装入累加器。
控制电路23使得在对于模数取幂的结果位的计算循环的每次迭代中,它首先要求切换从多工器21输出的输入M,以便在多工器中计算M·M,然后,如果指数的数位 的绝对值
Figure A01812126001012
等于1,便要求将第一多工器20的输出(α或α-1)切换到多工器21的输出。
计算设备因此允许通过从左向右处理来计算α的r次取幂。
从左向右变换设备与从左向右处理变换结果的算术处理设备的结合使得能够实时地执行所有这些处理步骤。这是因为,只要数位 被计算出来并出现在变换设备2的输出端,它就立即被用在算术处理设备1中。
采用从右向左处理各位的变换设备(Reitwiesner),可以只在带符号的二进制表示被完全计算时才使用它,因为最后一个变换的数位是第一个用在从左向右处理数位的算术处理设备中的。
因此,通过尤其节省寄存器和提高计算速度方面的性能,依据本发明的变换设备中的位与计算设备中的数位的从左向右处理的同一性使得能够简化这些设备的硬件实现。
变换设备不只运用于用于计算取幂的设备。它同样可以很好地运用于数α与带符号的二进制表示的数r的乘法的计算,或运用于一点与带符号的二进制表示的数r的纯量的乘法。在后一种情况下,本发明的特别令人感兴趣的应用涉及在椭圆曲线上取点的情况。
图2显示了例示依据本发明的变换方法的变换设备2的方框图。
依据本发明的采用从左向右处理来获得带符号的二进制表示的方法的操作如下:
-在包含数r的二进制表示的寄存器R1中增加一个秩m的位rm、一个秩?1的位r-1和一个秩?2的位r-2,并将这三个位初始化到值0。
-从寄存器R2取一个计算变量b,并将这个变量的秩m的位bm初始化到0。
-从i等于m直至i等于0,执行一个变换循环的m+1次迭代,该变换循环包括如下操作:
-作为第一计算装置30的输入e1,e2,e3施加位bi以及ri-1、ri-2,以便计算这些位的算术和除以2,并作为输出位bi-1提供对应于结果的默认值的位,这可以写为:bi-1=[(bi+ri-1+ri-2)/2]
-作为第二计算装置31的输入 施加计算变量b的位bi、bi-1以及数r的二进制表示的秩i的位ri,以便计算负2倍的位bi与作为输入施加的另外两位的算术和,并作为输出提供带符号的二进制表示的数位 这可以写为:
第一和第二计算装置可以执行所指示的算术操作或一个等效的算术操作。
这些计算是通过变量b执行的。然而,可以通过采用几个变量来实现本发明。
如图2所示,用于实现这个方法的变换设备包括寄存器R1,寄存器R1用于包含数r的带符号的二进制表示,包括增加到这个表示的位rm、r-1、r-2这个寄存器是向左移位类型的,对应于从左(i=m)向右(i=0)处理各位的方向。寄存器R1的秩m、m-1和m-2的输出于是分别加到第二计算装置31的输入 以及第一计算装置30的输入e2和e3上。在每次迭代的结束,将寄存器R1向左移一个位置,使得秩m、m-1和m-2的输出在每次迭代提供秩i、i-1和i-2的对应位。
变换设备包括用于计算变量b的另一个寄存器R2,也是向左移位类型的。在该例子中,这个寄存器包括每次迭代的位bi和位bi-1。当从位bi建立位bi-1时,首先激活第一计算装置,以便将要在第二计算装置中用于当前迭代中的新值bi-1装入寄存器R2。
在该迭代结束时,将寄存器R2向左移动一个位置来用于下面的迭代。
在本发明中,可以建立一个对应于刚刚公开的变换方法的查找表。图3中所示的这个查找表简化了依据本发明的变换。这是因为它根据输入直接给出了作为输出的结果。另外,图2中的寄存器R2可以以一个简单的锁存器的形式产生,以便为当前迭代i保存位bi
为了获得这个表,从前面关于图2公开的依据本发明的变换算法为每个可能的三元组(e1,e2,e3)=(bi,ri-1,ri-2)确定位bi-1的值,并为作为输入的每个可能的三元组
Figure A0181212600121
确定数位 的值。
于是可以显示出,对于四元组(bi,ri,ri-1和ri-2)中的每个可能的值,从该四元组有可能确定位bi-1和数位 的值。
采用这个变换表,只将变量b的位bi用作当前迭代的输入。作为输出提供的位bi-1用于下面的迭代。因此,采用这样一个查找表,可以将寄存器R2简化为一个简单的锁存器,其新值在每次迭代结束时以由该表作为输出而提供的位bi-1装入。这个新值变成下次迭代中的位bi
图4中显示了使用这样一个变换表的依据本发明的变换设备的实际实施例的例子。它包括一个内容可寻址存储器,表示为CAM。图3中的查找表在这个存储器中编程,使得通过将位bi,ri,ri-i和ri-2加到这个存储器的地址位A0、A1、A2、A3,它作为输出提供相应的位bi-1和数位
在每次迭代结束时,将位bi-1装入寄存器R2。该位对于循环的下次迭代变成位bi
将数位
Figure A0181212600125
装入寄存器R3,寄存器R3实际上包括用于包含带符号的二进制表示的每个数位的带符号位 的第一寄存器R3H和用于包含其绝对值
Figure A0181212600127
的第二寄存器R3L。
图5中显示了依据本发明的变换设备的另一个例示实施例。在这个例子中,变换设备是基于布尔算子的。在这里,寄存器R2也可以是一个简单的锁存器,由在当前迭代中确定的位bi-1重新装入。
布尔算子的定义是从包括对应于依据本发明的变换方法和查找表的算法的逻辑操纵和极小化的工作产生的。
在本发明中,可以从位bi,ri,ri-1和ri-2定义这些算子,以便直接获得作为输出的位bi-1和数位
Figure A0181212600131
通过使用代表符号和绝对值的两位中的编码,可以定义下面的布尔运算:
bi-1=/bi·ri-1·ri-2+bi·ri-1+bi·ri-2
Figure A0181212600132
Figure A0181212600133
应该注意,当数位
Figure A0181212600134
是零时,即,如果
Figure A0181212600135
则带符号位 可以被取为0或1。如果在数位等于0的情况下对于带符号位任何值0或1都是可接受的,使 则覆盖了所有情况。然而,与在图1中给出的例子中一样,当数位等于0时,可以规定这个带符号位被固定、例如固定到0。
图5中显示了包括布尔算子的变换设备的一个相应实施例的例子。在这个例子中,除了寄存器R1和R2之外,变换设备还包括:
-AND类型的第一门电路P1,包括一个用于接收位ri的倒相输入和一个用于接收位bi的不倒相输入;
-AND类型的第二门电路P2,带有与第一个相反的输入;
-AND类型的第三门电路P3,包括一个用于接收位ri-1的倒相输入、另一个用于接收位ri-2的倒相输入和一个用于接收位bi的不倒相输入;
-AND类型的第四门电路P4,接收与第三个门电路相反的输入;
-AND类型的第五门电路P5,包括一个用于接收位ri-1的不倒相输入和另一个用于接收位bi的不倒相输入;
-AND类型的第六门电路P6,包括一个用于接收位ri-2的不倒相输入和另一个用于接收位bi的不倒相输入;
-OR类型的第七门电路P7,作为输入接收第一、第二、第三和第四门电路的输出,并作为输出提供带符号的二进制表示的秩i的数位
Figure A0181212600138
的绝对值
Figure A0181212600139
(0或1),带符号位
Figure A01812126001310
由位bi提供;以及
-OR类型的第八门电路P8,作为输入接收第四、第五和第六门电路的输出,以便提供位bi-1作为输出。
分别包含r的二进制表示、计算变量和变换成带符号的二进制的结果的寄存器R1、R2和R3的控制如图4所示。
刚刚描述的本发明可以用在许多应用中,特别是采用加密方法的应用中。它可用于提供在任何算术处理中使用的操作数的带符号的二进制表示、最好是从左向右处理各位,以便在设计简化和处理速度方面获得最大的收益。应该注意,已经给出了本发明对于以变量数r(随机)对一个固定数取幂的应用的例子,该例子使用平方和乘法的计算技术。本发明同样很好地应用于以固定数r对一个随机数的取幂,它使用加法链的技术。更普遍地,本发明应用于用于数α与带符号的二进制表示的数r的乘法的算术计算设备,或应用于一点与数r的纯量的乘法。在后一种情况下,本发明的特别令人感兴趣的应用涉及从椭圆曲线取点的情况。可能应用的列表不是穷举的。
在所有这些应用中,与Reitwiesner表示一样,因为最小汉明加权,运算数目被减少,并且其另外的优点与从左向右处理有关(硬件简化,寄存器数目减少,实时处理)。

Claims (17)

1.一种用于将一个数(r)从其m位的二进制表示(rm-1,??r0)变换成m+1数位的带符号的二进制表示
Figure A0181212600021
的方法,其特征在于包括:
a)在被变换的数(r)的二进制表示中增加一个秩m的位(rm)、一个秩?1的位(r-1)和一个秩?2的位(r-2),并将所述位初始化到值0,
b)使用至少一个计算变量(b),以及
c)将所述变量的秩m的位(bm)初始化到值0,
d)对于i等于m直至i等于0,执行一个变换循环,包括如下操作:
(1)作为第一计算装置(30)的输入(e1、e2、e3)施加计算变量(b)的秩i的位(bi)、以及要被变换的数的二进制表示的秩i-1和i-2的位(ri-1,ri-2),所述第一装置作为输出提供计算变量(b)的秩i-1的位(bi-1),执行等效于将作为输入(e1、e2、e3)施加的位的算术和除以2的默认值的算术操作,
(2)作为第二计算装置(31)的输入
Figure A0181212600022
施加计算变量(b)的秩i和i-1的位(bi,bi-1)以及要被变换的数(r)的二进制表示的秩i的位(ri),所述计算装置执行等效于计算变量(b)的秩i的位的负2倍的乘法、以及前面的结果与作为输入施加的另外两位的算术和的算术操作,以便作为输出提供带符号的二进制表示的秩i的数位
2.如权利要求1所述的方法,其特征在于,它包括施加带符号的二进制表示作为一个算术计算设备(1)的输入,所述数(r)是一个操作数,所述计算设备从最高秩向最低的高秩处理所述操作数的数位。
3.如前面任何一个权利要求所述的变换方法,其特征在于,它包括使用一个带有作为第一和第二计算装置四个输入的变换表,所述输入对应于计算变量(b)的秩i的位(bi)以及要被变换的数(r)的二进制表示的秩i、i-1和i-2的位(ri,ri-1,ri-2),以便作为输出直接提供计算变量(b)的秩i-1的位(bi-1)的值和带符号的二进制表示的秩i的数位
Figure A0181212600024
的值。
4.如权利要求1至3中的一个所述的变换方法,其特征在于,带符号的二进制表示的每个数位
Figure A0181212600031
被以带有至少两位的代码的形式提供作为输出。
5.如权利要求4所述的变换方法,其特征在于,每个数位以两位编码,第一位对应于绝对值
Figure A0181212600032
,第二位对应于带符号位
Figure A0181212600033
第一位是存储在第一输出寄存器(R3L)中的带符号的二进制表示的数位,这些数位的第二位被存储在第二输出寄存器(R3H)中,所述输出寄存器是向左移位类型的。
6.一种用于实现如权利要求3至5中的一个所述的方法的变换成带符号的二进制的设备,其特征在于,它包括一个内容可寻址存储器(CAM),计算变量(b)的秩i的位(bi)以及要被变换的数(r)的二进制表示的秩i、i-1和i-2的位(ri,ri-1,ri-2)被作为地址位(A0,A1,A2,A3)加到所述存储器。
7.用于实现如权利要求1、2、4或5中的任一个所述的变换方法的变换设备,其特征在于,第一和第二计算装置包括布尔算子。
8.如权利要求7所述的变换设备,其特征在于,所述布尔算子作为输入接收以bi指示的计算变量(b)的秩i的位以及分别以ri,ri-1,ri-2指示的要被变换的数(r)的二进制表示的秩i、i-1和i-2的位,以便作为输出提供以bi-1指示的计算变量(b)的秩i-1的位和以
Figure A0181212600034
指示的带符号的二进制表示的秩i的数位。
9.如权利要求8所述的变换设备,其中,带符号的二进制表示的每个数位被以如权利要求5所述的两位代码的形式提供,其特征在于,所述布尔算子包括一组逻辑门电路,能够对输入位bi,ri,ri-1和ri-2进行等效于/bi·ri-1·ri-2+bi·ri-1+bi·ri-2的第一布尔操作,以便作为输出提供bi-1,进行等效于/bi·ri-1·ri-2+/bi·ri+bi·/ri+bi·/ri-1·/ri-2的第二布尔操作,以便作为输出提供代表带符号的二进制表示的秩i的数位 的绝对值
Figure A0181212600036
,代表所述数位的符号的位
Figure A0181212600037
等于计算变量的秩i的位(bi),或者如果所述数位是零,位 等于0或1。
10.如前面的权利要求所述的变换设备,其特征在于,所述布尔算子包括:
a)AND类型的第一门电路(P1),包括一个用于接收要被变换的数(r)的二进制表示的秩i的位(ri)的倒相输入和一个用于接收计算变量的秩i的位(bi)的不倒相输入;
b)AND类型的第二门电路(P2),带有与第一个相反的输入;
c)AND类型的第三门电路(P3),包括一个用于接收要被变换的数(r)的二进制表示的秩i-1的位(ri-1)的倒相输入、另一个用于接收要被变换的数(r)的二进制表示的秩i-2的位(ri-2)的倒相输入和一个用于接收计算变量(b)的位(bi)的不倒相输入;
d)AND类型的第四门电路(P4),接收与第三个门电路相反的输入;
e)AND类型的第五门电路(P5),包括一个用于接收要被变换的数(r)的二进制表示的秩i-1的位(ri-1)的不倒相输入和另一个用于接收计算变量(b)的秩i的位(bi)的不倒相输入;
f)AND类型的第六门电路(P6),包括一个用于接收要被变换的数(r)的二进制表示的秩i-2的位(ri-2)的不倒相输入和另一个用于接收计算变量(b)的秩i的位(bi)的不倒相输入;
g)OR类型的第七门电路(P7),作为输入接收第一、第二、第三和第四门电路的输出,并作为输出提供代表带符号的二进制表示的秩i的数位
Figure A0181212600041
的绝对值(0或1)的位 ,代表符号的位
Figure A0181212600043
由计算变量(b)的秩i的位(bi)提供;以及
h)OR类型的第八门电路(P8),作为输入接收第四、第五和第六门电路的输出,以便提供计算变量(b)的秩i-1的位(bi-1)作为输出。
11.如权利要求6至10中的任何一个所述的变换设备,其特征在于,它包括用于包含要被变换的数(r)的二进制表示的第一向左移位输入寄存器(R1)和用于包含计算变量(b)的第二向左移位寄存器(R2)。
12.如权利要求11所述的设备,其特征在于,所述第二寄存器(R2)是一个包含对应于当前迭代的秩i的位的锁存器,以及,作为这个迭代中的输出而传送的秩i-1的位被装入锁存器中以便提供在下次迭代中的秩i的位。
13.一种包括依据权利要求6至12中的任何一个的变换设备的集成电路,其特征在于,它还包括一个用于根据从带符号的二进制表示中的最高秩的数位向最低秩的数位的处理进行算术计算的设备(1)。
14.如权利要求13所述的集成电路,其特征在于,所述算术计算设备(1)是一个用于以加到变换设备的数(r)的带符号的二进制表示对一个数(α)取幂的设备。
15.如权利要求13所述的集成电路,其特征在于,所述算术计算设备(1)是一个用于以加到变换设备的数(r)的带符号的二进制表示与一个数(α)相乘的设备。
16.如权利要求13所述的集成电路,其特征在于,所述算术计算设备(1)是一个用于以加到变换设备的数(r)的带符号的二进制表示与一点(α)进行纯量乘法的设备。
17.如权利要求16所述的集成电路,其特征在于,所述点是在椭圆曲线上取的。
CN01812126.8A 2000-06-30 2001-06-20 将一个数的二进制表示变换成一个带符号的二进制表示的方法 Expired - Fee Related CN1258883C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0008547A FR2811168B1 (fr) 2000-06-30 2000-06-30 Procede de conversion de la representation binaire d'un nombre dans une representation binaire signee
FR0008547 2000-06-30

Publications (2)

Publication Number Publication Date
CN1440591A true CN1440591A (zh) 2003-09-03
CN1258883C CN1258883C (zh) 2006-06-07

Family

ID=8851988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01812126.8A Expired - Fee Related CN1258883C (zh) 2000-06-30 2001-06-20 将一个数的二进制表示变换成一个带符号的二进制表示的方法

Country Status (6)

Country Link
US (1) US6903663B2 (zh)
EP (1) EP1299953A1 (zh)
CN (1) CN1258883C (zh)
AU (1) AU2001269217A1 (zh)
FR (1) FR2811168B1 (zh)
WO (1) WO2002001727A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4682852B2 (ja) * 2006-01-16 2011-05-11 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US7996798B2 (en) * 2007-05-24 2011-08-09 Microsoft Corporation Representing binary code as a circuit
EP2169535A1 (en) * 2008-09-22 2010-03-31 Thomson Licensing Method, apparatus and computer program support for regular recoding of a positive integer
US8812570B2 (en) * 2009-05-28 2014-08-19 Red Hat, Inc. String hashing using a number generator

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6053907B2 (ja) * 1978-01-27 1985-11-27 日本電気株式会社 二項ベクトル乗算回路
DE4308112A1 (de) * 1993-03-15 1994-10-13 Andreas Herrfeld Schaltung zur CSD-Codierung einer binären Zweierkomplement- oder Dualzahl
US6263081B1 (en) 1997-07-17 2001-07-17 Matsushita Electric Industrial Co., Ltd. Elliptic curve calculation apparatus capable of calculating multiples at high speed

Also Published As

Publication number Publication date
FR2811168B1 (fr) 2002-11-15
AU2001269217A1 (en) 2002-01-08
WO2002001727A1 (fr) 2002-01-03
US6903663B2 (en) 2005-06-07
US20040215684A1 (en) 2004-10-28
FR2811168A1 (fr) 2002-01-04
EP1299953A1 (fr) 2003-04-09
CN1258883C (zh) 2006-06-07

Similar Documents

Publication Publication Date Title
CN1079555C (zh) 图象处理系统的边缘检测方法与装置
CN101097511B (zh) 使用折叠的模归约
CN1106621C (zh) 绘制三次曲线的方法和设备
CN1928809A (zh) 用于执行浮点运算的系统、设备和方法
US7930337B2 (en) Multiplying two numbers
CN1215862A (zh) 计算方法和计算装置
US10768898B2 (en) Efficient modulo calculation
CN87107679A (zh) 一种正交变换处理器
KR20060128953A (ko) 복소 위상 회전을 위한 cordic 알고리즘의 구현
CN1258710C (zh) 用于高效模数归约和模数乘法的电路和方法
CN1108558C (zh) 面向算术/移位操作的单指令多数据校正电路
Zhu et al. Low latency and low error floating-point sine/cosine function based TCORDIC algorithm
CN1258883C (zh) 将一个数的二进制表示变换成一个带符号的二进制表示的方法
CN1650254A (zh) 计算模数乘法之结果的装置及方法
Markstein The new IEEE-754 standard for floating point arithmetic
CN1158515A (zh) 具有比特移位单元的数字滤波器
CN1178588A (zh) 使用移位装置的求幂电路及其使用方法
CN1731344A (zh) 快速多周期二进制及十进制加法器单元的高度并行结构
WO2023248309A1 (ja) データ処理装置、データ処理プログラム、及びデータ処理方法
Awasthi et al. Hybrid signed digit arithmetic in efficient computing: A comparative approach to performance assay
CN1133948C (zh) 二进制数据计数装置、面积信息取样装置和霍夫变换装置
WO2004025453A2 (en) Apparatus and method for adding multiple-bit binary strings
CN1691580A (zh) 一种模乘运算的方法及其装置和用途
US7013320B2 (en) Apparatus and method for remainder calculation using short approximate floating-point quotient
CN1591824A (zh) 40位带舍入功能的快速累加累减器电路实现结构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060607