충돌 저항 안전 합산 프로토콜 시뮬레이션
초록
본 논문은 Shukla 등이 제안한 충돌 저항 Secure Sum 프로토콜을 Visual C++로 구현하고, 파라미터 변화를 통해 데이터 유출 확률을 실험적으로 측정한다. 이와 함께 이론적 시간·공간 복잡도를 도출하고 실험 결과와 비교한다.
상세 분석
Secure Sum은 다수의 참여자가 각자 비밀 입력값을 가지고 전체 합을 공개하고자 할 때, 개별 입력을 노출하지 않도록 설계된 대표적인 SMPC(secure multi‑party computation) 기법이다. 기존 연구에서는 주로 암호학적 해시와 동형암호를 활용해 보안성을 확보했으나, 충돌 저항성을 명시적으로 고려한 설계는 드물다. Shukla 등이 제안한 프로토콜은 각 참여자가 임의의 난수를 사용해 자신의 입력에 “마스크”를 입힌 뒤, 마스크값을 서로 교환하고 최종적으로 마스크를 제거하는 방식으로 충돌(두 참가자가 동일한 마스크값을 선택해 공격자가 입력을 추론할 가능성)을 최소화한다. 논문은 이론적 모델을 바탕으로 마스크 선택 공간을 2^k 로 정의하고, k값이 증가할수록 충돌 확률이 지수적으로 감소함을 증명한다.
구현 단계에서는 Visual C++와 Win32 API를 이용해 네트워크 소켓 기반의 P2P 통신 모듈을 작성하였다. 각 노드는 독립적인 스레드에서 난수 생성기(Mersenne Twister)를 호출해 64비트 마스크를 생성하고, 이를 XOR 연산으로 입력값에 결합한다. 마스크 교환은 비동기식 전송으로 구현돼, 네트워크 지연과 패킷 손실을 고려한 재전송 로직이 포함된다. 실험에서는 참여자 수 n을 3, 5, 7, 10으로 변동시키고, 마스크 비트 길이 k를 32, 48, 64로 조정해 데이터 유출 확률(즉, 충돌 발생 확률)을 측정하였다. 결과는 이론적 확률 1/2^k 와 매우 높은 일치도를 보였으며, 특히 k ≥ 48 일 때 실험적 충돌 발생은 0에 수렴했다.
시간 복잡도 측면에서는 마스크 생성 O(1), 마스크 교환 O(n) · latency, 최종 합산 O(n) 로 분석된다. 실험적으로는 n이 10까지 증가해도 평균 실행 시간은 12 ms 이하로 유지돼, 네트워크 지연이 주요 병목임을 확인했다. 공간 복잡도는 각 노드당 입력값, 마스크, 중간 합계 등 O(n) 메모리를 사용한다. 프로토콜은 충돌 저항성을 확보하면서도 기존 Secure Sum 대비 연산·통신 오버헤드가 15 % 정도 증가하는 것으로 나타났다.
한계점으로는 현재 구현이 동기식 단일 스레드 환경에 국한돼 대규모 클라우드 환경에서의 확장성을 검증하지 못했다는 점이다. 또한 난수 생성기의 품질에 따라 충돌 확률이 좌우되므로, 보안 수준을 높이기 위해 하드웨어 기반 TRNG(Truly Random Number Generator)와의 연동이 필요하다. 향후 연구에서는 프로토콜을 블록체인 기반 합의 메커니즘과 결합해 탈중앙화 환경에서도 충돌 저항성을 유지할 수 있는 방안을 모색할 예정이다.
댓글 및 학술 토론
Loading comments...
의견 남기기