KR100431029B1 - 부쓰 알고리즘을 이용한 스칼라 곱셈기 - Google Patents

부쓰 알고리즘을 이용한 스칼라 곱셈기 Download PDF

Info

Publication number
KR100431029B1
KR100431029B1 KR10-2002-0010968A KR20020010968A KR100431029B1 KR 100431029 B1 KR100431029 B1 KR 100431029B1 KR 20020010968 A KR20020010968 A KR 20020010968A KR 100431029 B1 KR100431029 B1 KR 100431029B1
Authority
KR
South Korea
Prior art keywords
bits
zero
register
integer
significant
Prior art date
Application number
KR10-2002-0010968A
Other languages
English (en)
Other versions
KR20030071317A (ko
Inventor
이용석
문상국
Original Assignee
학교법인연세대학교
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 학교법인연세대학교 filed Critical 학교법인연세대학교
Priority to KR10-2002-0010968A priority Critical patent/KR100431029B1/ko
Publication of KR20030071317A publication Critical patent/KR20030071317A/ko
Application granted granted Critical
Publication of KR100431029B1 publication Critical patent/KR100431029B1/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 부쓰 알고리즘을 이용한 스칼라 곱셈기에 관한 것으로서, k는 GF(2m) 상의 임의의 정수이고, P는 GF(2m) 상에서 정의된 타원 곡선 위의 임의의 점이라고 정의할 때 m비트로 구성된 상기 정수(k)와 점(P)들을 곱셈하는 스칼라 곱셈기에 있어서,
제로(0)와 상기 m비트의 정수(k)를 저장하며, 클럭 신호에 동기되어 상기 제로(0)와 상기 m비트의 정수(k)를 병렬로 출력하며, 이 때 상기 제로(0)를 최상위 자리에 위치시키고 다음에 상기 m비트들 중 최상위 비트들부터 순서대로 정렬하여 출력하는 레지스터; 상기 레지스터에서 출력되는 비트들 중에서 최상위 3비트들을 입력하고 이들에 대해 부쓰 알고리즘을 수행하여 출력하는 부쓰 연산부; 및 상기 레지스터에 연결되며, 상기 병렬로 출력되는 제로(0)와 m비트의 정수(k)를 입력하고, 상기 m비트들의 최하위 비트에서 상기 제로(0) 방향으로 2단계 쉬프트시킨 다음 상기 레지스터로 전달하는 쉬프터를 구비함으로써 곱셈 속도가 빨라진다.

Description

부쓰 알고리즘을 이용한 스칼라 곱셈기{Scalar multiplier using booth algorithm}
본 발명은 스칼라 곱셈기에 관한 것으로서, 특히 부쓰 알고리즘(Boothalgorithm)을 이용한 스칼라 곱셈기에 관한 것이다.
디피-헬만(Diffie-Hellman) 키 교환 방식에 바탕을 둔 엘가말(Elgamal) 암호 시스템이나 ECDSA(Elliptic Curve Digital Signature Algorithm)와 같은 타원 곡선 암호 어플리케이션들을 적용할 때 가장 시간이 많이 걸리면서 대부분을 차지하는 동작이 다음 수학식 1과 같이 점 덧셈 연산을 반복하여 수행하는 스칼라 곱셈이다.
kP = P + P +…+ P
여기서, k는 GF(2m) 상의 임의의 정수이고 P는 GF(2m) 상에서 정의된 타원 곡선 위의 임의의 점이다.
일반적인 연산 방식에서 스칼라 곱셈을 한 번 수행 할 때는 여러 번의 점 덧셈 연산과 (더하고자 하는 두 점이 다를 때) 두배점 연산이 (더하고자 하는 두 점이 같을 때) 필요하고, 무엇보다도 수학식 1을 빠르게 처리할 수 있는 방법이 중요하다.
타원 곡선 암호 시스템에서 스칼라 곱셈을 구현할 때 가장 많이 사용되면서 기본적인 방법이 더블-앤드-애드(double-and-add) 알고리즘을 사용한 방식이다. 이 방식은 RSA 암호 시스템에서 정수의 법 연산으로 지수 연산을 구현할 때 사용하는 스퀘어-앤드-멀티플라이(square-and-multiply) 방식과 유사하다고 할 수 있는데, k =일 때 알고리즘은 다음 수학식 2와 같다. 수학식 2에서 점 덧셈 연산은 add, 두배점 연산은 double이라고 표기하기로 한다.
kP :
k =
p:=P(x1,y1)
Q:=P
for i from m-1 down to 0 do
Q:=double(Q)
if bi=1 then
Q:=add(P,Q)
end (Q=kP)
상기 수학식 2에서 중요한 것은 최소 (m-1)번의 두배점 연산에 더하여 k를 이진수로 표현했을 때의 해밍 웨이트(hamming weight)만큼의 점 덧셈 연산이 필요하다는 것이다. 이 방식을 개선하기 위해, 몇 가지 방식이 제안되었다. 그 중 하나가 NAF(Non-Adjacent-Format)을 이용한 방식인데, 그 알고리즘은 다음 수학식 3과 같다.
kP :
Q:=0
for i from t-1 down to 0 do
Q:=2Q
if ki=1 then Q:=Q+P
if ki=-1 then Q:=Q-P
end ( Q=kP)
상기 방식은 kP를 계산함에 있어 k의 이진 표현에 대한 리던던시(redundancy)를 사용한다. 하지만 k를 NAF 형태로 미리 바꾸어야 한다는 단점이 있다.
본 발명이 이루고자하는 기술적 과제는 곱셈 속도가 빨라진 부쓰 알고리즘을 이용한 스칼라 곱셈기를 제공하는 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 따른 부쓰 알고리즘(Booth algorithm)을 이용한 스칼라 곱셈기의 블록도이다.
도 2는 스칼라 곱셈을 수행할 때 더블-앤드-애드 방식과 본 발명의 부쓰 알고리즘을 방식의 연산 단계의 차이를 도시한 도면이다.
도 3은 더블-앤드-애드 방식과 부쓰 알고리즘을 적용한 방식을 비교하기 위하여 도시한 것이다.
<도면의 주요 부분에 대한 부호의 설명>
111: 레지스터, 121: 부쓰 연산부
131: 쉬프터
상기 기술적 과제를 이루기 위하여 본 발명은,
k는 GF(2m) 상의 임의의 정수이고, P는 GF(2m) 상에서 정의된 타원 곡선 위의 임의의 점이라고 정의할 때 m비트로 구성된 상기 정수(k)와 점(P)들을 곱셈하는 스칼라 곱셈기에 있어서, 제로(0)와 상기 m비트의 정수(k)를 저장하며, 클럭 신호에 동기되어 상기 제로(0)와 상기 m비트의 정수(k)를 병렬로 출력하며, 이 때 상기 제로(0)를 최상위 자리에 위치시키고 다음에 상기 m비트들 중 최상위 비트들부터순서대로 정렬하여 출력하는 레지스터; 상기 레지스터에서 출력되는 비트들 중에서 최상위 3비트들을 입력하고 이들에 대해 부쓰 알고리즘을 수행하여 출력하는 부쓰 연산부; 및 상기 레지스터에 연결되며, 상기 병렬로 출력되는 제로(0)와 m비트의 정수(k)를 입력하고, 상기 m비트들의 최하위 비트에서 상기 제로(0) 방향으로 2단계 쉬프트시킨 다음 상기 레지스터로 전달하는 쉬프터를 구비하는 스칼라 곱셈기를 제공한다.
바람직하기는, 상기 쉬프터는 출력되는 데이터를 병렬로 출력하여 상기 레지스터로 전송한다.
바람직하기는 또한, 상기 레지스터는 상기 제로(0)와 상기 m비트의 정수(k)를 저장할 때, 상기 제로(0)를 최상위 자리에 위치시키고 다음에 상기 m비트들 중 최상위 비트들부터 순서대로 저장한다.
바람직하기는 또한, 상기 부쓰 연산부는 +P, +2P, 0, -P, -2P 중 하나를 출력한다.
상기 본 발명의 스칼라 곱셈기에 의하면 곱셈 속도가 빨라진다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 부쓰 알고리즘(Booth Algorithm)을 이용한 스칼라 곱셈기의 블록도이다. 도 1을 참조하면, 스칼라 곱셈기(101)는 레지스터(111), 부쓰 연산부(121) 및 쉬프터(131)를 구비한다. 스칼라 곱셈기(101)는 수학식 1과 같이 m비트의 정수(k)와 점(P)들을 곱셈한다. 여기서, k는 GF(2m) 상의 임의의 정수이고, P는 GF(2m) 상에서 정의된 타원 곡선 위의 임의의 점이다.
레지스터(111)는 제로(0)와 상기 m비트의 정수(k)를 저장하며, 클럭 신호(CLK)에 동기되어 제로(0)와 상기 m비트들을 병렬로 출력한다. 이 때 상기 제로(0)는 상기 m비트들의 최상위 자리에 위치하며, 다음에 상기 m비트들 중 최상위 비트들부터 순서대로 정렬하여 출력된다. 레지스터(111)는 상기 제로(0)와 상기 m비트의 정수(k)를 저장할 때, 상기 제로(0)를 최상위 자리에 위치시키고 다음에 상기 m비트들 중 최상위 비트들부터 순서대로 저장한다.
부쓰 연산부(121)는 레지스터(111)에서 출력되는 정수(k)의 비트들 중에서 최상위 3비트들을 입력하고 이들에 대해 부쓰 알고리즘을 수행하여 그 결과(OUT2)를 출력한다. 부쓰 연산부(121)는 +P, +2P, 0, -P, -2P 중 하나를 출력한다.
쉬프터(131)는 레지스터(111)에 연결되며, 상기 병렬로 출력되는 제로(0)와 m비트들을 입력하고, 상기 m비트들의 최하위 비트에서 상기 제로(0) 방향으로 2단계 쉬프트시킨 다음 레지스터(111)로 전달한다. 이 때, 쉬프터(131)는 데이터(OUT1)를 병렬로 출력하여 레지스터(111)로 전송한다.
이하, 스칼라 곱셈기에 적용된 부쓰 알고리즘을 이용한 스칼라 곱셈 알고리즘에 관해 설명하기로 한다.
부쓰 알고리즘에서는 반복적으로 이어지는 수열을 효과적으로 이용하기 위해 다음 수학식 4와 같이 이진 수열을 변경한다.
...0{11...11}... = ...1{0...00}0...-...0{00...01}0...
상기 수학식 4의 오른쪽 항을 부호 이진(signed-digit) 형태로 표현하면 다음 수학식 5와 같이 표현된다.
}0...
상기 수학식 5의 형태는 곱셈 연산에 적용될 때 연속되는 '1'의 행렬을 연속되는 '0'의 행렬로 바꿈으로써 캐리(carry) 전달을 수반하는 이진 덧셈을 간단한 쉬프트(shift) 연산으로 대치한다. 정정된 부쓰 알고리즘(Radix-4 modified Booth's algorithm)은 한 번에 오퍼랜드(operand)의 비트열의 세 비트를 참고하면서 한 번에 두 비트씩 연산을 처리하여 부분곱의 계산량을 반으로 줄인다. 표 1에 상기 정정된 부쓰 알고리즘에서 사용되는 연산과 그 의미를 요약하였다.
ki ki-1 ki-2 k'i k'i-1 동작 설명
0 00 11 01 10 00 11 01 1 00001111 0 00 11 00 10 11 00 10 0 +0+P-2P-P+P+2P-P+0 0의 행렬한 번의 11 행렬의 시작1 행렬의 시작1 행렬의 끝1 행렬의 끝한 번의 01의 행렬
부쓰 알고리즘을 적용시키기 위해서는 일단 정수(k)를 2의 보수 형식으로 표현해야 하기 때문에 정수(k)의 2진 비트 열의 최상위 비트에 제로(0)를 붙여주어야 한다.
표 2는 부쓰 알고리즘을 적용시키면서 어떻게 기존의 더블-앤드-애드 방식과 차이가 있는지 비교하여 정리한 것이다.
# of steps # of add # of double # of neg # of quad
double-and-add m m-1 0 0
Adopting Booth's recoding 2-1 0 0
Booth's recoding with point quadruple 1 2 -1
먼저, 먼저 기존의 더블-앤드-애드 방식은 m비트들로 이루어진 정수(k)의 해밍 웨이트(hamming weight) 값에 맞추어 연산 단계의 수가 결정된다. 정수(k)의 비트열에는 '1'이 몇 번 나올지 알 수가 없기 때문에 이를 확률적으로 계산하기로 한다. 첫 번째 "+P" 가 기본적으로 선택되고 이후 (m-1)번의 더블 연산이 소요되는데 m비트들 중 '1'이 있을 확률은 0.5이므로 (m/2)번의 애드 연산이 소요된다고 예상 할 수 있다. 여기서 부쓰 알고리즘을 적용하면 최상위 비트 자리의 제로(0)로 인해번의 연산 단계가 필요하다.
도 2에 스칼라 곱셈을 수행할 때의 기존 방법과 개선된 방법의 연산 단계의 차이가 도시되어 있다. 도 2를 참조하면, 첫 번째 연산 대상이 "+P"이거나 "+2P"이기 때문에 첫 번째 연산 회수를 제외한 나머지에 해당하는 연산 회수마다 더블 연산이 두 번씩 필요하고 처음 "2P"를 위한 계산이 소요되기 때문에 결과적으로 다음 수학식 6과 같은 회수의 더블 연산이 필요하게 된다.
- 1) = 2 × - 1)
면적 면에서는 연산 단계마다 "P" 또는 "2P"에 해당하는 점 덧셈 연산을 해 주어야 하기 때문에 "P"를 저장하는 장소 이외에 "2P"를 저장하는 공간이 따로 필요하다. 연산 단계마다 애드 연산의 회수는 표 1을 참고하면 모두 8가지 {kiki-1(ki-2)}의 경우에 확률적으로 "±P" 혹은 "±2P"를 연산할 경우가 6번임을 알 수가 있고 연산 단계가 (m/2) 번이므로 아래 수학식 7과 같은 횟수의 점 덧셈 연산을 해야한다는 것을 알 수가 있다.
× )=( )m}
여기서, 네 배가 되는 점을 구하기 위해 한 연산 단계에 두 번씩 더블 연산을 수행하기보다는 네 배점 연산(point quadruple; quad)을 유도하여 최적화함으로써 다시 한번 알고리즘을 개선시킬 수 있다. 아래 표 3에 스칼라 곱셈 방법의 연산 단계 수 비교 결과가 나와 있다.
# of multiplications # of divisions # of squarings # of additions
2x point double 2 x 1 = 2 2 x 1 = 2 2 x 2 = 4 2 x 4 = 8
point quadruple 1 2 4 10
표 3에서 애드 연산 측면에서 본다면 약 12.5% 만큼의 연산 회수를 줄일 수 있는 성능 향상을 보인다. 다음 수학식 8은 두 배점 연산을 이용하여 최적화시킨 네 배점 연산 공식의 유도 결과이다.
y3= x1 2+ (λ'+ 1)x3,
λ'= x2+ λ+ 1 +,
x2= λ2+ λ+ a,
λ = (x1+)
P(x1,y1)=Q(x1,y1)는 타원 곡선 위의 같은 한 점이다. 만일 x1=0이면, 결과값 4P는 0이고, 만일 x1≠0이면, 결과값은 4P(x1,y1)=R(x3,y3)이고, x3,y3의 값은 상기 수학식 8과 같다.
두 배점 연산 알고리즘을 사용한 방법과 네 배점 연산 알고리즘을 유도하여 적용한 방법에서 유한체 연산 수의 차이가 표 3에 정리되었다.
두 배점 연산 알고리즘을 사용한 방법과 네 배점 연산 알고리즘을 유도하여 적용한 방법에서 유한체 연산 수의 차이가 표 3에 정리되었다.
타원 곡선 위의 임의의 점의 네 배점에 해당하는 점을 구하는 연산을 수행 할 때 유한체 곱셈이 한 번 줄어듦으로써 전체적인 스칼라 곱셈 시에 상당한 이득을 얻을 수 있다. 유한체 덧셈은 구조의 성능에 거의 영향을 미치지 않기 때문에 얼마간의 수적 차이는 의미가 없다고 볼 수 있다. 이를 포함시켜 최종적으로 부쓰 알고리즘을 적용하여 더블-앤드-애드 알고리즘을 개선시킨 새로운 알고리즘은 다음 수학식 9와 같다. 알고리즘 내에서 점 역원 연산은 neg로 표현하고 네 배점 여난은 quad로 표기한다.
표기한다.
kP :
k =(ri는 부쓰 알고리즘 값)
P:= P(x1,y1)
2P:=double(P)
Q:={0P,+P,+2P,-P,-2P} 중 하나
for i from-1 down to 0 do
Q:=quad(Q)
if (ri=+P) then
Q:=add(P,Q)
if (ri=+2P) then
Q:=add(2P,Q)
if (ri=-P) then
tempP:=neg(P)
Q:=add(tempP,Q)
if (ri=-2P) then
temp2P:=neg(2P)
Q:=add(temp2P,Q)
end (Q=kP)
도 3은 더블-앤드-애드 방식과 부쓰 알고리즘을 적용한 방식을 비교하기 위하여 도시한 도면이다. 도 3에서 알 수 있는 바와 같이 스칼라 곱셈 "10P" 를 연산하고자 하는 경우, 더블-앤드-애드 방식에서는 4 단계, 부쓰 알고리즘을 적용하면 3 단계만큼의 연산 단계가 소요된다. 이 예에서는 (k=10)이라는 작은 수이기 때문에 한 단계 밖에 차이가 나지 않지만 일반적인 m비트 정수(k)의 경우 m 단계에서단계로 연산 단계 수가 줄게 된다. 만일 네 배점 연산인 콰드 알고리즘(Quad algorithm)을 보다 전문적이고 폭넓은 수학적 지식의 도움을 받아 좀 더 최적화시킬 수 있다면 부쓰 알고리즘을 적용하는 방법은 더욱더 효율적인 방법이 될 것이다. 또한, radix-4 방식에 이어서 차후 radix-8이나 그 이상으로 구현할 경우 보다 대폭적인 성능 향상이 기대된다.
표 4는 각 스칼라 곱셈 방법에 따라 유한체 계층에서 본 연산 수의 비교이다. 표 4를 보면, 본 발명에 따른 스칼라 곱셈 알고리즘은 더블-앤드-애드 알고리즘에 비해 유한체 곱셈 연산 부분에서 약 42%, 유한체 나눗셈 부분에서 약 9%, 유한체 제곱 연산 부분에서 약 5%의 개선율을 보인다. 유한체 곱셈과 제곱이 같은 자원을 공유하여 사용한다고 생각하면 두 연산을 같이 고려하여 약 19% 정도 유한체 곱셈 측면에서 이득이 있다는 것을 의미한다.
dpuble-and-add quad-and-add Reduction ratio
# of EC operations m add()+m double() m add()+1 double()+ (-1) quad()
multiplication m m + 1 0.58
division m m + 1 0.91
square m m + 2 0.95
addition 8m 8m + 6 1
도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 스칼라 곱셈기(101)를 적용할 경우, 기존의 더블-앤드-애드 알고리즘을 적용한 경우에 비해 곱셈 속도가 대폭적으로 빨라진다.

Claims (4)

  1. k는 GF(2m) 상의 임의의 정수이고, P는 GF(2m) 상에서 정의된 타원 곡선 위의 임의의 점이라고 정의할 때 m비트로 구성된 상기 정수(k)와 점(P)들을 곱셈하는 스칼라 곱셈기에 있어서,
    제로(0)와 상기 m비트의 정수(k)를 저장하며, 클럭 신호에 동기되어 상기 제로(0)와 상기 m비트의 정수(k)를 병렬로 출력하며, 이 때 상기 제로(0)를 최상위 자리에 위치시키고 다음에 상기 m비트들 중 최상위 비트들부터 순서대로 정렬하여 출력하는 레지스터;
    상기 레지스터에서 출력되는 비트들 중에서 최상위 3비트들을 입력하고 이들에 대해 부쓰 알고리즘을 수행하여 출력하는 부쓰 연산부; 및
    상기 레지스터에 연결되며, 상기 병렬로 출력되는 제로(0)와 m비트의 정수(k)를 입력하고, 상기 m비트들의 최하위 비트에서 상기 제로(0) 방향으로 2단계 쉬프트시킨 다음 상기 레지스터로 전달하는 쉬프터를 구비하는 것을 특징으로 하는 스칼라 곱셈기.
  2. 제1 항에 있어서, 상기 쉬프터는 출력되는 데이터를 병렬로 출력하여 상기 레지스터로 전송하는 것을 특징으로 하는 스칼라 곱셈기.
  3. 제1 항에 있어서, 상기 레지스터는 상기 제로(0)와 상기 m비트의 정수(k)를 저장할 때, 상기 제로(0)를 최상위 자리에 위치시키고 다음에 상기 m비트들 중 최상위 비트들부터 순서대로 저장하는 것을 특징으로 하는 스칼라 곱셈기.
  4. 제1 항에 있어서, 상기 부쓰 연산부는 +P, +2P, 0, -P, -2P 중 하나를 출력하는 것을 특징으로 하는 스칼라 곱셈기.
KR10-2002-0010968A 2002-02-28 2002-02-28 부쓰 알고리즘을 이용한 스칼라 곱셈기 KR100431029B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0010968A KR100431029B1 (ko) 2002-02-28 2002-02-28 부쓰 알고리즘을 이용한 스칼라 곱셈기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0010968A KR100431029B1 (ko) 2002-02-28 2002-02-28 부쓰 알고리즘을 이용한 스칼라 곱셈기

Publications (2)

Publication Number Publication Date
KR20030071317A KR20030071317A (ko) 2003-09-03
KR100431029B1 true KR100431029B1 (ko) 2004-05-10

Family

ID=32223080

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0010968A KR100431029B1 (ko) 2002-02-28 2002-02-28 부쓰 알고리즘을 이용한 스칼라 곱셈기

Country Status (1)

Country Link
KR (1) KR100431029B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064271A (ja) * 1992-06-17 1994-01-14 Mitsubishi Electric Corp 乗算器
KR940022247A (ko) * 1993-03-31 1994-10-20 김광호 갈로아필드에서의 승산기
JPH07160476A (ja) * 1993-12-09 1995-06-23 Hitachi Ltd 部分積生成回路
KR20030048631A (ko) * 2001-12-12 2003-06-25 한국전자통신연구원 타원곡선 암호화 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064271A (ja) * 1992-06-17 1994-01-14 Mitsubishi Electric Corp 乗算器
KR940022247A (ko) * 1993-03-31 1994-10-20 김광호 갈로아필드에서의 승산기
JPH07160476A (ja) * 1993-12-09 1995-06-23 Hitachi Ltd 部分積生成回路
KR20030048631A (ko) * 2001-12-12 2003-06-25 한국전자통신연구원 타원곡선 암호화 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
논문(Redundant Binary 수체계를 이용한 Radix-8 Booth 승산기 설계(광운대학교, 신기술연구소논문집, 2000.09.) ,2000.09) *
논문(갈로아 필드상에서 효율적인 디지트-시리얼 시스톨릭 곱셈기 설계 및 분석(제11회 정보보호와 암호에 관한 논문대회),2000.12.21) *
논문(부스 알고리즘을 이용한 16?16 곱셈기의 FPGA구현 (광주대학교 산학협동 연구지 1998.02) *

Also Published As

Publication number Publication date
KR20030071317A (ko) 2003-09-03

Similar Documents

Publication Publication Date Title
US6151393A (en) Device and method for modular multiplication
Erdem et al. A general digit-serial architecture for montgomery modular multiplication
US20060008080A1 (en) Modular-multiplication computing unit and information processing unit
Jafri et al. Towards an optimized architecture for unified binary huff curves
Oliveira et al. The Montgomery ladder on binary elliptic curves
Koç et al. Fast algorithm for modular reduction
KR100459732B1 (ko) 4-2 컴프레서를 이용한 몽고메리 모듈러 승산기 및 그승산 방법
Abdulrahman et al. New regular radix-8 scheme for elliptic curve scalar multiplication without pre-computation
US20090268900A1 (en) Signed montgomery arithmetic
US6763366B2 (en) Method for calculating arithmetic inverse over finite fields for use in cryptography
JP3726966B2 (ja) 乗算器及び暗号回路
Özcan et al. A fast digit based Montgomery multiplier designed for FPGAs with DSP resources
KR100431029B1 (ko) 부쓰 알고리즘을 이용한 스칼라 곱셈기
CN113467752B (zh) 用于隐私计算的除法运算装置、数据处理系统及方法
KR100670780B1 (ko) 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법
US7266577B2 (en) Modular multiplication apparatus, modular multiplication method, and modular exponentiation apparatus
Wu An efficient common-multiplicand-multiplication method to the Montgomery algorithm for speeding up exponentiation
Sanu et al. Parallel montgomery multipliers
Vollala et al. Dual-core implementation of right-to-left modular exponentiation
Kalaiarasi et al. A parallel elliptic curve crypto-processor architecture with reduced clock cycle for FPGA platforms
Kobayashi et al. Fast inversion algorithm in GF (2m) suitable for implementation with a polynomial multiply instruction on GF (2)
JP2007526513A (ja) 要素の累乗またはスカラー乗算の方法
Omondi et al. Elliptic-Curve Basics
Vuillaume et al. Short-memory scalar multiplication for Koblitz curves
Wu et al. Modular arithmetic analyses for RSA cryptosystem

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070327

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee