• 제목/요약/키워드: 모듈로 연산

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

Camellia 블록 암호의 암·복호화기 코어 설계 (Design of Encryption/Decryption Core for Block Cipher Camellia)

  • 손승일
    • 한국정보통신학회논문지
    • /
    • 제20권4호
    • /
    • pp.786-792
    • /
    • 2016
  • Camellia 암호는 NTT사 및 미쓰비시 전자회사에서 공동으로 2000년도에 개발되었다. Camellia는 128비트 메시지 블록 크기와 128비트, 192비트 및 256비트 키(Key)에 대한 암호화 방식을 규정하고 있다. 본 논문은 키 스케줄용 레지스터 설정과 기존의 라운드 연산 블록을 통합한 수정된 라운드 연산 블록을 제안하였다. 키 생성과 라운드 연산에 필요한 총 16개의 ROM을 단지 4개의 이중포트 ROM만을 사용하여 구현하였다. 또한 메시지 버퍼를 제공하여 키 생성을 위한 KA와 KB 값이 도출되면 대기 시간없이 즉시 암호화나 복호화가 수행될 수 있도록 하였다. 제안한 Camellia 블록 암호 알고리즘을 Verilgo-HDL을 사용하고 설계하고, Virtex4 디바이스상에 구현하였으며, 최대 동작 주파수는 184.898MHz이다. 128비트 키 모드에서 최대 처리율은 1.183Gbps이며, 192비트 및 256비트 키 모드에서 최대 처리율은 876.5Mbps이다. 본 논문에서 설계된 암호 프로세서는 스마트 카드, 인터넷뱅킹, 전자상거래 및 위성 방송 등과 같은 분야의 보안 모듈로 응용이 가능할 것으로 사료된다.

소프트웨어/하드웨어 최적화된 타원곡선 유한체 연산 알고리즘의 개발과 이를 이용한 고성능 정보보호 SoC 설계 (Design of a High-Performance Information Security System-On-a-Chip using Software/Hardware Optimized Elliptic Curve Finite Field Computational Algorithms)

  • 문상국
    • 한국정보통신학회논문지
    • /
    • 제13권2호
    • /
    • pp.293-298
    • /
    • 2009
  • 본 연구에서는 193비트 타원곡선 암호화프로세서를 보조프로세서 형태로 제작하여 FPGA에 구현하였다. 프로그램 레벨에서 최적화된 알고리즘과 수식을 제안하여 증명하였고, 검증을 위해 Verilog와 같은 하드웨어 기술언어를 통하여 다시 한번 분석 하여 하드웨어 구현에 적합하도록 수정하여 최적화 하였다. 그 이유는 프로그래밍 언어의 순차적으로 컴파일되고 실행되는 특성이 하드웨어를 직접 구현하는 데에 본질적으로 틀리기 때문이다. 알고리즘적인 접근과 더불어 하드웨어적으로 2중적으로 검증된 하드웨어 보조프로세서를 Altera 임베디드 시스템을 활용하여, ARM9이 내장되어 있는 Altera CycloneII FPGA 보드에 매핑하여 실제 칩 프로토타입 IP로 구현하였다. 구현된 유한체 연산 알고리즘과 하드웨어 IP들은 실제적인 암호 시스템에 응용되기 위하여, 193 비트 이상의 타원 곡선 암호 연산 IP를 구성하는 라이브러리 모듈로 사용될 수 있다.

내장형 시스템을 위한 최적화된 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의 면적을 가진다.

임계 암호시스템 구현을 위한 능동적 비밀 분산에서의 공유 갱신 방법 (Share Renewal Scheme in Proactive Secret Sharing for Threshold Cryptosystem)

  • 이윤호;김희열;정병천;이재원;윤현수
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제30권5_6호
    • /
    • pp.239-249
    • /
    • 2003
  • 비밀 분산(Secret Sharing)은 임계 암호시스템(Threshold Cryptosystem)의 기본 개념이며, 현대 암호학에서 중요한 한 축을 이루는 암호학의 한 분야이다. 1995년 Jarecki는 이동 공격자 모델에 대하여 비밀 분산 프로토콜의 안전성을 유지할 수 있는 능동적 비밀 분산(Proactive Secret Sharing) 개념을 제안하였고, 이와 함께 (k, n) threshold scheme에서 능동적 비밀 분산을 적용하기 위하여 공유 갱신 프로토콜을 제안하였다. Jarecki가 제안한 공유 갱신 프로토콜은 전체 참여자가 n명일 경우 각 참여자당 $O(n^2)$의 모듈라 멱승 연산을 수행하여야 한다. 이것은 매우 큰 연산량으로 참여자가 큰 대규모의 비밀 분산 수행시 계산 비용의 증가로 Jarecki의 프로토콜은 사용하기 어렵게 된다. 본 논문에서는 (k, n) threshold scheme에서의 능동적 비밀 분산을 위한 효율적인 공유 갱신 방법을 제안한다. 제안 방법은 이전 방법과는 달리 각 참여자당 O(n)의 모듈라 멱승 연산만으로 공유 갱신이 가능하다. 이와 함께 본 논문에서는 k(클n-1 인 경우에 대하여 제안 방법의 안전함을 증명한다.

NTT 기반의 효율적인 다항식 곱셈기 설계 (Design of Efficient NTT-based Polynomial Multiplier)

  • 이승호;이동찬;김영민
    • 전기전자학회논문지
    • /
    • 제25권1호
    • /
    • pp.88-94
    • /
    • 2021
  • 현재 사용되고 있는 RSA, ECC와 같은 공개키 암호화 기법은 소인수분해와 같은 현재의 컴퓨터로 계산이 오래 걸리는 수학적 문제를 암호화에 사용했다. 그러나 양자컴퓨터가 상용화된다면 Shor Algorithm에 의해 기존의 암호화 시스템은 쉽게 깨질 수 있다. 그로 인해 Quantum-resistant 한 암호화 알고리즘의 도입이 필요해졌고, 그중 하나로 Lattice-based Cryptography가 제안되고 있다. 이 암호화 알고리즘은 Polynomial Ring에서 연산이 행해지고, 그중 Polynomial Multiplication이 가장 큰 연산 시간을 차지한다. 그러므로 다항식 곱셈 계산을 빠르게 하는 하드웨어 모듈이 필요하고, 그중 Finite Field에서 연산 되는 FFT인 Number Theoretic Transform을 이용해서 다항식 곱셈을 계산하는 8-point NTT-based Polynomial Multiplier 모듈을 설계하고 시뮬레이션했다. HDL을 사용하여 로직검증을 수행하였고, Hspice를 사용하여 트랜지스터 수준에서 제안된 설계가 지연시간과 전력소모에서 얼마나 개선되는지를 비교 분석하였다. 제안된 설계에서 평균 지연속도 30%의 개선과 8% 이상의 전력소모 감소 효과를 볼 수 있었다.

아날로그 제약 조건을 고려한 집적회로의 레이아웃 자동화 (Layout Automation of Integrated Circuits Based on Analog Constraints)

  • 조현상;김영수;오정환;윤광섭;한창호
    • 한국정보처리학회논문지
    • /
    • 제4권8호
    • /
    • pp.2120-2132
    • /
    • 1997
  • 아날로그 집적회로 설계 자동화를 위한 레이아웃 자동화 도구를 제안하였다. 구현된 시스템은 완전 주문형 방식을 채택하고 아날로그 레이아웃의 제약 조건을 고려하였다. 기존의 아날로그 레이아웃 자동화 도구들이 가지고 있는 단점을 보완하기 위하여 변수화된 모듈 라이브러리를 개발, 복잡한 아날로그 모듈들의 레이아웃을 지원하여 확장성을 극대화하였다. 또한 배선 과정에는 기존의 디크스트라 알고리즘을 개선한 종적 다중 경로 알고리즘을 적용하였다. 구현된 아날로그 레이아웃 자동화 도구는 비교기, 연산증폭기 그리고 필터등의 시험회로를 대상으로 시험 수행하였다. 기존의 자동화 도구인 OPASYN과 비교하여 웰 합병과 인터디지트형의 모듈로 레이아웃이 수행된 결과를 얻을 수 있었다.

  • PDF

Montgomery 곱셈기를 이용한 효율적인 모듈라 멱승기 구조 (Efficient Architectures for Modular Exponentiation Using Montgomery Multiplier)

  • 하재철;문상재
    • 정보보호학회논문지
    • /
    • 제11권5호
    • /
    • pp.63-74
    • /
    • 2001
  • 본 논문에서는 공개 키 암호시스템에서의 필수적인 연산인 모듈라 멱승을 처리하기 위한 멱승기의 회로 구조를 제안한다. 제안한 멱승기는 Montgomery 알고리듬을 사용한 곱셈기를 채택하였으며 멱승의 사전·사후 계산 과정을 쉽게 처리할 수 있도록 MUX를 이용한 것이 특징이다. 논문에서 n비트의 모듀라 멱승을 가정하여 L-R 이진 방식과 R-L이진 방식에 기초한 두 가지 형태의 설계 구조를 제안하였다. 구현에 사용된 곱셈기가 m번 클럭의 캐리 처리과정을 포함하여 (n+m)번의 클럭만에, R-L 방식 멱승기는 (n+4)(n+m)번의 클럭 시간에 멱승을 처리할 수 있다.

동시연산 다중 digit을 이용한 직렬 십진 곱셈기의 설계 (Design of Serial Decimal Multiplier using Simultaneous Multiple-digit Operations)

  • 유창헌;김진혁;최상방
    • 전자공학회논문지
    • /
    • 제52권4호
    • /
    • pp.115-124
    • /
    • 2015
  • 본 논문에서는 직렬 십진 곱셈기의 성능을 향상시키는 방안을 제안하고 다중 digit을 동시에 연산하는 방안을 제안한다. 제안하는 직렬 십진 곱셈기는 부분 곱 생성단계의 2배수, 4배수를 생성하기 위한 인코딩 모듈을 없애고 쉬프트 연산만으로 부분 곱을 생성해 지연시간을 감소시킨다. 또한 다중 digit 연산을 이용해 연산의 횟수를 줄인다. 제안하는 직렬 십진 곱셈기의 성능을 평가하기 위해서 Synopsys사의 Design Compiler를 이용하여 SMIC사의 110nm CMOS 공정 라이브러리로 합성하였다. 그 결과 제안한 곱셈기는 기존의 직렬 십진 곱셈기와 비교해 전체 면적은 4% 증가하였지만, 전체 지연시간은 5% 감소함을 보였다. 또한 동시 연산 수가 증가함에 따른 제안한 다중 digit 곱셈기의 면적과 지연시간의 trade-off를 확인하였다.

RSA 암호 시스템을 위한 고속 모듈라 곱셈 알고리즘 (High Speed Modular Multiplication Algorithm for RSA Cryptosystem)

  • 조군식;조준동
    • 한국통신학회논문지
    • /
    • 제27권3C호
    • /
    • pp.256-262
    • /
    • 2002
  • 본 논문에서는 sign estimation technique (3)을 기초로 한 radix-4 모듈라 곱셈 알고리즘을 제안한다. Sign estimation technique은 carry와 sum의 형태로 표현되는 수에서 부호를 알아내는 것이다. 이 방법은 5비트 carry look-ahead adder로 구현이 가능하다. RSA와 같은 암호화 시스템에서는 모듈라 곱셈이 하드웨어의 성능을 좌우한다. 제안한 알고리즘은 modulus가 n 비트인 경우, 모듈라 곱셈 수행시 일반적인 알고리즘의 약 반 클럭 (n/2+3) 사이클만 필요하다. 그래서 매우 큰수의 modulus 사용하는 RSA 암호시스템에서 모듈라 멱승 연산에 매우 효율적이다. 또한 모듈라 곱셈의 하드웨어 성능을 향상하기 위해, CSA (Carry Save Adder)의 맨 마지막 출력에 사용되는 CPA (Carry Propagation Adder) 대신 고속 덧셈기(7)를 사용하였다. 모듈라 멱승 계산이 n 클럭이 소요되는 RL binary 방법을 적용하여 1024 비트 데이터를 RSA 암호화하는데 n(n/2+3) 클럭 사이클만 소요된다.

차량 통신 기술을 위한 OFDM 모듈레이션의 64-비트 스크램블러 설계 (The 64-Bit Scrambler Design of the OFDM Modulation for Vehicles Communications Technology)

  • 이대식
    • 인터넷정보학회논문지
    • /
    • 제14권1호
    • /
    • pp.15-22
    • /
    • 2013
  • WAVE 시스템은 IEEE 802.11p표준으로 지능형 교통시스템 서비스에 응용되는 새로운 개념 및 차량 통신 기술이다. 또한 WAVE 시스템은 도로상의 트래픽의 효율과 안전을 높인다. 그러나 WAVE 시스템의 OFDM 모듈레이션에서 스크램블러 비트 연산 알고리즘은 하드웨어나 소프트웨어 측면에서 병렬 처리가 불가능하므로 효율성이 떨어지게 된다. 본 논문에서는 스크램블러의 비트 연산으로 64비트 행렬 테이블을 구성하는 알고리즘과 64비트 행렬 테이블과 입력 데이터를 병렬 연산하는 알고리즘을 제안하였다. 제안한 알고리즘은 64비트 행렬 테이블을 적용하여 실행한 결과 비트연산 스크램블러보다 1회와 10000회 처리 속도는 약 40.08%-40.27%가 향상되고, 초당 처리 횟수는 468.35회 더 수행할 수 있고, 32비트 스크램블러보다 1회와 10000회 처리 속도는 약 7.53%-7.84%가 향상되고, 초당 처리 횟수는 91.44회 더 수행할 수 있다. 따라서 64비트로 연산하는 스크램블러 알고리즘은 64비트를 처리할 수 있는 CPU를 사용한다면 32비트 스크램블러보다 40% 이상 성능을 향상시킬 수 있다.