← 최신 논문
💻 computer science

Efficient Mod Approximation and Its Applications to CKKS Ciphertexts

이 논문은 CKKS 동형암호에서 제한된 입력 구간을 넘어 모든 정수 점에 대해 다항식 보간과 체비셰프 급수를 기반으로 한 정밀한 모듈로 근사법을 제안하고, 이를 활용한 효율적인 데이터 패킹 기법과 반올림 연산 및 비밀분산에서 CKKS 암호문으로의 변환을 구현하여 높은 정확도를 입증했습니다.

원저자: Yufei Zhou

게시일 2026-04-08
📖 3 분 읽기☕ 가벼운 읽기

원저자: Yufei Zhou

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

🏠 1. 배경: 왜 이 연구가 필요할까요?

상황:
우리가 비밀번호로 잠긴 상자 (암호화) 안에 데이터를 넣고, 그 상자를 열어보지 않은 채로 계산 (더하기, 곱하기) 을 하려면 동형 암호 (HE) 라는 기술을 써야 합니다.
하지만 현재 가장 많이 쓰이는 'CKKS'라는 기술은 더하기와 곱하기만 잘합니다.

문제점:
실제 생활에서는 **"나머지 (Mod)"**를 구하는 일이 매우 많습니다.

  • 예: "13 시를 12 시간제 시계로 보면 몇 시인가?" (13 mod 12 = 1)
  • 예: "100 개의 사과를 3 명에게 나누면 남는 건 몇 개?"

하지만 CKKS 는 이 '나머지' 연산을 직접 할 수 없습니다. 마치 계산기에는 더하기 버튼은 있는데 '나누기' 버튼이 없어서, 나누기를 하려면 매우 복잡한 수학적 장난감을 만들어야 하는 것과 같습니다. 기존 방법들은 특정 구간에서만 잘 작동하거나, 결과가 엉망이 되는 경우가 많았습니다.


🎯 2. 핵심 해결책: "나머지"를 구하는 새로운 비법

저자들은 CKKS 상자 안에서 '나머지'를 정확하게 구할 수 있는 새로운 비법을 개발했습니다.

  • 기존 방법: 곡선을 그릴 때, 특정 구간만 잘 그리고 나머지는 대충 그리는 방식이라 결과가 들쭉날쭉했습니다.
  • 이 연구의 방법: **체비셰프 급수 (Chebyshev series)**라는 수학적 도구를 이용해, 전체 구간을 아주 정교하게 매끄럽게 그리는 곡선을 만들었습니다.
    • 비유: 마치 **가파른 계단 (나머지 연산의 특징)**을 매끄러운 경사로로 바꾸는 작업입니다. 하지만 계단처럼 딱딱 끊어지는 부분을 아주 정밀하게 다듬어서, 계단처럼 보이게 하지만 실제로는 부드러운 곡선으로 계산할 수 있게 만든 것입니다.
    • 결과: 오차가 10 억분의 1 (10⁻⁸) 수준까지 줄어들어, 거의 완벽하게 '나머지'를 계산할 수 있게 되었습니다.

📦 3. 응용 1: "데이터 적재기" (BitStack & CRTStack)

이제 '나머지'를 구할 수 있게 되었으니, 무엇을 할 수 있을까요? 바로 데이터를 한 상자에 더 많이 채우는 것입니다.

상황:
CKKS 상자 (암호문) 는 정해진 칸 (슬롯) 이 있습니다. 그런데 우리가 보내려는 데이터 (예: 1, 2, 3 같은 작은 숫자) 가 너무 작아서 상자에 빈 공간이 많이 남습니다. 이는 비행기 좌석의 절반을 비워두고 타는 것과 같습니다.

해결책:
저자들은 BitStackCRTStack이라는 두 가지 방법을 개발했습니다.

  1. BitStack (비트 쌓기):

    • 작은 숫자들을 **이진수 (0 과 1 의 나열)**로 바꾸고, 마치 레고 블록을 쌓듯이 한 줄로 길게 쌓은 뒤 하나의 상자에 넣습니다.
    • 비유: 작은 주사위 여러 개를 긴 막대기 하나로 합쳐서 보내는 것입니다.
    • 장점: 공간을 매우 효율적으로 씁니다.
  2. CRTStack (중국인의 나머지 정리 활용):

    • 서로 다른 **나눗셈 기준 (소수)**을 이용해 데이터를 나눕니다.
    • 비유: 같은 물건을 **세 개의 다른 자 (규격)**로 재서 각각의 값을 따로 보내는 것처럼 보이지만, 실제로는 하나의 큰 값으로 합쳐져 있습니다.
    • 장점: 여러 데이터를 동시에 (병렬로) 꺼낼 수 있어 속도가 빠릅니다.

효과:
이 방법들을 쓰면, 데이터 전송량을 100 배 가까이 줄일 수 있습니다. (예: 2GB 를 보내야 할 것을 20MB 로 줄임). 스마트폰 같은 작은 기기에서도 암호화된 데이터를 서버로 보내기가 훨씬 쉬워집니다.


🔄 4. 응용 2: 다른 암호 방식과의 연결

이 기술은 **비밀 분산 (Secret Sharing)**이라는 다른 암호 기술과도 연결해 줍니다.

  • 상황: 여러 사람이 각자 조각 (비밀 조각) 을 가지고 있는데, 이를 합쳐서 암호화된 데이터로 만들고 싶을 때, 기존에는 복잡한 과정이 필요했습니다.
  • 해결: 이 연구에서 만든 '나머지' 계산기를 사용하면, 서로 다른 조각들을 자연스럽게 합쳐서 CKKS 암호문으로 바꿀 수 있습니다.
    • 비유: 각자 다른 언어로 쓴 편지 조각들을, **자동 번역기 (이 연구의 기술)**를 통해 하나의 통일된 언어로 된 편지로 바꾸는 것과 같습니다.

🚀 5. 요약: 왜 이 연구가 중요한가요?

  1. 완벽한 '나머지' 계산: 암호화된 데이터에서도 '나머지'를 아주 정확하게 구할 수 있게 되었습니다.
  2. 데이터 압축: 작은 숫자 데이터를 암호화할 때, 데이터 크기를 획기적으로 줄여 전송 비용과 시간을 아껴줍니다. (특히 IoT 기기나 스마트폰에 유리함)
  3. 새로운 가능성: 비밀 분산 방식과 암호화 방식을 연결하는 새로운 다리를 놓았습니다.

한 줄 요약:

"암호화된 상자 안에서 '나머지'를 구하는 어려운 문제를 해결하여, 데이터를 훨씬 더 작고 효율적으로 보내고 처리할 수 있게 만들었습니다."

이 기술은 향후 개인정보를 보호하면서 의료 데이터나 금융 데이터를 분석하는 등, 더 많은 분야에서 실용적으로 쓰일 것으로 기대됩니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →