• 제목/요약/키워드: 공개키암호

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

TiGER의 복호화 실패율 분석 (Analysis on Decryption Failure Probability of TiGER)

  • 이승우;김종현;박종환
    • 정보보호학회논문지
    • /
    • 제34권2호
    • /
    • pp.157-166
    • /
    • 2024
  • LWE(learning with errors) 문제 기반의 공개키 암호는 기법 설계 및 파라미터 설정에 따라 복호화 실패율이 주어지는데, 높은 복호화 실패율은 실용성의 저하를 불러올뿐만 아니라 기법에 대한 공격으로 이어질 수 있음이 밝혀진 바 있다[1]. 따라서, KpqC 1차 라운드에 제안된 Ring-LWE 기반 KEM 기법인 TiGER[2]는 오류 보정 코드 (error correction code) Xef와 D2 인코딩 방법을 사용함으로써 복호화 실패율을 낮추고자 하였다. 그런데, Ring-LWE 문제에 기반한 암호화 기법 중 오류 보정 코드를 사용하는 기법의 경우 흔히 가정하는 각 비트 오류의 독립성이 성립하지 않음이 알려진 바 있다[3]. TiGER의 복호화 실패율 계산은 이를 고려하지 않은바, 본 논문에서는 오류 의존성을 고려하여 복호화 실패율을 다시 계산한다. 또한, TiGER(v2.0)의 비트 오류가 잘못 계산되었음을 발견하여 올바른 비트 오류 계산 식과 그에 따라 새로 계산한 복호화 실패율을 제시한다.

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 처리 시간이다.

JPV 소수 생성 알고리즘의 확률적 분석 및 성능 개선 (Probabilistic Analysis of JPV Prime Generation Algorithm and its Improvement)

  • 박희진;조호성
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제35권2호
    • /
    • pp.75-83
    • /
    • 2008
  • Joye와 연구자들은 기존의 조합 소수 판단 검사에서 trial division 과정을 제거한 새로운 소수 생성 알고리즘 (이하 JPV 알고리즘)을 제시하였으며, 이 알고리즘이 기존의 조합 소수 생성 알고리즘에 비해 $30{\sim}40%$ 정도 빠르다고 주장하였다. 하지만 이 비교는 전체 수행시간이 아닌 Fermat 검사의 호출 횟수만을 비교한 것으로 정확한 비교와는 거리가 있다. 기존의 조합 소수 생성 알고리즘에 대해 이론적인 수행시간 예측 방법이 있음에도 불구하고 두 알고리즘의 전체 수행시간을 비교할 수 없었던 이유는 JPV 알고리즘에 대한 이론적인 수행 시간 예측 모델이 없었기 때문이다. 본 논문에서는 먼저 JPV 알고리즘을 확률적으로 분석하여 수행시간 예측 모델을 제시하고, 이 모델을 이용하여 JPV 알고리즘과 기존의 조차 소수 생성 알고리즘의 전체 수행시간을 비교한다. 이 모델을 이용하여 펜티엄4 시스템에서 512비트 소수의 생성 시간을 예측해 본 결과 Fermat 검사의 호출 횟수를 이용한 비교와는 달리 JPV 알고리즘이 기존의 조합 소수 생성 알고리즘보다 느리다는 결론을 얻었다. 이러한 이론적인 분석을 통한 비교는 실제 동일한 환경에서 실험을 통해서 검증되었다. 또한, 본 논문에서는 JPV 알고리즘의 성능 개선 방법을 제시한다. 이 방법을 사용하여 JPV 알고리즘을 개선하면 동일한 공간을 사용할 경우에 JPV 알고리즘이 기존의 조합 소수 생성 알고리즘과 비슷한 성능을 보인다.

모듈라 멱승 연산의 빠른 수행을 위한 덧셈사슬 휴리스틱과 모듈라 곱셈 알고리즘들 (An Addition-Chain Heuristics and Two Modular Multiplication Algorithms for Fast Modular Exponentiation)

  • 홍성민;오상엽;윤현수
    • 정보보호학회논문지
    • /
    • 제7권2호
    • /
    • pp.73-92
    • /
    • 1997
  • 모듈라 멱승 연산(M$^{E}$ modN)은 공개키 암호시스템에 있어서 가장 기본적이고 중요한 연산들 중 하나이다. 그런데 이는 512-비트 이상의 정수들과 같이 매우 큰 수들을 다루기 때문에, 수행속도가 느려서 빠른 연산 알고리즘을 필요로 한다. 모듈라 멱승 연산은 모듈라 곱셈의 반복 수행으로 이루어져있고, 이 때의 반복횟수는 지수(E)에 대한 덧셈사슬의 길이에 의해 결정된다. 따라서, 모듈라 멱승 연산을 빠르게 수행하기 위한 방법에는 두 가지가 있을 수 있다. 하나는 보다 짧은 덧셈사슬을 구함으로써 모듈라 곱셈의 반복횟수를 줄이는 것이고, 다른 하나는 각각의 모듈라 곱셈을 빠르게 수행하는 것이다. 본 논문에서는 하나의 덧셈사슬 휴리스틱과 두 개의 모듈라 곱셈 알고리즘들을 제안한다. 두개의 모듈라 곱셈 알고리즘들 중 하나는 서로 다른 두 수들 간의 모듈라 곱셈을 빠르게 수행하기 위한 것이고, 다른 하나는 모듈라 제곱을 빠르게 수행하기 위한 것이다. 본 논문에서 제안하는 덧셈사슬 휴리스틱은 기존의 알고리즘들보다 짧은 덧셈사슬을 찾을 수 있다. 본 논문에서 제안하는 모듈라 곱셈 알고리즘들은 기존의 알고리즘들 보다 1/2 이하의 단정도 곱셈만으로 모듈라 곱셈을 수행한다. 실제로 PC에서 구현하여 수행한 결과, 기존의 알고리즘들 중 가장 좋은 성능을 보이는 Montgomery 알고리즘에 비해 30~50%의 성능향상을 보인다.

R-LWE 암호화를 위한 근사 모듈식 다항식 곱셈기 최적화 (Optimization of Approximate Modular Multiplier for R-LWE Cryptosystem)

  • 이재우;김영민
    • 전기전자학회논문지
    • /
    • 제26권4호
    • /
    • pp.736-741
    • /
    • 2022
  • 격자 기반 암호화는 최악의 경우를 기반으로 한 강력한 보안, 비교적 효율적인 구현 및 단순성을 누리기 때문에 포스트 양자 암호화 방식 중 가장 실용적인 방식이다. 오류가 있는 링 학습(R-LWE)은 격자 기반 암호화(LBC)의 공개키암호화(Public Key Encryption: PKE) 방식이며, R-LWE의 가장 중요한 연산은 링의 모듈러 다항식 곱셈이다. 본 논문은 R-LWE 암호 시스템의 중간 보안 수준의 매개 변수 집합을 대상으로 하여 근사 컴퓨팅(Approximate Computing: AC) 기술을 기반으로 한 모듈러 곱셈기를 최적화하는 방법을 제안한다. 먼저 복잡한 로직을 간단하게 구현하는 방법으로 LUT을 사용하여 근사 곱셈 연산 중 일부의 연산 과정을 생략하고, 2의 보수 방법을 활용하여 입력 데이터의 값을 이진수로 변환 시 값이 1인 비트의 개수를 최소화하여 필요한 덧셈기의 개수를 절감하는 총 두 가지 방법을 제안한다. 제안된 LUT 기반의 모듈식 곱셈기는 기존 R-LWE 모듈식 곱셈기 대비 속도와 면적 모두 9%까지 줄어들었고, 2의 보수 방법을 적용한 모듈식 곱셈기는 면적을 40%까지 줄이고 속도는 2% 향상되는 것으로 나타났다. 마지막으로 이 두 방법을 모두 적용한 최적화된 모듈식 곱셈기의 면적은 기존대비 43%까지 감소하고 속도는 10%까지 감소하는 것으로 나타났다.