• 제목/요약/키워드: Montgomery 알고리듬

검색결과 21건 처리시간 0.023초

NIST P-224 타원곡선을 지원하는 224-비트 ECC 프로세서 (224-bit ECC Processor supporting the NIST P-224 elliptic curve)

  • 박병관;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2017년도 춘계학술대회
    • /
    • pp.188-190
    • /
    • 2017
  • 투영(projective) 좌표계를 이용한 스칼라 곱셈(scalar multiplication) 연산을 지원하는 224-비트 타원곡선 암호(Elliptic Curve Cryptography; ECC) 프로세서의 설계에 대해 기술한다. 소수체 GF(p)상의 덧셈, 뺄셈, 곱셈 등의 유한체 연산을 지원하며, 연산량과 하드웨어 자원소모가 큰 나눗셈 연산을 제거함으로써 하드웨어 복잡도를 감소시켰다. 수정된 Montgomery ladder 알고리듬을 이용하여 스칼라 곱셈 연산을 제어하였으며, 단순 전력분석에 보다 안전하다. 스칼라 곱셈 연산은 최대 2,615,201 클록 사이클이 소요된다. 설계된 ECC-P224 프로세서는 Xilinx ISim을 이용한 기능검증을 하였다. Xilinx Virtex5 FPGA 디바이스 합성결과 7,078 슬라이스로 구현되었으며, 최대 79 MHz에서 동작하였다.

  • PDF

NIST B-233 타원곡선을 지원하는 233-비트 ECC 프로세서 (233-bit ECC processor supporting NIST B-233 elliptic curve)

  • 박병관;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2016년도 추계학술대회
    • /
    • pp.158-160
    • /
    • 2016
  • 전자서명(ECDSA), 키 교환(ECDH) 등에 사용되는 233-비트 타원곡선 암호(Elliptic Curve Cryptography; ECC) 프로세서의 설계에 대해 기술한다. $GF(2^{333})$ 상의 덧셈, 곱셈, 나눗셈 등의 유한체 연산을 지원하며, 하드웨어 자원 소모가 적은 쉬프트 연산과 XOR 연산만을 이용하여 구현하였다. 스칼라 곱셈은 modified montgomery ladder 알고리듬을 이용하여 구현하였으며, 정수 k의 정보를 노출하지 않고, 단순 전력분석에 보다 안전하다. 스칼라 곱셈 연산은 최대 490,699 클록 사이클이 소요된다. 설계된 ECC 프로세서는 Xilinx ISim을 이용한 시뮬레이션 결과값과 한국인터넷진흥원(KISA)의 참조 구현 값을 비교하여 정상 동작함을 확인하였다. Xilinx Virtex5 XC5VSX95T FPGA 디바이스 합성결과 1,576 슬라이스로 구현되었으며, 189 MHz의 최대 동작주파수를 갖는다.

  • PDF

전력분석공격을 효율적으로 방어하는 타원곡선 비밀키의 랜덤화 (Randomization of Elliptic Curve Secret Key to Efficiently Resist Power Analysis)

  • 장상운;정석원;박영호
    • 정보보호학회논문지
    • /
    • 제13권5호
    • /
    • pp.169-177
    • /
    • 2003
  • 본 논문에서는 DPA와 Goubin의 공격을 동시에 방어하도록 하는 타원곡선 스칼라 곱셈 알고리듬의 일반적인 조건을 제시하며, 제시된 조건을 만족하면 두 공격 모두를 방지할 수 있음을 보인다. 이러한 조건을 만족하는 것으로는 Ha-Moon의 재부호화 방법을 이용한 랜덤 스칼라 곱셈 알고리듬이 있음을 보이고, 또한 Ha-Moon의 재부호 방법을 변형하여 두 공격을 방지하는 새로운 재부호화 알고리듬을 제안한다. 효율성 면에서 제안하는 스칼라 곱셈 방식은 Izu-Takagi의 스칼라 곱셈방법(y-좌표를 계산하지 않고 Montgomery-ladder를 사용)과 비교될 만큼 효율적이다. 제안하는 스칼라 곱셈은 랜덤화된 사영좌표와 기저점 은닉(bsae point blinding) 또는 isogeny 함수를 결합한 방법보다 빠르다. 또한 Izu-Takagi의 경우 은닉 또는 isogeny 함수 방법을 이용하면 상당량의 시스템 파라미터를 EEPROM에 저장해야 하는 단점이 있지만 이것은 제안하는 스칼라 곱셈 방법에는 해당되지 않는다.

CIOS 몽고메리 모듈러 곱셈 알고리즘 기반 Scalable RSA 공개키 암호 프로세서 (Scalable RSA public-key cryptography processor based on CIOS Montgomery modular multiplication Algorithm)

  • 조욱래;신경욱
    • 한국정보통신학회논문지
    • /
    • 제22권1호
    • /
    • pp.100-108
    • /
    • 2018
  • 512/1,024/2,048/3,072 비트의 4가지 키 길이를 지원하는 scalable RSA 공개키 암호 프로세서를 설계하였다. RSA 암호의 핵심 연산블록인 모듈러 곱셈기를 CIOS (Coarsely Integrated Operand Scanning) 몽고메리 모듈러 곱셈 알고리듬을 이용하여 32 비트 데이터 패스로 설계하였으며, 모듈러 지수승 연산은 Left-to-Right (L-R) 이진 멱승 알고리듬을 적용하여 구현하였다. 설계된 RSA 암호 프로세서를 Virtex-5 FPGA로 구현하여 하드웨어 동작을 검증하였으며, 512/1,024/2,048/3,072 비트의 키 길이에 대해 각각 456,051/3,496,347/26,011,947/88,112,770 클록 사이클이 소요된다. $0.18{\mu}m$ CMOS 표준셀 라이브러리를 사용하여 100 MHz 동작 주파수로 합성한 결과, 10,672 GE와 $6{\times}3,072$ 비트의 메모리로 구현되었다. 설계된 RSA 공개키 암호 프로세서는 최대 동작 주파수는 147 MHz로 예측되었으며, 키 길이에 따라 RSA 복호 연산에 3.1/23.8/177/599.4 ms 가 소요되는 것으로 평가되었다.

듀얼 필드 모듈러 곱셈을 지원하는 몽고메리 곱셈기 (Montgomery Multiplier Supporting Dual-Field Modular Multiplication)

  • 김동성;신경욱
    • 한국정보통신학회논문지
    • /
    • 제24권6호
    • /
    • pp.736-743
    • /
    • 2020
  • 모듈러 곱셈은 타원곡선 암호 (elliptic curve cryptography; ECC), RSA 등의 공개키 암호에서 중요하게 사용되는 산술연산 중 하나이며, 모듈러 곱셈기의 성능은 공개키 암호 하드웨어의 성능에 큰 영향을 미치는 핵심 요소가 된다. 본 논문에서는 워드기반 몽고메리 모듈러 곱셈 알고리듬의 효율적인 하드웨어 구현에 대해 기술한다. 본 논문의 모듈러 곱셈기는 SEC2 ECC 표준에 정의된 소수체 GF(p)와 이진체 GF(2k) 상의 11가지 필드 크기를 지원하여 타원곡선 암호 프로세서의 경량 하드웨어 구현에 적합하도록 설계되었다. 제안된 곱셈기 구조는 부분곱 생성 및 가산 연산과 모듈러 축약 연산이 파이프라인 방식으로 처리하며, 곱셈 연산에 소요되는 클록 사이클 수를 약 50% 줄였다. 설계된 모듈러 곱셈기를 FPGA 디바이스에 구현하여 하드웨어 동작을 검증하였으며, 65-nm CMOS 표준셀로 합성한 결과 33,635개의 등가 게이트로 구현되었고, 최대 동작 클록 주파수는 147 MHz로 추정되었다.

타원곡선 기반 공개키 암호 시스템 구현을 위한 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

224-비트 소수체 타원곡선을 지원하는 공개키 암호 프로세서의 저면적 구현 (A small-area implementation of public-key cryptographic processor for 224-bit elliptic curves over prime field)

  • 박병관;신경욱
    • 한국정보통신학회논문지
    • /
    • 제21권6호
    • /
    • pp.1083-1091
    • /
    • 2017
  • NIST 표준에 정의된 소수체(prime field) GF(p) 상의 224-비트 타원곡선을 지원하는 타원곡선 암호 프로세서를 설계하였다. 타원곡선 암호의 핵심 연산인 스칼라 점 곱셈을 수정형 Montgomery ladder 알고리듬을 이용하여 구현하였다. 점 덧셈과 점 두배 연산은 투영(projective) 좌표계를 이용하여 연산량이 많은 나눗셈 연산을 제거하였으며, 소수체 상의 덧셈, 뺄셈, 곱셈, 제곱 연산만으로 구현하였다. 스칼라 점 곱셈의 최종 결과값은 다시 아핀(affine) 좌표계로 변환되어 출력하며, 이때 사용되는 역원 연산은 Fermat's little theorem을 이용하여 구현하였다. 설계된 ECC 프로세서를 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였다. $0.18{\mu}m$공정의 CMOS 셀 라이브러리로 합성한 결과 10 MHz의 동작 주파수에서 2.7-Kbit RAM과 27,739 GE로 구현되었고, 최대 71 MHz의 동작 주파수를 갖는다. 스칼라 점 곱셈에 1,326,985 클록 사이클이 소요되며, 최대 동작 주파수에서 18.7 msec의 시간이 소요된다.

에드워즈 곡선 Edwards25519와 Edwards448을 지원하는 공개키 암호 코어 (A Public-Key Crypto-Core supporting Edwards Curves of Edwards25519 and Edwards448)

  • 양현준;신경욱
    • 전기전자학회논문지
    • /
    • 제25권1호
    • /
    • pp.174-179
    • /
    • 2021
  • 에드워즈 곡선 Edwards25519와 Edwards448 상의 점 스칼라 곱셈(point scalar multiplication; PSM)을 지원하는 EdCC (Edwards curve cryptography) 코어를 설계하였다. 저면적 구현을 위해 워드 기반 몽고메리 곱셈 알고리듬을 기반으로 유한체 곱셈기를 설계하였으며, 나눗셈 연산 없이 점 연산을 구현하기 위해 확장 트위스티드 에드워즈 좌표계를 적용하였다. EdCC 코어를 100 MHz의 클록으로 합성한 결과, 24,073 등가 게이트와 11 kbit의 RAM으로 구현되었으며, 최대 동작 주파수는 285 MHz로 추정되었다. Edwards25519와 Edwards448 곡선 상의 PSM을 각각 초당 299회, 66회 연산하는 것으로 평가되었으며, 유사한 구조의 타원곡선 암호 코어에 비해 256 비트 PSM 연산에 소요되는 클록 사이클 수가 약 60 % 감소하여 연산 성능이 약 7.3 배 향상되었다.

ECC 기반의 공개키 보안 프로토콜을 지원하는 보안 SoC (A Security SoC supporting ECC based Public-Key Security Protocols)

  • 김동성;신경욱
    • 한국정보통신학회논문지
    • /
    • 제24권11호
    • /
    • pp.1470-1476
    • /
    • 2020
  • 모바일 장치와 IoT의 보안 프로토콜 구현에 적합한 경량 보안 SoC 설계에 대해 기술한다. Cortex-M0을 CPU로 사용하는 보안 SoC에는 타원곡선 암호 (elliptic curve cryptography) 코어, SHA3 해시 코어, ARIA-AES 블록 암호 코어 및 무작위 난수 생성기 (TRNG) 코어 등의 하드웨어 크립토 엔진들이 내장되어 있다. 핵심 연산장치인 ECC 코어는 SEC2에 정의된 20개의 소수체와 이진체 타원곡선을 지원하며, 부분곱 생성 및 가산 연산과 모듈러 축약 연산이 서브 파이프라인 방식으로 동작하는 워드 기반 몽고메리 곱셈기를 기반으로 설계되었다. 보안 SoC를 Cyclone-5 FPGA 디바이스에 구현하고 타원곡선 디지털 서명 프로토콜의 H/W-S/W 통합 검증을 하였다. 65-nm CMOS 셀 라이브러리로 합성된 보안 SoC는 193,312 등가 게이트와 84 kbyte의 메모리로 구현되었다.