• 제목/요약/키워드: 연산 지도

검색결과 4,012건 처리시간 0.027초

Radix-$2^k$ 모듈라 곱셈 알고리즘 기반의 RSA 지수승 연산기 설계 (Implementation of RSA Exponentiator Based on Radix-$2^k$ Modular Multiplication Algorithm)

  • 권택원;최준림
    • 정보보호학회논문지
    • /
    • 제12권2호
    • /
    • pp.35-44
    • /
    • 2002
  • 본 논문에서는 Radix-$2^k$ 모듈라 곱셈 알고리즘 기반의 고속 RSA 지수승 연산기의 구현 방법을 제시하고 검증하였다. Radix-$2^k$ 모듈라 곱셈 알고리즘을 구현하기 위해 Booth receding 연산 알고리즘을 사용하였으며 최대 radix-16 연산을 위해 2K-byte 메모리와 2개의 전가산기와 3개의 반가산기의 지연을 갖는 CSA(carry-save adder) 어레이를 사용하였다. CSA 어레이 출력인 캐리와 합을 고속으로 가산하기 위해 마지막 덧셈기로써 캐리 발생과 지연시간이 짧은 가상 캐리 예측 덧셈기(pseudo carry look-ahead adder)를 적용하였다. 또한, 주어진 공정에서 동작 주파수와 처리량의 관계를 통해 Radix-$2^k$에서 설계 가능한 radix 값을 제시하였다. Altera FPGA EP2K1500E를 사용하여 기능을 검증한 후 삼성 0.35$\mu\textrm{m}$ 공정을 사용하여 타이밍 시뮬레이션을 하였으며 radix-16 모듈라 곱셈 알고리즘을 사용할 경우 모듈라 곱셈에 (n+4+1)14 의 클럭을 사용하여 1,024-bit RSA를 처리하는데 50MHz에서 5.38ms의 연산 속도를 측정하였다.

GF($2^n$)에서의 직렬-병렬 곱셈기 구조 (Design of Serial-Parallel Multiplier for GF($2^n$))

  • 정석원;윤중철;이선옥
    • 정보보호학회논문지
    • /
    • 제13권3호
    • /
    • pp.27-34
    • /
    • 2003
  • 요즘 암호시스템을 효율적으로 수행하는 하드웨어의 개발이 관심의 대상이 되고 있다. 암호시스템의 효율적인 수행은 연산기의 효율적인 연산이 뒷받침되어야 한다. 특히 유한체 GF(2$^n$)에서의 곱셈기는 여러 연산 중에서 효율성이 고려되어야 할 핵심적인 연산이다. 이 논문에서는 유한체에서의 곱셈기를 시간 복잡도(time complexity)와 하드웨어복잡도(size complexity) 사이의 교환(trade-off)을 고려하여 기존 곱셈기$^{[5][12]}$의 하드웨어 복잡도인 #AND(AND gate 수)= $n^2$, #XOR(XOR gate 수) = $n^2$-1 보다 개선된 #AND = [n/2], #XOR = n([n/2+1])-$\delta$$_{n}$ (n이 짝수이면$\delta$$_{n}$ =1, n이 홀수이면 $\delta$n=0)이고 두 클럭 내에 결과를 얻을 수 있는 직렬-병렬 곱셈기를 제안한다. 우리는 기존의 논문에서 제안된 곱셈기와 구조를 달리하여 공간의 제약이 있는 하드웨어에 적합한 효율적인 연산기의 구현방안을 제시한다.

RC4 스트림 암호 알고리즘을 위한 고속 연산 구조의 FPGA 구현 및 성능 분석 (FPGA Implementation and Performance Analysis of High Speed Architecture for RC4 Stream Cipher Algorithm)

  • 최병윤;이종형;조현숙
    • 정보보호학회논문지
    • /
    • 제14권4호
    • /
    • pp.123-134
    • /
    • 2004
  • 본 논문에서는 RC4 스트림 암호 알고리즘을 구현하는 고속 연산 구조를 제안하고, FPGA 구현 결과를 제시하였다. 기존 방식이 긴 초기화 동작이 필요하거나, S-배열 초기화 대기 시간을 제거하기 위해 S-배열을 2개 혹은 3개를 사용하는 구조를 갖는데 비해, 제안한 RC4 스트림 암호 연산 구조는 256-비트 valid-비트 엔트리 방식을 사용하여, S-배열 초기화 동작을 제거하였다. 그리고 RC4 알고리즘을 다양한 응용 분야에 사용될 수 있도록 효율적인 모듈라 연산 하드웨어를 사용하여 40 비트와 128 비트 키를 지원하도록 하였다. 제안한 RC4 스트림 암호 연산 구조를 Xilinx XCV1000E-6H240C FPGA로 구현하였다. 설계된 RC4 프로세서는 40MHz에서 106Mbps의 암호 비트 생성율의 성능을 갖고 있으며 WEP 프로세서와 RC4 키 검색 엔진에 적용 가능하다.

sABS 형태의 스칼라 곱셈 연산에 대한 새로운 단순전력 공격 (New Simple Power Analysis on scalar multiplication based on sABS recoding)

  • 김희석;김성경;김태현;박영호;임종인;한동국
    • 정보보호학회논문지
    • /
    • 제17권2호
    • /
    • pp.115-123
    • /
    • 2007
  • 스마트카드와 같이 계산 능력이나 메모리가 제한된 장치에 암호 시스템을 구현할 때, 장치 내에 내장되어 있는 부채널 공격을 고려한 암호학적인 알고리즘은 적은 메모리를 이용하여 효율적으로 수행되어야 한다. 스칼라 곱셈 연산은 타원곡선 암호시스템에서 중요하게 다뤄지는 연산이기 때문에 부채널 공격에 안전하게 구성되어야만 한다. 하지만 부채널 공격에 안전하다고 제시된 여러 대응방법조차도 때로는 고려되지 않은 분석법에 의해 그 취약점이 드러나곤 한다. SPA에 취약하지 않다고 알려진 더미 연산을 추가한 스칼라 곱셈 연산 알고리즘은 Doubling Attack에 의해 그 취약점이 드러났다. 그러나 스칼라 곱셈의 부채널 공격 대응 방법 중 하나인 Hedabou에 의해 제안된 sABS 방법은 Doubling attack이 적용되지 않는다. 본 논문에서는 기존의 Doubling attack을 활용하여 sABS 방법을 분석할 수 있는 새로운 강화된 Doubling attack을 제안하고, 실험적인 결과를 통해 자세한 공격 방법을 소개한다.

공개키 암호 구현을 위한 경량 하드웨어 가속기 (A Lightweight Hardware Accelerator for Public-Key Cryptography)

  • 성병윤;신경욱
    • 한국정보통신학회논문지
    • /
    • 제23권12호
    • /
    • pp.1609-1617
    • /
    • 2019
  • ECC (Elliptic Curve Cryptography)와 RSA를 기반으로 하는 다양한 공개키 암호 프로토콜 구현을 지원하는 하드웨어 가속기 설계에 관해 기술한다. NIST 표준으로 정의된 소수체 상의 5가지 타원곡선과 3가지 키길이의 RSA를 지원하며 또한, 4가지 타원곡선 점 연산과 6가지 모듈러 연산을 지원하도록 설계되어 ECC와 RSA 기반 다양한 공개키 암호 프로토콜의 하드웨어 구현에 응용될 수 있다. 저면적 구현을 위해 내부 유한체 연산회로는 32 비트의 데이터 패스로 설계되었으며, 워드 기반 몽고메리 곱셈 알고리듬, 타원곡선 점 연산을 위해서는 자코비안 좌표계, 그리고 모듈러 곱의 역원 연산을 위해서는 페르마 소정리를 적용하였다. 설계된 하드웨어 가속기를 FPGA 디바이스에 구현하여 EC-DH 키교환 프로토콜과 RSA 암호·복호 둥작을 구현하여 하드웨어 동작을 검증하였다. 180-nm CMOS 표준 셀 라이브러리로 합성한 결과, 50 MHz 클록 주파수에서 20,800 등가게이트와 28 kbit의 RAM으로 구현되었으며, Virtex-5 FPGA 디바이스에서 1,503 슬라이스와 2개의 BRAM으로 구현되었다.

GPU 기반 임베디드 시스템에서 대용량 데이터의 안정적 수신을 위한 ECC 연산의 가속화 (Acceleration of ECC Computation for Robust Massive Data Reception under GPU-based Embedded Systems)

  • 권지수;박대진
    • 한국정보통신학회논문지
    • /
    • 제24권7호
    • /
    • pp.956-962
    • /
    • 2020
  • 최근 임베디드 시스템에서 사용되는 데이터의 크기가 증가함에 따라, 대용량의 데이터를 안전하게 수신하기 위한 ECC (Error Correction Code) 복호화 연산의 필요성이 강조되고 있다. 본 논문에서는 GPU가 내장된 임베디드 시스템에서 해밍 코드를 사용하여 ECC 복호화를 할 때, 신드롬 벡터를 계산하는 연산의 수행을 가속할 방법을 제안한다. 제안하는 가속화 방법은, 복호화 연산의 행렬-벡터 곱셈이 희소 행렬을 나타내는 자료 구조 중 하나인 CSR (Compressed Sparse Row) 형식을 사용하고, GPU의 CUDA 커널에서 병렬적으로 수행되도록 한다. 본 논문에서는 GPU가 내장된 실제 임베디드 보드를 사용하여 제안하는 방법을 검증하였고, 결과는 GPU 기반으로 가속된 ECC 복호화 연산이 CPU만을 사용한 경우에 비하여 수행 시간이 감소하는 것을 보여준다.

타원곡선 기반 공개키 암호 시스템 구현을 위한 Scalable ECC 프로세서 (A Scalable ECC Processor for Elliptic Curve based Public-Key Cryptosystem)

  • 최준백;신경욱
    • 한국정보통신학회논문지
    • /
    • 제25권8호
    • /
    • pp.1095-1102
    • /
    • 2021
  • 성능과 하드웨어 복잡도 사이에 높은 확장성과 유연성을 갖는 확장 가능형 ECC 구조를 제안한다. 구조적 확장성을 위해 유한체 연산을 32 비트 워드 단위로 병렬 처리하는 처리요소의 1차원 배열을 기반으로 모듈러 연산회로를 구현하였으며, 사용되는 처리요소의 개수를 1~8개 범위에서 결정하여 회로를 합성할 수 있도록 설계되었다. 이를 위해 워드 기반 몽고메리 곱셈과 몽고메리 역원 연산의 확장 가능형 알고리듬을 적용하였다. 180-nm CMOS 공정으로 확장 가능형 ECC 프로세서 (sECCP)를 구현한 결과, NPE=1인 경우에 100 kGE와 8.8 kbit의 RAM으로 구현되었고, NPE=8인 경우에는 203 kGE와 12.8 kbit의 RAM으로 구현되었다. sECCP가 100 MHz 클록으로 동작하는 경우, NPE=1인 경우와 NPE=8인 경우의 P256R 타원곡선 상의 점 스칼라 곱셈을 각각 초당 110회, 610회 연산할 수 있는 것으로 분석되었다.

FPGA 기반 성능 개선을 위한 CIE1931 색역 변환 알고리즘의 최적화된 하드웨어 구현 (Optimized hardware implementation of CIE1931 color gamut control algorithms for FPGA-based performance improvement)

  • 김대운;강봉순
    • 한국정보통신학회논문지
    • /
    • 제25권6호
    • /
    • pp.813-818
    • /
    • 2021
  • 본 논문에서는 기존 CIE1931 색역 변환 알고리즘의 최적화된 하드웨어 구현 방법을 제안한다. 안개제거 알고리즘의 후처리 방법 중 비교적 연산량이 적은 기존 알고리즘은 연산 과정에서 Split multiplier를 사용한 큰 비트의 계산으로 하드웨어 자원 소모량이 크다는 단점이 있다. 제안하는 알고리즘은 기존 알고리즘의 미리 정의된 2번의 행렬 곱셈 연산을 하나로 줄임으로써 연산량 감소, 하드웨어 소형화를 실현하였고, Split multiplier 연산을 최적화시킴으로써 탑재하기에 더욱 효율적인 하드웨어를 구현하였다. 하드웨어는 Verilog HDL 언어로 설계하였고, Xilinx Vivado 프로그램을 이용한 논리합성 결과를 비교하여 4K 표준 환경에서 실시간 처리가 가능한 성능을 확인하였다. 또한, 2가지 FPGA에서의 탑재 결과를 통해 제안하는 하드웨어의 성능을 검증하였다.

다중 워크로드 환경을 위한 GPGPU 스레드 블록 스케줄링 (Thread Block Scheduling for Multi-Workload Environments in GPGPU)

  • 박소연;조경운;반효경
    • 한국인터넷방송통신학회논문지
    • /
    • 제22권2호
    • /
    • pp.71-76
    • /
    • 2022
  • 대규모 병렬 워크로드를 GPGPU의 연산 유닛에 할당하기 위한 스케줄링으로 라운드 로빈 방식이 널리 사용되고 있다. 라운드 로빈은 작업을 각 연산 유닛에 순차적으로 할당하여 구현이 쉽다는 장점이 있으나, 클라우드와 같은 다중 워크로드 환경에서는 연산 유닛 간 부하 균형이 잘 이루어지지 않는 문제점이 발생한다. 본 논문에서는 이러한 문제를 해결하기 위해 새로운 스레드 블록 스케줄링을 제안한다. 제안하는 방식은 다양한 GPGPU 워크로드가 만들어낸 스레드 블록들을 그 작업량에 근거해 다중큐로 관리하고 각 연산 유닛의 잔여 자원을 가장 잘 활용할 수 있는 큐에서 스레드 블록을 선택하여 연산 유닛들의 자원 이용률을 극대화시키고 부하균형을 유도한다. 다양한 부하 환경에서의 시뮬레이션 실험을 통해 제안하는 방식이 라운드 로빈 대비 평균 24.8%의 성능개선 효과가 있음을 보인다.

딥러닝 합성곱에서 데이터 재사용에 최적화된 GPGPU 설계 (Design of an Optimized GPGPU for Data Reuse in DeepLearning Convolution)

  • 남기훈;이광엽;정준모
    • 전기전자학회논문지
    • /
    • 제25권4호
    • /
    • pp.664-671
    • /
    • 2021
  • 본 논문은 합성곱 신경망에 데이터 재사용 방법을 효과적으로 적용하여 연산 횟수와 메모리 접근 횟수를 줄일 수 있는 GPGPU구조를 제안한다. 합성곱은 kernel과 입력 데이터를 이용한 2차원 연산으로 kernel이 slide하는 방법으로 연산이 이루어 진다. 이때, 합성곱 연산이 완료될 때 까지 kernel을 캐시메모리로 부터 전달 받는 것이 아니고 내부 레지스터를 이용하는 재사용 방법을 제안한다. SIMT방법으로 명령어가 실행되는 GPGPU의 원리 이용하여 데이터 재사용의 효과를 높이기 위해 합성곱에 직렬 연산 방식을 적용하였다. 본 논문에서는 레지스터기반 데이터 재사용을 위하여 kernel을 4×4로 고정하고 이를 효과적으로 지원하기 위한 warp 크기와 레지스터 뱅크를 갖는 GPGPU를 설계하였다. 설계된 GPGPU의 합성곱 신경망에 대한 성능을 검증하기 위해 FPGA로 구현한 뒤 LeNet을 실행시키고 TensorFlow를 이용한 비교 방법으로 AlexNet에 대한 성능을 측정하였다. 측정결과 AlexNet기준 1회 학습 속도는 0.468초이며 추론 속도는 0.135초이다.