• 제목/요약/키워드: 가변 비트 곱셈기

검색결과 11건 처리시간 0.022초

32 비트 곱셈기를 사용한 뉴톤-랍손 배정도실수 역수 계산기 (Newton-Raphson's Double Precision Reciprocal Using 32 bit multiplier)

  • 조경연
    • 한국산업정보학회논문지
    • /
    • 제18권6호
    • /
    • pp.31-37
    • /
    • 2013
  • 최근 그래픽 프로세서, 멀티미디어 프로세서, 음성처리 프로세서 등에서 부동소수점이 주로 사용된다. C, Java 등 고급언어에서는 단정도실수와 배정도실수를 사용하고 있다. 본 논문에서는 32 비트 곱셈기를 사용하여 배정도실수의 역수를 계산하는 알고리즘을 제안한다. 배정도 실수 가수를 상위 부분과 하위 부분으로 나누고, 상위 부분의 역수를 뉴턴-랍손 알고리즘으로 계산한다. 그리고 이를 초기값으로 하여 배정도실수의 역수를 계산한다. 제안한 알고리즘은 입력값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 역수 테이블에서 평균 곱셈 횟수를 계산한다.

ECC 연산을 위한 가변 연산 구조를 갖는 정규기저 곱셈기와 역원기 (Scalable multiplier and inversion unit on normal basis for ECC operation)

  • 이찬호;이종호
    • 대한전자공학회논문지SD
    • /
    • 제40권12호
    • /
    • pp.80-86
    • /
    • 2003
  • 타원곡선 암호(Elliptic Curve Crypto-graphy : ECC)는 기존의 어떤 공개키 암호 시스템보다 우수한 비트 당 안전도를 제공하고 있어 최근 큰 관심을 끌고 있다. 타원곡선 암호 시스템은 보다 작은 키 길이를 갖고 있어 시스템의 구현에 있어서 작은 메모리 공간과 적은 처리 전력을 필요로 하므로 다른 암호화 방식에 비해 임베디드 어플리케이션에 적용하는데 유리하다 본 논문에서는 제곱 연산이 용이한 정규기저로 표현된 유한체에서의 곱셈기를 구현하였다. 이 곱셈기는 타원곡선 암호에서 사용되는 GF(2/sup 193/) 상에서 구현하였고, Massey와 Omura가 제시한 병렬 입력-직렬 출력 곱셈기의 구조를 변형하여 출력의 크기와 설계면적을 조절할 수 있다. 또한 제안한 곱셈기를 적용하여 정규기저 역원기를 구현하였다. 곱셈기와 역원기는 HDL을 이용하여 설계하구 0.35㎛ CMOS 셀 라이브러리를 이용하여 구현하였으며 시뮬레이션을 통해 동작과 성능을 검증하였다.

크기 가변 유한체 연산기를 이용한 타원곡선 암호 프로세서 (Elliptic Curve Cryptography Coprocessors Using Variable Length Finite Field Arithmetic Unit)

  • 이동호
    • 대한전자공학회논문지SD
    • /
    • 제42권1호
    • /
    • pp.57-67
    • /
    • 2005
  • 고속 스칼라곱 연산은 타원곡선 암호 응용을 위해서 매우 중요하다. 보안 상황에 따라 유한체의 크기를 변경하려면 타원곡선 암호 보조프로세서가 크기 가변 유한체 연산 장치를 제공하여야 한다. 크기 가변 유한체 연산기의 효율적인 연산 구조를 연구하기 위하여 전형적인 두 종류의 스칼라곱 연산 알고리즘을 FPGA로 구현하였다. Affine 좌표계 알고리즘은 나눗셈 연산기를 필요로 하며, projective 좌표계 알고리즘은 곱셈 연산기만 사용하나 중간 결과 저장을 위한 메모리가 더 많이 소요된다. 크기 가변 나눗셈 연산기는 각 비트마다 궤환 신호선을 추가하여야 하는 문제점이 있다. 본 논문에서는 이로 인한 클록 속도저하를 방지하는 간단한 방법을 제안하였다. Projective 좌표계 구현에서는 곱셈 연산으로 널리 사용되는 디지트 serial 곱셈구조를 사용하였다. 디지트 serial 곱셈기의 크기 가변 구현은 나눗셈의 경우보다 간단하다. 최대 256 비트 크기의 연산이 가능한 크기 가변 유한체 연산기를 이용한 암호 프로세서로 실험한 결과, affine 좌표계 알고리즘으로 스칼라곱 연산을 수행한 시간이 6.0 msec, projective 좌표계 알고리즘의 경우는 1.15 msec로 나타났다. 제안한 타원곡선 암호 프로세서를 구현함으로써, 하드웨어 구현의 경우에도 나눗셈 연산을 사용하지 않는 projective 좌표계 알고리즘이 속도 면에서 우수함을 보였다. 또한, 메모리의 논리회로에 대한 상대적인 면적 효율성이 두 알고리즘의 하드웨어 구현 면적 요구에 큰 영향을 미친다.

새로운 유한체 나눗셈기를 이용한 타원곡선암호(ECC) 스칼라 곱셈기의 설계 (Design of ECC Scalar Multiplier based on a new Finite Field Division Algorithm)

  • 김의석;정용진
    • 한국통신학회논문지
    • /
    • 제29권5C호
    • /
    • pp.726-736
    • /
    • 2004
  • 본 논문에서는 타원곡선 암호 시스템을 위한 스칼라 곱셈기를 유한체 GF(2$^{l63}$)상에서 구현하였다. 스칼라 곱셈기는 stand basis를 기반으로 비트-시리얼 곱셈기와 나눗셈기로 구성되어 있으며 이 가운데 가장 많은 시간을 필요로 하는 나눗셈의 효율적인 연산을 위해 확장 유클리드 알고리즘 기반의 새로운 나눗셈 알고리즘을 제안하였다. 기존의 나눗셈기들이 가변적인 데이터 종속성으로 인해 제어 모듈이 복잡해지며 처리 속도가 느린 것에 비해 새로이 제안하는 나눗셈 알고리즘은 입력신호의 크기에 독접 적인 2-bit의 제어 신호만을 필요로 하기 때문에 기존의 나눗셈기에 비하여 하드웨어 사이즈 및 처리 속도면에서 유리하다. 또한 제안하는 나눗셈기의 연산 모듈은 규칙적인 구조를 가지고 있어 입력 신호의 크기에 따라 확장이 용이하다. 새로운 스칼라 곱셈기는 삼성전자 0.18 um CMOS 공정으로 합성하였을 경우 60,000게이트의 하드웨어 사이즈를 가지며 최대 250MHz까지 동작이 가능하다. 이 때 데이터 처리속도는 148kbps로 163-bit 프레임당 1.1㎳ 걸린다. 이러한 성능은 디지털 서명, 암호화 및 복호화 그리고 키 교환 등에 효율적으로 사용될 수 있을 것으로 여겨진다.다.

복소수 데이터 처리가 가능한 멀티미디어 프로세서용 고성능 연산회로의 하드웨어 설계 (Hardware Design of High Performance Arithmetic Unit with Processing of Complex Data for Multimedia Processor)

  • 최병윤
    • 한국정보통신학회논문지
    • /
    • 제20권1호
    • /
    • pp.123-130
    • /
    • 2016
  • 본 논문에서는 멀티미디어용 알고리즘을 고속으로 처리하기 위한 고성능 연산 회로를 설계하였다. 3단 파이프라인 구조로 동작하는 연산회로는 4개의 16-비트${\times}$16-비트 곱셈기의 효율적인 구성, 캐리 보존 형식 데이터에 대한 새로운 부호 확장 기법과 다수 개의 부분 곱셈 결과의 통합과정에 부호 확장을 제거하는 교정 상수 기법을 사용하여 복소수 데이터와 가변 길이 고정 소수점 데이터에 대한 38개의 연산을 처리할 수 있다. 설계한 프로세서는 45nm CMOS 공정에서 최대 동작 속도는 300 MHz이며 약 37,000 게이트로 구성되며 300 MCOPS의 연산 성능을 갖는다. 연산 프로세서는 높은 연산 속도와 응용 분야에 특화된 다양한 연산 지원으로 멀티미디어 프로세서에 효율적으로 응용 가능하다.

가변길이 다중비트 코딩을 이용한 DCT/IDCT의 설계 (Variable Radix-Two Multibit Coding and Its VLSI Implementation of DCT/IDCT)

  • 김대원;최준림
    • 대한전자공학회논문지SD
    • /
    • 제39권12호
    • /
    • pp.1062-1070
    • /
    • 2002
  • 본 논문은 가변길이 다중비트 코딩 알고리듬을 제안하고 DCT/IDCT(이산여현변환/역이산여현변환)설계에의 적용 과정을 제시한다 가변길이 다중 비트 코딩은 일반적인 Booth's알고리듬과 같이 중첩에 의한 다중비트 코딩을 가변적인 방법을 사용하여 그 중 2의 멱승이 되는 부분 즉 2k의 SD(Signed Digit)을 생성하는 방법이다. 이렇게 발생된 SD는 곱셈에 있어서 2k의 부분적(Partial Product)을 생성하게 되고 이로 인해 필요한 하드웨어는 단순한 덧셈기와 쉬프트 연산에 필요한 플립플롭만 필요하게 되므로 설계과정에 있어서 칩의 면적과 속도 면에서 효율적인 방법이다. 본 논문에서는 이 알고리듬의 정의 및 증명과정과 실제 알고리듬 적용을 위한 DCT/IDCT의 설계방법을 논의하고 제작한 IDCT의 결과에 대해 논의한다. 설계된 IDCT칩은 병렬 고속 처리를 위한 8개의 PE(Processing Element)와 하나의 전치 메모리를 사용한 방법으로 54MHz에서 400Mpixels/sec의 동작속도를 가지며 HDTV 및 MPEG 디코더에 적용하여 동작을 검증하였다.

가변 시간 뉴톤-랍손 부동소수점 역수 계산기 (A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Computation)

  • 김성기;조경연
    • 정보처리학회논문지A
    • /
    • 제12A권2호
    • /
    • pp.95-102
    • /
    • 2005
  • 부동소수점 나눗셈에서 많이 사용하는 뉴톤-랍손 부동소수점 역수 알고리즘은 일정한 횟수의 곱셈을 반복하여 역수를 계산한다. 본 논문에서는 오차가 정해진 값보다 작아질 때까지 곱셈을 반복해서 역수를 계산하는 가변 시간 뉴톤-랍손 부동소수점 역수 알고리즘을 제안한다. 'F'의 역수 계산은 초기값 $'X_0=\frac{1}{F}{\pm}e_0'$에 대하여, $'X_{i+1}=X=X_i*(2-e_r-F*X_i),\;i\in\{0,\;1,\;2,...n-1\}'$을 반복한다. 중간 곱셈 견과는 소수점 이하 p비트 미만을 절삭하며, 절삭 오차는 $'e_r=2^{-p}'$보다 작다. p는 단정도실수에서 27, 배정도실수에서 57이다. $'X_i=\frac{1}{F}+e_i{'}$라 하면 $'X_{i+1}=\frac{1}{F}-e_{i+1},\;e_{i+1}이 된다. $'\mid(2-e_r-F*X_i)-1\mid<2^{\frac{-p+2}{2}}{'}이면, $'e_{i+1}<4e_r{'}$이 부동산소수점으로 표현 가능한 최소값보다 작이지며, $'X_{i+1}\fallingdotseq\frac{1}{F}'$이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 유도하고, 여러 크기의 근사 역수 테이블$(X_0=\frac{1}{F}{\pm}e_0)$에서 단정도실수 및 배정도실수의 역수 계산에 필요한 평균 곱셈 횟수를 계산한다. 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복 연산을 수행하므로 역수 계산기의 성능을 높일 수 있다. 또한 최적의 근사 역수 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

가변 시간 골드스미트 부동소수점 나눗셈기 (A Variable Latency Goldschmidt's Floating Point Number Divider)

  • 김성기;송홍복;조경연
    • 한국정보통신학회논문지
    • /
    • 제9권2호
    • /
    • pp.380-389
    • /
    • 2005
  • 부동소수점 나눗셈에서 많이 사용하는 골드스미트 나눗셈 알고리즘은 일정한 횟수의 곱셈을 반복한다. 본 논문에서는 오차가 정해진 값보다 작아질 때까지 곱셈을 반복하여 나눗셈을 수행하는 가변 시간 골드스미트 부동소수점 나눗셈 알고리즘을 제안한다. 부동소수점 나눗셈 ‘$\frac{N}{F}$'는 'T=$\frac{1}{F}+e_t$'를 분모와 분자에 곱하면 ’$\frac{TN}{TF}=\frac{N_0}{F_0}$'가 된다. ’$R_i=(2-e_r-F_i),\;N_{i+1}=N_i{\ast}R_i,\;F_{i+1}=F_i{\ast}R_i$, i$\in${0,1,...n-1}'를 반복한다. 중간 곱셈 결과는 소수점이하 p 비트 미만을 절삭하며, 절삭 오차는 ‘$e_r=2^{-p}$', 보다 작다. p는 단정도실수에서 29, 배정도실수에서 59이다. ’$F_i=1+e_i$'이라고 하면 ‘$F_{i+1}=1-e_{i+1},\;e_{i+1},\;e_{i+1}'이 된다. '$[F_i-1]<2^{\frac{-p+3}{2}}$'이면, ’$e_{i+1}<16e_r$'이 부동소수점으로 표현 가능한 최소값보다 작아지며, ‘$N_{i+1}\risingdotseq\frac{N}{F}$이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 도출하고, 여러 크기의 근사 역수 테이블($T=\frac{1}{F}+e_t$)에서 단정도실수 및 배정도실수의 나눗셈 계산에 필요한 평균 곱셈 횟수를 계산한다. 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복 연산을 수행하므로 나눗셈기의 성능을 높일 수 있다. 또한 최적의 근사 역수 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스,, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

가변 시간 뉴톤-랍손 부동소수점 역수 제곱근 계산기 (A Variable Latency Newton-Raphson's Floating Point Number Reciprocal Square Root Computation)

  • 김성기;조경연
    • 정보처리학회논문지A
    • /
    • 제12A권5호
    • /
    • pp.413-420
    • /
    • 2005
  • 부동소수점 제곱근 계산에 많이 사용하는 뉴톤-랍손 부동소수점 역수 제곱근 알고리즘은 일정한 횟수의 곱셈을 반복하여 역수 제곱근을 계산한다. 본 논문에서는 뉴톤-랍손 역수 제곱근 알고리즘의 반복 과정의 오차를 예측하여 오차가 정해진 값보다 작아지는 시점까지 반복 연산하는 알고리즘을 제안한다. `F`의 역수 제곱근 계산은 초기값 '$X_0={\frac{1}{\sqrt{F}}}{\pm}e_0$'에 대하여, '$X_{i+1}=\frac{{X_i}(3-e_r-{FX_i}^2)}{2}$, $i\in{0,1,2,{\ldots}n-1}$'을 반복한다. 중간 곱셈 결과는 소수점 이하 p 비트 미만을 절삭하며, 절삭 오차는 '$e_r=2^{-p}$' 보다 작다. p는 단정도실수에서 28, 배정도실수에서 58이다. '$X_i={\frac{1}{\sqrt{F}}}{\pm}e_i$'라고 하면 '$X_{i+1}={\frac{1}{\sqrt{F}}}-e_{i+1}$, $e_{i+1}{<}{\frac{3{\sqrt{F}}{{e_i}^2}}{2}}{\mp}{\frac{{Fe_i}^3}{2}}+2e_r$이 된다. '$|{\frac{\sqrt{3-e_r-{FX_i}^2}}{2}}-1|<2^{\frac{\sqrt{-p}{2}}}$'이면,'$e_{i+1}<8e_r$이 부동소수점으로 표현 가능한 최소값보다 작아지며, '$X_{i+1}\fallingdotseq{\frac{1}{\sqrt{F}}}$'이다. 본 논문에서 제안한 알고리즘은 입력 값에 따라서 곱셈 횟수가 다르므로, 평균 곱셈 횟수를 계산하는 방식을 도출하고, 여러 크기의 근사 역수 제곱근 테이블($X_0={\frac{1}{\sqrt{F}}}{\pm}e_0$)에서 단정도실수 및 배정도실수의 역수 제곱근 계산에 필요한 평균 곱셈 횟수를 계산한다 이들 평균 곱셈 횟수를 종래 알고리즘과 비교하여 본 논문에서 제안한 알고리즘의 우수성을 증명한다. 본 논문에서 제안한 알고리즘은 오차가 일정한 값보다 작아질 때까지만 반복하므로 역수 제곱근 계산기의 성능을 높일 수 있다. 또한 최적의 근사 역수 제곱근 테이블을 구성할 수 있다. 본 논문의 연구 결과는 디지털 신호처리, 컴퓨터 그라픽스, 멀티미디어, 과학 기술 연산 등 부동소수점 계산기가 사용되는 분야에서 폭 넓게 사용될 수 있다.

재구성 가능한 타원 곡선 암호화 프로세서 설계 (Design of Programmable and Configurable Elliptic Curve Cryptosystem Coprocessor)

  • 이지명;이찬호;권우석
    • 대한전자공학회논문지SD
    • /
    • 제42권6호
    • /
    • pp.67-74
    • /
    • 2005
  • 암호화 시스템은 다양한 표준으로 인해 하드웨어 구성에 많은 어려움이 있다. 본 논문에서는 다양한 암호화 규격을 수용할 수 있는 재구성 가능한 타원 곡선 암호화 프로세서 구조를 제안한다. 제안된 프로세서 구조는 32bit 크기의 입출력 포트와 내부 버스를 가지며 유한체 연산 장치(AU), 입력/출력 장치(IOU), 레지스터 파일 그리고 프로그램이 가능한 제어 장치(CU)로 이루어져 있다. 제어 장치의 ROM에 저장되어 있는 마이크로 코드에 의하여 프로세서에서 사용할 키의 길이와 원시 다항식이 결정된다 마이크로 코드는 사용자가 프로세서 내부 ROM에 프로그래밍을 통해 저장할 수 있다. 프로세서 내부의 각 장치는 32 bit 크기의 버스로 연결되어 있어 타원 곡선 암호 규격에 무관하게 동작이 가능하므로 32bit 규격의 입출력 포트만 가지고 있으면 새로운 장치로 교체가 가능한 모듈 구조를 갖고 있다. 따라서 소프트웨어적으로 새로운 마이크로 코드를 프로그래밍하고 하드웨어적으로는 필요한 연산 장치의 교체를 통하여 다양한 타원 곡선 암호 체계에 응용될 수 있다. 본 논문에서는 제안된 프로세서 구조를 이용하여 타원곡선 암호화 프로세서를 구현하였으며 그 결과를 기존의 암호화 프로세서와 비교하였다.