• 제목/요약/키워드: RSA processor

검색결과 24건 처리시간 0.022초

내장형 시스템을 위한 최적화된 RSA 암호화 프로세서 설계 (Design of an Optimal RSA Crypto-processor for Embedded Systems)

  • 허석원;김문경;이용석
    • 한국통신학회논문지
    • /
    • 제29권4A호
    • /
    • pp.447-457
    • /
    • 2004
  • 본 논문에서는 RSA 암호화 알고리즘을 지원하기 위한 암호화 프로세서의 구조를 제안한다. 본 논문의 RSA 암호화 프로세서는 빅 몽고메리 알고리즘(FIOS)을 기반으로 제안되였으며, 다양한 비트 길이(128∼2048 비트)를 지원한다. RSA 암호화 프로세서의 구조는 RSA 제어 신호 발생기, 빅 몽고메리 프로세서(가산기, 승산기)의 모듈로 구성된다. 빅 몽고메리 프로세서의 가산기와 승산기는 다양한 알고리즘을 이용하여 구현하였다. 내장형 시스템에 적합하게 설계하기 위하여 여러 가지 연산기를 합성한 결과 중에서 ARM 코프로세서와 연동할 수 있는 동작주파수를 갖는 연산기 중에서 가장 작은 연산기를 선택하였다. RSA 암호화 프로세서는 Verilog-HDL을 이용하여 하향식 설계 방법으로 구현되었으며, C언어와 Cadence의 Verilog-XL을 이용하여 검증하였다. 검증된 모델은 하이닉스 0.25$\mu\textrm{m}$ CMOS standard cell 라이브러리를 이용하여 합성되었으며, 2.3V, 10$0^{\circ}C$ 최악 조건에서 동작한다. 본 논문에서 제안한 RSA 암호화 프로세서는 약 51MHz의 주파수에서 동작하며, 게이트 수는 nand2 게이트 기준으로 36,639 gates의 면적을 가진다.

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가 소요되는 것으로 예측되었다.

RSA 암호시스템을 위한 모듈러 지수 연산 프로세서 설계 (Design of Modular Exponentiation Processor for RSA Cryptography)

  • 허영준;박혜경;이건직;이원호;유기영
    • 정보보호학회논문지
    • /
    • 제10권4호
    • /
    • pp.3-11
    • /
    • 2000
  • 본 논문에서는 몽고메리 알고리즘을 사용하여 모듈러 곱셈을 빠르게 수행하는 선형 시스톨릭 어레이를 설계하고, 이 곱셈기와 LR 이진 제곱 곱셈 알고리즘을 사용하여 n 비트 메시지 블록에 대해 모듈러 지수 연산을 수행하는 지수 연산 프로세서를 설계한다 이 프로세서는 제어장치, 입출력 시프트 레지스터, 지수 연산 장치 등 3개의 영역으로 나 누어진다. 설계된 지수 연산 프로세서의 동작을 검증하기 위해 VHDL를 사용하여 모델링하고 MAX+PLUS II를 사용하여 시뮬레이션 한다. 메시지 블록의 길이 n=512일 때 설계된 지수 연산 프로세서의 지연 시간은 59.5ms이다. 설계된 모듈러 지수 연산 프로세서는 RSA 칩(chip)에 이용될 수 있을 것이다.

P-224 ECC와 2048-비트 RSA를 지원하는 공개키 암호 프로세서 (A Public-key Cryptography Processor supporting P-224 ECC and 2048-bit RSA)

  • 성병윤;이상현;신경욱
    • 전기전자학회논문지
    • /
    • 제22권3호
    • /
    • pp.522-531
    • /
    • 2018
  • FIPS 186-2에 정의된 224-비트 소수체 타원곡선 암호와 2048-비트 키길이의 RSA 암호를 단일 하드웨어로 통합 구현한 공개키 암호 프로세서 EC-RSA를 설계하였다. ECC의 스칼라 곱셈과 RSA의 멱승 연산에 공통으로 사용되는 유한체 연산장치를 32 비트 데이터 패스로 구현하였으며, 이들 연산장치와 내부 메모리를 ECC와 RSA 연산에서 효율적으로 공유함으로써 경량화된 하드웨어로 구현하였다. EC-RSA 프로세서를 FPGA에 구현하여 하드웨어 동작을 검증하였으며, 180-nm CMOS 셀 라이브러리로 합성한 결과 11,779 GEs와 14 kbit의 RAM으로 구현되었고, 최대 동작 주파수는 133 MHz로 평가되었다. ECC의 스칼라 곱셈 연산에 867,746 클록 사이클을 소요되어 34.3 kbps의 처리율을 가지며, RSA의 복호화 연산에 26,149,013 클록 사이클이 소요되어 10.4 kbps의 처리율을 갖는 것으로 평가되었다.

A High-Security RSA Cryptoprocessor Embedded with an Efficient MAC Unit

  • Moon, Sang-Ook
    • Journal of information and communication convergence engineering
    • /
    • 제7권4호
    • /
    • pp.516-520
    • /
    • 2009
  • RSA crypto-processors equipped with more than 1024 bits of key space handle the entire key stream in units of blocks. The RSA processor which will be the target design in this paper defines the length of the basic word as 128 bits, and uses an 256-bits register as the accumulator. For efficient execution of 128-bit multiplication, 32b*32b multiplier was designed and adopted and the results are stored in 8 separate 128-bit registers according to the status flag. In this paper, an efficient method to execute 128-bit MAC (multiplication and accumulation) operation is proposed. The suggested method pre-analyzed the all possible cases so that the MAC unit can remove unnecessary calculations to speed up the execution. The proposed architecture prototype of the MAC unit was automatically synthesized, and successfully operated at 20MHz, which will be the operation frequency in the RSA processor.

재구성 가능한 암호화 프로세서에 적합한 32비트 곱셈기의 연구 (Study of a 32-bit Multiplier Suitable for Reconfigurable Cryptography Processor)

  • 문상국
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2008년도 추계종합학술대회 B
    • /
    • pp.740-743
    • /
    • 2008
  • 본 논문에서는 기본 워드를 128비트로 하고 곱셈 결과의 누적기로는 256비트의 레지스터를 사용하는 RSA 프로세서에서, 128 비트 곱셈을 효율적으로 수행하기 위하여 실험을 통하여 최적화한 32비트 $^*$ 32비트 곱셈기에 대한 연구를 수행하였다. $1024{\sim}2048$ 비트까지 재구성이 가능한 고비도 타겟 RSA 프로세서에서는 몽고메리 알고리즘을 효율적으로 처리하기 위하여 전체 키 스트림을 정해진 블록 단위로 처리한다. 본 논문에서 연구한 곱셈기는 128비트 곱셈에 필요한 누적곱셈 (MAC; multiply-and-aCcumultaion)을 효율적으로 구현하는 데 필수적인 연산모듈이 될 수 있다. 구현된 곱셈기는 시뮬레이션을 통하여 검증하였고, 자동 합성한 곱셈기 회로는 기준이 되는 RSA 프로세서의 동작 주파수에서 정상적으로 동작하였다.

  • PDF

래딕스-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 암호 시스템의 구현을 위해, 몽고메리 매핑 계수 계산 및 중국인 나머지 정리의 전처리 과정에 적용할 수 있도록 모듈러 감산 기능을 하드웨어로 구현하였다.

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 가 소요되는 것으로 평가되었다.

RSA 암호화 프로세서에 최적화한 32비트 곱셈기 설계 (Design of an Optimized 32-bit Multiplier for RSA Cryptoprocessors)

  • 문상국
    • 한국정보통신학회논문지
    • /
    • 제13권1호
    • /
    • pp.75-80
    • /
    • 2009
  • 1024비트 이상의 고비도 RSA 프로세서에서는 몽고메리 알고리즘을 효율적으로 처리하기 위하여 전체 키 스트림을 정해진 블록 단위로 처리한다. 본 논문에서는 기본 워드를 128비트로 하고 곱셈 결과의 누적기로는 256비트의 레지스터를 사용하는 타겟 RSA 프로세서에서, 128 비트 곱셈을 효율적으로 수행하기 위하여 실험을 통하여 최적화한 32비트 *32비트 곱셈기를 설계하고 검증하였다. 본 논문에서 설계한 곱셈기는 128비트 곱셈에 필요한 누적곱셈을 효율적으로 구현하는 데 필수적인 연산모듈이 된다. 구현된 곱셈기는 자동으로 합성 하였고, 기준이 되는 RSA 프로세서의 동작 주파수에서 정상적으로 동작하였다.

GF(p) 224-비트 ECC와 2048-비트 RSA를 지원하는 공개키 암호 프로세서 (A Public-Key Cryptography Processor Supporting GF(p) 224-bit ECC and 2048-bit RSA)

  • 성병윤;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2018년도 춘계학술대회
    • /
    • pp.163-165
    • /
    • 2018
  • GF(p)상 타원곡선 암호(ECC)와 RSA를 단일 하드웨어로 통합하여 구현한 공개키 암호 프로세서를 설계하였다. 설계된 EC-RSA 공개키 암호 프로세서는 NIST 표준에 정의된 소수체 상의 224-비트 타원 곡선 P-224와 2048-비트 키 길이의 RSA를 지원한다. ECC와 RSA가 갖는 연산의 공통점을 기반으로 워드기반 몽고메리 곱셈기와 메모리 블록을 효율적으로 결합하여 최적화된 데이터 패스 구조를 적용하였다. EC-RSA 공개키 암호 프로세서는 Modelsim을 이용한 기능검증을 통하여 정상동작을 확인하였으며, $0.18{\mu}m$ CMOS 셀 라이브러리로 합성한 결과 11,779 GEs와 14-Kbit RAM의 경량 하드웨어로 구현되었다. EC-RSA 공개키 암호 프로세서는 최대 동작주파수 133 MHz이며, ECC 연산에는 867,746 클록주기가 소요되며, RSA 복호화 연산에는 26,149,013 클록주기가 소요된다.

  • PDF