하드웨어 보안의 최신 동향

격자 기반 양자 내성 암호에서는 차수 n = 256인 다항식의 곱셈을 여러 번 수행한다. 계수끼리 모두 곱하는 소박한 방법으로는 약 n²회, 수론 변환(NTT)을 사용하는 방법으로는 약 n log₂ n회의 곱셈이 필요하다고 하면, NTT를 사용함으로써 곱셈 횟수가 대략 몇 분의 1이 되는지에 가장 가까운 것은?

  1. A약 8분의 1
  2. B약 32분의 1
  3. C약 256분의 1
정답과 해설 보기

정답: B. 약 32분의 1

소박한 방법으로는 n² = 256² = 65,536회, NTT를 사용하는 방법으로는 n log₂ n = 256 × 8 = 2,048회이므로, 65,536 ÷ 2,048 = 32로 약 32분의 1이 됩니다. 수론 변환은 고속 푸리에 변환과 같은 개념을 소수를 법으로 하는 정수의 세계에서 수행하는 변환으로, 변환한 뒤에는 계수별 곱셈만으로 끝납니다. ML-KEM은 계수를 q = 3329를 법으로 하여 다루며 NTT로 계산하는 것을 전제로 설계되어 있으므로, NTT 회로는 양자 내성 암호 가속기의 중심적인 부품이 됩니다. 또한 ML-KEM이나 ML-DSA는 행렬이나 난수를 만드는 데 SHA-3 계열의 함수(SHAKE)를 많이 사용하므로, 그 가속기도 효과가 있습니다.

이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 최신 동향의 다른 문제

  1. ML-KEM-768의 공개 키는 1,184바이트, 암호문은 1,088바이트이고, 타원 곡선 키 교환 X25519의 공개 값은 32바이트이다. ML-KEM-768 공개 키의 크기가 X25519 공개 값의 몇 배인지로 올바른 것은?
  2. ML-KEM의 캡슐화 해제에서는 받은 암호문을 개인 키로 복호화한 결과로부터 암호문을 다시 한번 만들어, 받은 암호문과 일치하는지를 비교한다. 이 부분의 구현상 주의점으로 올바른 것은?
  3. 10년 이상 사용되는 임베디드 기기의 SoC를 설계한다. 앞으로의 암호 이행(양자 내성 암호로의 이행 등)에 대비하는 하드웨어와 펌웨어의 설계로 적절한 것은?
  4. OpenTitan이나 Caliptra처럼 신뢰의 근간(Root of Trust) 회로의 설계를 공개하는 활동의 이점으로 가장 적절한 것은?
  5. TCG가 정한 DICE(Device Identifier Composition Engine)의 구조로 올바른 것은?