• 제목/요약/키워드: Montgomery multiplication

검색결과 78건 처리시간 0.021초

타원곡선 기반 공개키 암호 시스템 구현을 위한 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회 연산할 수 있는 것으로 분석되었다.

GF(p)와 GF(2m) 상의 다중 타원곡선을 지원하는 면적 효율적인 ECC 프로세서 설계 (An Area-efficient Design of ECC Processor Supporting Multiple Elliptic Curves over GF(p) and GF(2m))

  • 이상현;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2019년도 춘계학술대회
    • /
    • pp.254-256
    • /
    • 2019
  • 소수체 GF(p)와 이진체 $GF(2^m)$ 상의 다중 타원곡선을 지원하는 듀얼 필드 ECC (DF-ECC) 프로세서를 설계하였다. DF-ECC 프로세서의 저면적 설와 다양한 타원곡선의 지원이 가능하도록 워드 기반 몽고메리 곱셈 알고리듬을 적용한 유한체 곱셈기를 저면적으로 설계하였으며, 페르마의 소정리(Fermat's little theorem)를 유한체 곱셈기에 적용하여 유한체 나눗셈을 구현하였다. 설계된 DF-ECC 프로세서는 스칼라 곱셈과 점 연산, 그리고 모듈러 연산 기능을 가져 다양한 공개키 암호 프로토콜에 응용이 가능하며, 유한체 및 모듈러 연산에 적용되는 파라미터를 내부 연산으로 생성하여 다양한 표준의 타원곡선을 지원하도록 하였다. 설계된 DF-ECC는 FPGA 구현을 하드웨어 동작을 검증하였으며, 0.18-um CMOS 셀 라이브러리로 합성한 결과 22,262 GEs (gate equivalences)와 11 kbit RAM으로 구현되었으며, 최대 100 MHz의 동작 주파수를 갖는다. 설계된 DF-ECC 프로세서의 연산성능은 B-163 Koblitz 타원곡선의 경우 스칼라 곱셈 연산에 885,044 클록 사이클이 소요되며, B-571 슈도랜덤 타원곡선의 스칼라 곱셈에는 25,040,625 사이클이 소요된다.

  • PDF

CRT를 이용한 하이래딕스 RSA 모듈로 멱승 처리기의 구현 (Implementation of High-radix Modular Exponentiator for RSA using CRT)

  • 이석용;김성두;정용진
    • 정보보호학회논문지
    • /
    • 제10권4호
    • /
    • pp.81-93
    • /
    • 2000
  • 본 논문에서는 RSA 암호 시스템의 핵심 연산인 모듈로 멱승의 처리속도를 향상시키기 위한 방법으로 하이래딕스 (High-Radix) 연산 방식과 CRT(Chinese Remainder Theorem)를 적용한 새로운 하드웨어 구조를 제안한다. 모듈로 멱승의 기본 연산인 모듈로 곱셈은 16진 연산 방법을 사용하여 PE(Processing Element)의 개수를 1/4고 줄임으로써, 기존의 이 진 연산 방식에 비해 클럭 수차 파이프라이닝 플립플롭의 지연시간을 1/4로 줄였다. 복호화시에는 합성수인 계수 N 의 인수, p, q를 알고 있는 점을 이용하여 속도를 향상시키는 일반적인 방법인 CRT 알고리즘을 적용하였다. 즉, s비트 의 키에 대해, s/2비트 모듈로 곱셈기 두 개를 병렬로 동시 수행함으로써 처리 속도를 CRT를 사용하지 않을 때보다 4 배정도 향상시켰다. 암호화의 경우는 두 개의 s/2비트 모듈로 곱셈기를 직렬로 연결하여 s/비트에 대한 연산이 가능하도록 하였으며 공개키는 E는 17비트까지의 지수를 허용하여 빠른 속도를 유지하였다. 모듈로 곱셈은 몽고메리 알고리즘을 변형하여 사용하였으며, 그 내부 계산 구조를 보여주는 데이터 종속 그래프(Dependence Graph)를 수평으로 매핑하여 1차원 선형 어레이 구조로 구성하였다. 그 결과 삼성 0.5um CMOS 스탠다드 셀 라이브러리를 근거로 산출한 때, 1024 비트 RSA 연산에 대해서 160Mhz의 클럭 주파수로 암호화 시에 15Mbps, 복호화 시에 1.22Mbs의 성능을 가질 것으로 예측되며, 이러한 성능은 지금가지 발표된 국내의의 어느 논문보다도 빠른 RSA 처리 시간이다.

타원곡선 암호 시스템의 고속 구현을 위한 VLSI 구조 (VLSI Architecture for High Speed Implementation of Elliptic Curve Cryptographic Systems)

  • 김창훈
    • 정보처리학회논문지C
    • /
    • 제15C권2호
    • /
    • pp.133-140
    • /
    • 2008
  • 본 논문에서는 $GF(2^{163})$타원곡선 암호 프로세서를 제안한다. 제안한 암호 프로세서는 타원곡선 정수 곱셈을 위해 수정된 Loez-Dahab Montgomery 알고리즘을 채택하고, $GF(2^{163})$상의 산술 연산을 위해 가우시안 정규 기저(Gaussian Normal Basis: GNB)를 이용한다. 높은 처리율을 위해 Lopez-Dahab 방식에 기반한 규칙적인 주소화 방식의 병렬 타원곡선 좌표 덧셈 및 배 연산 알고리즘을 유도하고 $GF(2^{163})$상의 연산을 수행하는 두 개의 워드-레벨 산술 연산기(Arithmetic Unit: AU)를 설계한다. 제안된 타원곡선 암호 프로세서는 Xilinx사의 XC4VLX80 FPGA 디바이스에 구현되었으며, 24,263개의 슬라이스를 사용하고 최대 동작주파수는 143MHz이다. 제안된 구조를 Shu 등의 하드웨어 구현과 비교했을 때 하드웨어 복잡도는 약 2배 증가 하였지만 4.8배의 속도 향상을 보인다. 따라서 제안된 타원곡선 암호 프로세서는 네트워크 프로세서와 웹 서버등과 같은 높은 처리율을 요구하는 타원곡선 암호시스템에 적합하다.

래딕스-4 몽고메리 곱셈기 기반의 고속 RSA 연산기 설계 (Design of high-speed RSA processor based on radix-4 Montgomery multiplier)

  • 구본석;유권호;장태주;이상진
    • 정보보호학회논문지
    • /
    • 제17권6호
    • /
    • pp.29-39
    • /
    • 2007
  • 본 논문에서는 래딕스-4 몽고메리 곱셈기 기반의 고속 RSA 연산기를 제안하고 그 구현 결과를 제시한다. 캐리저장 가산기 기반의 래딕스-4 몽고메리 곱셈기를 제안하고, 중국인의 나머지 정리를 적용할 수 있도록 그 구조를 확장하였다. 이를 바탕으로 설계한 1024-비트 RSA 연산기는 1024-비트 모듈러 지수승을 0.84M 클락 사이클, 512-비트 지수승은 0.25M 클락 사이클 동안 각각 계산할 수 있으며, 0.18um 공정을 이용하여 구현한 결과, 최대 300MHz 클락 속도를 가지므로 1024-비트 지수승은 365Kbps, 512-비트 지수승은 1,233Kbps의 성능을 각각 가진다. 또한 고속 RSA 암호 시스템의 구현을 위해, 몽고메리 매핑 계수 계산 및 중국인 나머지 정리의 전처리 과정에 적용할 수 있도록 모듈러 감산 기능을 하드웨어로 구현하였다.

공개키 암호 구현을 위한 경량 하드웨어 가속기 (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으로 구현되었다.

가변길이 고속 RSA 암호시스템의 설계 및 하드웨어 구현 (Design and Hardware Implementation of High-Speed Variable-Length RSA Cryptosystem)

  • 박진영;서영호;김동욱
    • 한국통신학회논문지
    • /
    • 제27권9C호
    • /
    • pp.861-870
    • /
    • 2002
  • 본 논문에서는 RSA 암호 알고리즘의 연산속도 문제에 초점을 맞추어 동작속도를 향상시키고 가변길이 암호화가 가능하도록 하는 새로운 구조의 1024-비트 RSA 암호시스템을 제안하고 이를 하드웨어로 구현하였다. 제안한 암호시스템은 크게 모듈러 지수승 연산 부분과 모듈러 곱셈 연산 부분으로 구성되었다. 모듈러 지수승 연산은 제곱 연산과 단순 곱셈 연산을 병렬적으로 처리할 수 있는 RL-이진 방법을 개선하여 적용하였다. 그리고 모듈러 곱셈 연산은 가변길이 연산과 부분 곱의 수를 감소하기 위해서 Montgomery 알고리즘에 4 단계 CSA 구조와 기수-4Booth 알고리즘을 적용하였다. 제안한 RSA 암호시스템은 하이닉스 0.35$\mu\textrm{m}$ Phantom Cell Library를 사용하여 하드웨어로 구현하였고 최대 1024-비트까지 가변길이 연산이 가능하였다. 또한 소프트웨어로 RSA 암호시스템을 구현하여 하드웨어 시스템의 검증에 사용하였다. 구현된 하드웨어 RSA 암호시스템은 약 190K의 게이트 수를 나타내었으며, 동작 클록 주기는 150MHz이었다. 모듈러스 수의 가변길이를 고려했을 때, 데이터 출력률은 기존 방법의 약 1.5배에 해당한다. 따라서 본 논문에서 제안한 가변길이 고속 RSA 암호시스템은 고속 처리를 요구하는 각종 정보보호 시스템에서의 사용 가능성을 보여주었다.

나눗셈 체인을 이용한 RSA 모듈로 멱승기의 구현 (Implementation of RSA modular exponentiator using Division Chain)

  • 김성두;정용진
    • 정보보호학회논문지
    • /
    • 제12권2호
    • /
    • pp.21-34
    • /
    • 2002
  • 본 논문에서는 최근 발표된 멱승방법인 나눗셈 체인을 적용한 새로운 모듈로 멱승기의 하드웨어 구조를 제안하였다. 나눗셈 체인은 제수(divisor) d=2 또는 $d=2^I +1$ 과 그에 따른 나머지(remainder) r을 이용하여 지수 I를 새롭게 변형하는 방법으로 전체 멱승 연산이 평균 약 1.4$log_2$E 번의 곱셈으로 가능한 알고리즘이다. 이것은 Binary Method가 하드웨어 구현 시 항상 worst case인 $2log_2$E의 계산량이 필요한 것과 비교할 때 상당한 성능개선을 의미한다. 전체 구조는 파이프라인 동작이 가능한 선형 시스톨릭 어레이 구조로 설계하였으며, DG(Dependence Graph)를 수평으로 매핑하여 k비트의 키 사이즈에 대해 두 개의 k 비트 프레임이 k/2+3 개의 PE(Processing Element)로 구성된 두 개의 곱셈기 모듈을 통해 병렬로 동시에 처리되어 100% 처리율을 이루게 하였다. 또한, 규칙적인 데이터 패스를 가질 수 있도록 나눗셈체인을 새롭게 코딩하는 방법을 제안하였다. ASIC 구현을 위해 삼성 0.5um CMOS 스탠다드 셀 라이브러리를 이용해 합성한 결과 최장 지연 패스는 4.24ns로 200MHz의 클럭이 가능하며, 1024비트 데이터 프레임에 대해 약 140kbps의 처리속도를 나타낸다. 복호화 시에는 CRT(Chinese Remainder Theorem)를 적용하여 처리속도를 560kbps로 향상시켰다. 전자서명의 검증과정으로 사용되기도 하는 암호화 과정을 수행할 때 공개키 E는 3,17 혹은 $2^{16} +1$의 사용이 권장된다는 점을 이용하여 E를 17 비트로 제한할 경우 7.3Mbps의 빠른 처리속도를 가질 수 있다.