• Title/Summary/Keyword: 곱셈 알고리즘

Search Result 329, Processing Time 0.025 seconds

A Fast 64$\times$64-bit Multiplier for Crypto-Processor (암호 프로세서용 고속 64$\times$64 곱셈기)

  • 서정욱;이상흥
    • Proceedings of the Korea Institutes of Information Security and Cryptology Conference
    • /
    • 1998.12a
    • /
    • pp.471-481
    • /
    • 1998
  • 피승수를 승수로 곱하는 곱셈연산은 승수에 대한 많은 부분곱을 더하기 때문에 본질적으로 느린 연산이다. 특히, 큰 수를 사용하는 암호 프로세서에서는 매우 빠른 곱셈기가 요구된다. 현재까지 느린 연산의 개선책으로 radix 4, radix 8, 또는 radix 16의 변형 부스 알고리즘을 사용하여 부분곱의 수를 줄이려는 연구와 더불어 Wallace tree나 병렬 카운터를 사용하여 부분곱의 합을 빠르게 연산하는 방법이 연구되어 왔다. 본 논문에서는 암호 프로세서용 64$\times$64 비트 곱셈기를 구현하는데 있어서, 고속의 곱셈을 위하여 고속의 병렬 카운터를 제안하였으며, radix 4의 변형 부스 알고리즘을 이용하여 부분합을 만들고 부분합의 덧셈은 제안한 카운터를 사용하였다. 64$\times$64 비트 곱셈기를 구현함에 있어서 본 논문에서 제안된 카운터를 이용하는 것이 속도 면에서 Wallace scheme또는 Dadda scheme을 적용하여 구현하는 것 보다 31% 정도, Mehta의 카운터를 적용하여 구현하는 것 보다 21% 정도 개선되었다.

  • PDF

A Design of Efficient Modular Multiplication based on Montgomery Algorithm (효율적인 몽고메리 모듈러 곱셈기의 설계)

  • Park, Hye-Young;Yoo, Kee-Young
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.1003-1006
    • /
    • 2004
  • 본 논문에서는 몽고메리 모듈러 곱셈(Montgomery Modular Multiplication) 알고리즘을 이용하여 효율적인 모듈러 곱셈기를 제안한다. 본 논문에서 제안한 곱셈기는 프로그램 가능한 셀룰라 오토마타(Programmable Cellular Automata, PCA)를 기반의 구조로 설계되어 하드웨어 복잡도를 줄이고, 곱셈시 몽고메리 알고리즘을 이용하여 일반적인 나눗셈 없이 모듈러 연산을 수행하여 시간 복잡도를 최소화 한다. 제안된 곱셈기는 시간적, 공간적인 면에서 간단하고 효과적으로 구성되어 지수연산을 위한 하드웨어의 하부구조나 오류 수정 코드(Error Correcting Code)의 연산에서 효율적으로 이용될 수 있을 것이다.

  • PDF

Parallel Modular Multiplication Algorithm to Improve Time and Space Complexity in Residue Number System (RNS상에서 시간 및 공간 복잡도 향상을 위한 병렬 모듈러 곱셈 알고리즘)

  • 박희주;김현성
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.30 no.9
    • /
    • pp.454-460
    • /
    • 2003
  • In this paper, we present a novel method of parallelization of the modular multiplication algorithm to improve time and space complexity on RNS (Residue Number System). The parallel algorithm executes modular reduction using new table lookup based reduction method. MRS (Mixed Radix number System) is used because algebraic comparison is difficult in RNS which has a non-weighted number representation. Conversion from residue number system to certain MRS is relatively fast in residue computer. Therefore magnitude comparison is easily Performed on MRS. By the analysis of the algorithm, it is known that it requires only 1/2 table size than previous approach. And it requires 0(ι) arithmetic operations using 2ㅣ processors.

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

  • Cho, Gyeong-Yeon
    • Journal of Korea Society of Industrial Information Systems
    • /
    • v.18 no.6
    • /
    • pp.31-37
    • /
    • 2013
  • Modern graphic processors, multimedia processors and audio processors mostly use floating-point number. High-level language such as C and Java use both single precision and double precision floating-point number. In this paper, an algorithm which computes the reciprocal of double precision floating-point number using a 32 bit multiplier is proposed. It divides the mantissa of double precision floating-point number to upper part and lower part, and calculates the reciprocal of the upper part with Newton-Raphson algorithm. And it computes the reciprocal of double precision floating-point number with calculated upper part reciprocal as the initial value. Since the number of multiplications performed by the proposed algorithm is dependent on the mantissa of floating-point number, the average number of multiplications per an operation is derived from some reciprocal tables with varying sizes.

Goldschmidt's Double Precision Floating Point Reciprocal Computation using 32 bit multiplier (32 비트 곱셈기를 사용한 골드스미트 배정도실수 역수 계산기)

  • Cho, Gyeong-Yeon
    • Journal of the Korea Academia-Industrial cooperation Society
    • /
    • v.15 no.5
    • /
    • pp.3093-3099
    • /
    • 2014
  • Modern graphic processors, multimedia processors and audio processors mostly use floating-point number. Meanwhile, high-level language such as C and Java uses both single-precision and double precision floating-point number. In this paper, an algorithm which computes the reciprocal of double precision floating-point number using a 32 bit multiplier is proposed. It divides the mantissa of double precision floating-point number to upper part and lower part, and calculates the reciprocal of the upper part with Goldschmidt's algorithm, and computes the reciprocal of double precision floating-point number with calculated upper part reciprocal as the initial value is proposed. Since the number of multiplications performed by the proposed algorithm is dependent on the mantissa of floating-point number, the average number of multiplications per an operation is derived from some reciprocal tables with varying sizes.

Probability distribution-based approximation matrix multiplication simplification algorithm (확률분포 생성을 통한 근사 행렬 곱셈 간소화 방법)

  • Kwon, Oh-Young;Seo, Kyoung-Taek
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.26 no.11
    • /
    • pp.1623-1629
    • /
    • 2022
  • Matrix multiplication is a fundamental operation widely used in science and engineering. There is an approximate matrix multiplication method as a way to reduce the amount of computation of matrix multiplication. Approximate matrix multiplication determines an appropriate probability distribution for selecting columns and rows of matrices, and performs approximate matrix multiplication by selecting columns and rows of matrices according to this distribution. Probability distributions are generated by considering both matrices A and B participating in matrix multiplication. In this paper, we propose a method to generate a probability distribution that selects columns and rows of matrices to be used for approximate matrix multiplication, targeting only matrix A. Approximate matrix multiplication was performed on 1000×1000 ~ 5000×5000 matrices using existing and proposed methods. The approximate matrix multiplication applying the proposed method compared to the conventional method has been shown to be closer to the original matrix multiplication result, averaging 0.02% to 2.34%.

A fast inversion algorithm in $GF((2^n)^m)$ using normal basis (정규 기저를 이용한 $GF((2^n)^m)$에서의 효율적인 역원 알고리즘)

  • 장구영;김호원;강주성
    • Proceedings of the Korea Institutes of Information Security and Cryptology Conference
    • /
    • 2003.12a
    • /
    • pp.174-178
    • /
    • 2003
  • 본 논문은 기존의 정규 기저를 이용한 역원 알고리즘인 IT 알고리즘과 TYT 알고리즘을 개선한 GF(q$^{m}$ )*(q = 2$^n$)에서의 효율적인 역원 알고리즘을 제안한다. 제안된 알고리즘은 작은 n에 대해 GF(q)*의 원소에 대한 역원을 선행 계산으로 저장하고, m-1을 몇 개의 인수와 나머지로 분해함으로써 역원 알고리즘에 필요한 곱셈의 수를 줄일 수 있는 방법이다. 즉, 작은 양의 데이터에 대한 메모리 저장 공간을 이용하여, GF(q$^{m}$ )*에서의 역원을 계산하는 데 필요한 곱셈의 수를 줄일 수 있음을 보여준다.

  • PDF

Efficient Semi-systolic AB2 Multiplier over Finite Fields

  • Kim, Keewon
    • Journal of the Korea Society of Computer and Information
    • /
    • v.25 no.1
    • /
    • pp.37-43
    • /
    • 2020
  • In this paper, we propose an efficient AB2 multiplication algorithm using SPB(shifted polynomial basis) over finite fields. Using the feature of the SPB, we split the equation for AB2 multiplication into two parts. The two partitioned equations are executable at the same time, and we derive an algorithm that processes them in parallel. Then we propose an efficient semi-systolic AB2 multiplier based on the proposed algorithm. The proposed multiplier has less area-time (AT) complexity than related multipliers. In detail, the proposed AB2 multiplier saves about 94%, 87%, 86% and 83% of the AT complexity of the multipliers of Wei, Wang-Guo, Kim-Lee, Choi-Lee, respectively. Therefore, the proposed multiplier is suitable for VLSI implementation and can be easily adopted as the basic building block for various applications.

Secure Scalar Multiplication with Simultaneous Inversion Algorithm in Hyperelliptic Curve Cryptosystem (초 타원 곡선 암호시스템에서 동시 역원 알고리즘을 가진 안전한 스칼라 곱셈)

  • Park, Taek-Jin
    • The Journal of Korea Institute of Information, Electronics, and Communication Technology
    • /
    • v.4 no.4
    • /
    • pp.318-326
    • /
    • 2011
  • Public key cryptosystem applications are very difficult in Ubiquitos environments due to computational complexity, memory and power constrains. HECC offers the same of levels of security with much shorter bit-lengths than RSA or ECC. Scalar multiplication is the core operation in HECC. T.Lange proposed inverse free scalar multiplication on genus 2 HECC. However, further coordinate must be access to SCA and need more storage space. This paper developed secure scalar multiplication algorithm with simultaneous inversion algorithm in HECC. To improve the over all performance and security, the proposed algorithm adopt the comparable technique of the simultaneous inversion algorithm. The proposed algorithm is resistant to DPA and SPA.

An Improved Newton-Raphson's Reciprocal and Inverse Square Root Algorithm (개선된 뉴톤-랍손 역수 및 역제곱근 알고리즘)

  • Cho, Gyeong-Yeon
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.11 no.1
    • /
    • pp.46-55
    • /
    • 2007
  • The Newton-Raphson's algorithm for finding a floating point reciprocal and inverse square root calculates the result by performing a fixed number of multiplications. In this paper, an improved Newton-Raphson's algorithm is proposed, that performs multiplications a variable number. Since the number of multiplications performed by the proposed algorithm is dependent on the input values, the average number of multiplications per an operation is derived from many reciprocal and inverse square tables with varying sizes. The superiority of this algorithm is proved by comparing this average number with the fixed number of multiplications of the conventional algorithm. Since the proposed algorithm only performs the multiplications until the error gets smaller than a given value, it can be used to improve the performance of a reciprocal and inverse square root unit. Also, it can be used to construct optimized approximate tables. The results of this paper can be applied to many areas that utilize floating point numbers, such as digital signal processing, computer graphics, multimedia, scientific computing, etc.