Modification to Fully Homomorphic Modified Rivest Scheme

이 논문은 완전 동형 암호화 방식인 FHMRS 의 보안 취약점을 분석하고 이를 완화하기 위한 수정된 방식 (mFHMRS) 을 제안합니다.

Sona Alex, Bian Yang

게시일 2026-03-06
📖 4 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

1. 배경: 투명 유리 상자와 마법 같은 계산

상상해 보세요. 여러분은 **비밀 번호 (평문)**를 넣을 수 있는 **투명 유리 상자 (암호문)**를 가지고 있습니다.

  • 기존 방식 (FHMRS): 이 상자는 마법처럼, 안의 비밀 번호를 꺼내지 않고도 상자 밖에서 더하기곱하기 연산을 할 수 있게 해줍니다. 예를 들어, "비밀 번호 5"와 "비밀 번호 3"을 넣은 두 상자가 있다면, 상자 밖에서 두 상자를 합치면 "8"이라는 결과가 나오는 상자가 만들어집니다.
  • 문제점: 이 방식은 계산이 끝난 후, 상자만 열어주면 원래 숫자를 알 수 있습니다. 하지만 이 방식에는 치명적인 구멍이 있었습니다.

2. 발견된 치명적 구멍: "유리 상자"가 너무 커서 안이 다 보이는 상황

논문 2 절에서는 기존 방식의 치명적인 약점을 지적합니다.

  • 상황: 암호화할 때, 비밀 번호에 무작위 숫자 (가상인 '유리 조각') 를 섞어서 넣습니다. 그런데 계산할 수 있는 횟수 (곱셈) 가 많을수록, 이 '유리 조각'이 너무 커져버립니다.
  • 결과: 상자가 너무 커져서, 유리 조각이 상자의 벽 (모듈로 연산) 을 뚫고 나가지 못해 안이 그대로 비치는 상황이 발생합니다.
  • 도둑의 공격 (KPA): 도둑이 "비밀 번호가 5 였고, 암호문은 100 이었다"는 사실을 알면, 100 에서 5 를 빼면 95가 나옵니다. 이 95 는 사실 '비밀 키 (u)'의 배수입니다. 도둑이 여러 개의 이런 데이터를 모으면, **최대공약수 (GCD)**를 구하는 간단한 수학으로 비밀 키 (u) 를 바로 찾아낼 수 있습니다.
  • 비유: 마치 "비밀 번호 5 를 넣었는데, 상자가 너무 커서 '5 + (비밀 키 × 무작위 수)'가 그대로 적혀 있는 것처럼 보이는 상황"입니다. 도둑은 이걸로 열쇠를 쉽게 찾아냅니다.

3. 해결책: 작은 상자로 나누어 담기 (mFHMRS)

저자들은 이 구멍을 막기 위해 **수정된 방식 (mFHMRS)**을 제안합니다. 핵심은 **"상자를 여러 개로 쪼개고, 크기를 조절하는 것"**입니다.

① 상자를 여러 개로 쪼개기 (다중 소수 사용)

  • 기존: 큰 상자 하나 (두 개의 큰 소수 p, q) 만 썼습니다.
  • 수정 후: **N+S 개의 작은 상자 (소수 p1, p2, ...)**를 사용합니다.
  • 비유: 한 번에 큰 상자에 모든 걸 넣지 않고, 비밀 번호를 여러 개의 작은 상자에 나누어 담습니다. 각 상자는 서로 다른 자물쇠 (소수) 로 잠겨 있습니다.

② 유리 조각의 크기 조절 (랜덤 수 크기 조절)

  • 핵심: 도둑이 안을 훔쳐볼 수 없도록, '유리 조각 (랜덤 수)'의 크기를 상자의 벽보다 작게 유지합니다.
  • 원리: 계산이 아무리 복잡해지더라도, 안의 숫자가 상자의 벽을 뚫고 밖으로 튀어나오지 않도록 상자 (소수) 의 크기를 계산 결과보다 충분히 크게 설정합니다.
  • 효과: 도둑이 "100 - 5 = 95"를 구하려 해도, 95 는 더 이상 '비밀 키의 배수'가 아니라 상자 벽에 부딪혀 찌그러진 (나머지 연산된) 숫자가 됩니다. 그래서 최대공약수를 구해도 비밀 키가 나오지 않습니다.

4. 새로운 방식의 작동 원리 (일상적인 비유)

1. 암호화 (Encryption): "비밀 편지 나누기"

  • 비밀 편지 (메시지) 에 무작위 잉크 (랜덤 수) 를 섞습니다.
  • 이 혼합물을 **N+S 개의 작은 유리 병 (소수 p1~pN+S)**에 나누어 담습니다.
  • 각 병은 서로 다른 자물쇠로 잠깁니다. 병 하나만으로는 내용을 알 수 없습니다.

2. 계산 (Homomorphic Operations): "병 밖에서 흔들어 섞기"

  • 도둑은 병을 열지 않고도, 병을 서로 부딪히게 하거나 (곱셈), 같은 병에 다른 물건을 넣는 (덧셈) 연산을 할 수 있습니다.
  • 이때 병 안의 내용물이 섞이기는 하지만, 병의 벽 (모듈로 연산) 이 너무 두꺼워서 내용물이 밖으로 새어 나오지 않습니다.

3. 복호화 (Decryption): "병을 합쳐서 원래 모습 찾기"

  • 정당한 주인은 모든 병 (p1~pN+S) 의 열쇠를 가지고 있습니다.
  • 모든 병을 합치면 (중국인의 나머지 정리, CRT), 원래 섞여 있던 '비밀 편지 + 무작위 잉크'가 완벽하게 재구성됩니다.
  • 마지막에 '무작위 잉크'만 걸러내면 (u 로 나눗셈), 원래의 비밀 편지가 나옵니다.

5. 왜 이 방식이 안전한가? (도둑의 시나리오)

  • 시나리오 1 (직접 뚫기): 도둑이 병 하나만 가지고 있어도, 병이 너무 작고 자물쇠가 복잡해서 내용을 알 수 없습니다.
  • 시나리오 2 (수학으로 풀기): 도둑이 "비밀 번호 5 였고, 병 내용물이 100 이었다"고 알아내도, 100 은 병 벽에 부딪혀 찌그러진 숫자입니다. 그래서 100-5 를 해도 의미 있는 숫자가 나오지 않습니다.
  • 시나리오 3 (격자 공격): 도둑이 병들의 모양을 분석해서 자물쇠를 추측하려 하지만, 저자들은 병의 크기와 무작위 잉크의 크기를 아주 정교하게 설계했습니다. 수학적으로 "너무 짧아서 찾을 수 없는 길"을 만들었기 때문에, 슈퍼컴퓨터를 써도 자물쇠를 뚫을 수 없습니다.

6. 결론: "작은 상자들이 모여 만든 안전한 금고"

이 논문은 **"큰 상자 하나만 믿으면 도둑이 쉽게 뚫는다"**는 사실을 발견하고, **"작은 상자 여러 개를 조합하고 크기를 조절하면 도둑이 아무리 노력해도 뚫을 수 없다"**는 새로운 암호 방식을 제안했습니다.

  • 핵심 메시지: 암호화 기술은 단순히 '잠금장치'를 만드는 것이 아니라, 계산이 일어나는 동안 데이터가 '새어 나오지 않도록' 크기와 구조를 정교하게 설계하는 예술입니다.
  • 실제 효과: 이 방식을 사용하면 클라우드 서버에 비밀 데이터를 올려놓고, 서버가 데이터를 해독하지 않은 채로 분석 (계산) 을 할 수 있게 됩니다. 즉, 내 비밀은 내 것만 알고, 남들은 계산 결과만 볼 수 있는 완벽한 보안이 가능해진 것입니다.

이처럼 mFHMRS는 기존 방식의 구멍을 막고, 수학적으로 더 튼튼한 '다중 소수'와 '크기 조절'이라는 전략으로 암호화의 안전성을 한 단계 업그레이드한 기술입니다.