• 제목/요약/키워드: Cryptography Algorithm Library

검색결과 25건 처리시간 0.024초

마이크로소프트의 차세대 암호 라이브러리 구조에 관한 연구 및 오류-검출 도구 구현 (An Analysis of a Structure and Implementation of Error-Detection Tool of Cryptography API-Next Generation(CNG) in Microsoft)

  • 이경률;유일선;임강빈
    • 정보보호학회논문지
    • /
    • 제26권1호
    • /
    • pp.153-168
    • /
    • 2016
  • 본 논문은 마이크로소프트사의 CAPI를 대체하기 위하여 제안된 CNG의 구조와 특징, 프로그래밍 기법을 분석하였다. CNG는 플러그인 구조 기반의 독립된 모듈들로 구성되어 있기 때문에 구현해야 할 함수 및 기능의 범위를 최소화할 수 있어 개발비용과 확장 용이성 부분에서 CNG의 우수성을 잘 설명하고 있다. 또한, 확장성과 함께 최신의 암호화 알고리즘 및 감사 기능, 커널 모드 지원이 기업 및 공공기관 등의 환경에서 핵심 암호화 서비스로의 역할을 할 수 있게 한다. 따라서 이러한 기능들을 기반으로 기업과 공공기관이 조직 고유의 보안 요구사항에 맞게 CNG를 확장할 수 있도록 CNG 암호 라이브러리 구조에 대하여 분석하였다. 또한, 분석 결과를 기반으로 CNG 라이브러리를 활용하는 프로그램의 오류를 검출하기 위한 도구를 구현하였다.

단일 라운드 프로세스 방식의 IDEA 암호 알고리즘의 하드웨어 설계 (A VLSI Design of IDEA Cipher Algorithm Based On a Single Iterative Round Method)

  • 최영민;권용진
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 추계종합학술대회 논문집(2)
    • /
    • pp.144-147
    • /
    • 2000
  • Data security is an important issue in today's computer networks. In order to construct a safe infra in the open communication network, a cryptography is necessarily applied to several communication application fields like a high-speed networking system supporting real-time operation. A cryptography which has already realized by a software is designed by using a hardware to improve a throughput. In this paper, we design hardware architecture of IDEA by using a single iterative round method to improve a encryption throughput. In addition, we intend to develop a hardware design methodology that a specific cryptography operate with high-speed. The hardware model is described in VHDL and synthesized by the Samsung KG 80 Library in the Synopsys development software tool. With a system clock frequency 20MHz, this hardware permits a data conversion rate of more than 116 Mbit/s.

  • PDF

스마트카드 보안용 타원곡선 암호를 위한 GF($2^{163}$) 스칼라 곱셈기 (A GF($2^{163}$) Scalar Multiplier for Elliptic Curve Cryptography for Smartcard Security)

  • 정상혁;신경욱
    • 한국정보통신학회논문지
    • /
    • 제13권10호
    • /
    • pp.2154-2162
    • /
    • 2009
  • 스마트카드 보안용 타원곡선 암호를 위한 스칼라 곱셈기를 설계하였다. 스마트카드 표준에 기술된 163-비트의 키 길이를 지원하며, 유한체 (finite field) 상에서 스칼라 곱셈의 연산량을 줄이기 위해 complementary receding 방식을 적용한 Non-Adjacent Format (NAF) 변환 알고리듬을 적용하여 설계되었다. 설계된 스칼라 곱셈기 코어는 0.35-${\mu}m$ CMOS 셀 라이브러리로 합성하여 32,768 게이트로 구현되었으며, 150-MHz@3.3-V로 동작한다. 설계된 스칼라 승산기는 스마트카드용 타원곡선 암호 알고리듬의 전용 하드웨어 구현을 위한 IP로 사용될 수 있다.

233-비트 이진체 타원곡선을 지원하는 암호 프로세서의 저면적 구현 (A small-area implementation of cryptographic processor for 233-bit elliptic curves over binary field)

  • 박병관;신경욱
    • 한국정보통신학회논문지
    • /
    • 제21권7호
    • /
    • pp.1267-1275
    • /
    • 2017
  • NIST 표준에 정의된 이진체(binary field) 상의 233-비트 타원곡선을 지원하는 타원곡선 암호(elliptic curve cryptography; ECC) 프로세서를 설계하였다. 타원곡선 암호 시스템의 핵심 연산인 스칼라 점 곱셈을 수정형 Montgomery ladder 알고리듬을 이용하여 구현함으로써 단순 전력분석에 강인하도록 하였다. 점 덧셈과 점 두배 연산은 아핀(affine) 좌표계를 기반으로 유한체 $GF(2^{233})$ 상의 곱셈, 제곱, 나눗셈으로 구현하였으며, shift-and-add 방식의 곱셈기와 확장 유클리드 알고리듬을 이용한 나눗셈기를 적용함으로써 저면적으로 구현하였다. 설계된 ECC 프로세서를 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였다. $0.18{\mu}m$ 공정의 CMOS 셀 라이브러리로 합성한 결과 49,271 GE로 구현되었고, 최대 345 MHz의 동작 주파수를 갖는다. 스칼라 점 곱셈에 490,699 클록 사이클이 소요되며, 최대 동작 주파수에서 1.4 msec의 시간이 소요된다.

32-비트 몽고메리 모듈러 곱셈기 기반의 2,048 비트 RSA 공개키 암호 프로세서 (2,048 bits RSA public-key cryptography processor based on 32-bit Montgomery modular multiplier)

  • 조욱래;신경욱
    • 한국정보통신학회논문지
    • /
    • 제21권8호
    • /
    • pp.1471-1479
    • /
    • 2017
  • 2,048 비트의 키 길이를 지원하는 RSA 공개키 암호 프로세서를 설계하였다. RSA 암호의 핵심 연산인 모듈러 곱셈기를 워드 기반의 몽고메리 곱셈 알고리듬을 이용하여 설계하였으며, 모듈러 지수승 연산은 Left-to-Right(LR) 이진 멱승 알고리듬을 이용하여 구현하였다. 모듈러 곱셈에 8,448 클록 사이클이 소요되며, RSA 암호화와 복호화에 각각 185,724 클록 사이클과 25,561,076 클록 사이클이 소요된다. 설계된 RSA 암호 프로세서를 Virtex 5 FPGA로 구현하여 하드웨어 동작을 검증하였다. $0.18{\mu}m$ CMOS 표준셀을 사용하여 100 MHz의 동작 주파수로 합성한 결과, RSA 암호 프로세서는 12,540 GE로 구현되었고, 12 kbit의 메모리가 사용되었다. 동작 가능한 최대 주파수는 165 MHz로 평가되었으며, RSA 암호화, 복호화 연산에 각각 1.12 ms, 154.91 ms가 소요되는 것으로 예측되었다.

타원곡선 암호를 위한 GF(2163) 스칼라 곱셈기 (A GF(2163) scalar multiplier for elliptic curve cryptography)

  • 정상혁;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2009년도 춘계학술대회
    • /
    • pp.686-689
    • /
    • 2009
  • 본 논문에서는 타원곡선 암호를 위한 스칼라 곱셈기의 설계에 대해 기술한다. 설계된 스칼라 곱셈기는 스마트카드 표준에 기술된 163-비트의 키 길이를 가진다. 유한체 $GF(2^{163})$ 상에서 스칼라 곱셈의 연산량을 줄이기 위해 complementary recoding 방식을 적용한 Non-Adjacent-Format(NAF) 변환 알고리듬을 적용하여 설계하였다. 설계된 스칼라 곱셈기 코어는 $0.35-{\mu}m$ CMOS 셀 라이브러리로 합성하여 32,768 게이트로 구현되었으며, 150-MHz@3.3-V로 동작한다. 설계된 스칼라 승산기는 스마트카드용 타원곡선 암호 하드웨어 구현을 위한 IP로 사용될 수 있다.

  • PDF

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

타원곡선 암호를 위한 고성능 모듈러 곱셈기 (A High Performance Modular Multiplier for ECC)

  • 최준영;신경욱
    • 전기전자학회논문지
    • /
    • 제24권4호
    • /
    • pp.961-968
    • /
    • 2020
  • 타원곡선 암호에 필수적으로 사용되는 모듈러 곱셈의 고성능 하드웨어 설계에 대해 기술한다. 본 논문의 모듈러 곱셈기는 NIST FIPS 186-2에 정의된 소수체 상의 5가지 체 크기(192, 224, 256, 384, 521 비트)의 모듈러 곱셈을 지원하며, 정수 곱셈과 축약의 두 단계 과정으로 모듈러 곱셈을 연산한다. 고속 정수 곱셈을 위해 카라추바-오프만 곱셈 알고리듬이 사용되었고, 축약 연산을 위해 Lazy 축약 알고리듬이 사용되었다. 또한, Lazy 축약에 포함된 나눗셈 연산을 위해 Nikhilam 나눗셈 알고리듬이 사용되었으며, 나눗셈 연산은 주어진 모듈러 값에 대해 처음 한 번만 연산되고, 모듈로 값이 고정된 상태로 연속적인 모듈러 곱셈이 수행되는 경우에는 나눗셈을 거치지 않도록 하였다. 설계된 모듈러 곱셈기는 32 MHz의 클록 주파수로 동작하는 경우에 초당 640만번의 모듈러 곱셈을 연산할 수 있는 것으로 평가되었으며, 180-nm CMOS 셀 라이브러리로 합성한 결과, 67 MHz의 클록 주파수로 동작이 가능하며, 456,400 등가 게이트로 구현되었다.

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의 메모리로 구현되었다.

듀얼 필드 모듈러 곱셈을 지원하는 몽고메리 곱셈기 (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로 추정되었다.