
초보자를 위한 설명: MPC 암호화
자, 여러분이 모든 돈을 넣어두는 저금통이 하나 있다고 상상해 보세요. 다른 사람이 여러분이 돈을 얼마나 가지고 있는지 알기를 원치 않으므로, 저금통에 열쇠를 걸어 잠급니다.
이 자물쇠는 암호화와 같습니다. 돈을 안전하게 지켜주어, 오직 당신만이 열쇠를 사용해 안에 무엇이 있는지 확인할 수 있게 해줍니다.
자, 여러분과 친구들이 모두 저금통을 가지고 있는데, 모두의 돈을 합쳐서 총 얼마인지 알고 싶지만 아무도 자신의 금액을 밝히고 싶어 하지 않는다고 가정해 봅시다. 보통이라면 저금통을 열어 서로 돈을 보여줘야겠지만, 그렇게 하면 다른 사람들이 여러분이 가진 돈을 모두 알게 되겠죠.
이때 ‘다자간 연산(Multi-Party Computation)’이라 불리는 특정 유형의 암호화 기술이 등장합니다. MPC는 이해하기 그리 어렵지 않으며, 아래에서 이를 쉽게 설명해 드리겠습니다.
큰 틀에서 보면, 이 방법은 누구도 저금통을 열지 않고도 총 금액을 함께 계산해 낼 수 있는 기발한 방법을 제공합니다.
왜 이런 걸 원하시나요?
실생활에서는 개인이나 기업이 개인정보를 공개하지 않고 협력해야 하는 경우가 많습니다. 예를 들면 다음과 같습니다:
- 유권자들은 자신의 개별 투표 내용이 공개되지 않은 상태에서 공식적인 선거 결과를 신뢰하기를 원한다.
- 각 은행은 고객 정보를 보호하면서 전략적 결정을 내리고자 합니다. 예를 들어, 업계 동향을 분석하거나 사기 탐지 시스템을 개선하는 것이죠.
- 각 기업은 더 나은 의사결정을 위해 통합할 수 있는 방대한 정보를 보유하고 있습니다. 예를 들어, 의료 진단 분야는 이러한 정보를 비공개로 유지해야 하는 동시에 이를 통해 막대한 혜택을 얻을 수 있습니다.
MPC는 누구나 쉽게 도입할 수 있는 빠르고 안전하며 비용 효율적인 방식으로 매우 다양한 활용 사례를 가능하게 합니다.
간단히 말해서:
- 암호화는 마치 저금통에 자물쇠를 채워서 아무도 안에 무엇이 있는지 볼 수 없게 하는 것과 같습니다.
- MPC는 마치 친구들과 함께 저금통을 열지 않고도 각자 얼마나 많은 돈을 가지고 있는지 알아내는 것과 같습니다.
- 이 예시가 어떻게 작동하는지 이해하면, MPC가 다른 다양한 사용 사례에 적용될 때 어떻게 작동하는지 파악할 수 있습니다.
암호화가 왜 필요한지 이해하셨으니, 이제 저금통 예시를 통해 MPC가 어떻게 작동하는지 자세히 알아보겠습니다.
저금통: MPC의 실제 작동 원리
저금통 예시를 들어보자. 다섯 사람이 각자의 금액을 비밀로 유지한 채 전체 금액을 어떻게 알아낼 수 있을까?
작동 방식은 다음과 같습니다:
- 비밀 숫자 더하기: 모두 원을 만들고, 각자 비밀 숫자를 정한 뒤 그 숫자를 저금통에 있는 돈에 더합니다. 예를 들어, 저금통에 10달러가 있고 비밀 숫자로 7을 골랐다면, 다음 사람에게 17달러가 있다고 말합니다.
- ‘전해 주세요’: 다음 사람은 똑같이 하고, 이 금액 에 당신이 준 금액(17달러)을 더한 뒤 다음 사람에게 전달합니다. 만약 그 사람이 20달러를 가지고 있고 비밀번호로 3을 선택했다면, 23달러를 받게 됩니다. 여기에 당신이 준 17달러를 더하면 총 40달러가 되며, 그 사람은 이 금액을 다음 사람에게 알려줍니다.
- 최종 계산: 이 과정은 그룹의 모든 구성원이 한 번씩 기여할 때까지 계속되며, 결국 모든 구성원의 숫자와 모든 비밀 숫자가 합쳐진 총합이 도출됩니다.
각 참가자가 자신만의 비밀번호를 정했으며, 정해진 비밀번호는 참가자들끼리 서로 공유되지 않는다는 점을 유의해야 합니다.
다음은 그 예시입니다:

최종 금액은 93달러입니다. 하지만 모든 숫자가 비밀번호로 뒤섞여 있기 때문에, 다른 사람이 얼마를 가지고 있는지 아무도 모른다는 점을 기억하세요.
마지막 단계는 비밀번호를 제거하는 것입니다.
실제 총액을 산출하기 위해, MPC 기술은 각 개인의 비밀 번호가 안전하고 비공개적인 방식으로 차감되도록 보장합니다. 즉, 최종적으로 공개되는 금액은 모든 사람의 저금통에 들어 있는 돈을 합친 총액이지만, 개별 금액은 비공개로 유지됩니다. 누구도 다른 사람의 비밀 번호나 저금통에 들어 있는 금액을 알아낼 수 없습니다.
왜 멋진가:
- 아무도 다른 사람의 정확한 금액을 알 수 없다. 보이는 건 뒤섞인 숫자들뿐이다.
- 비밀을 누설하지 않고도 총액을 알 수 있습니다!
MPC도 비슷한 원리로 작동하지만, 저금통 대신 데이터를 보호하는 데 초점을 맞춥니다. 여러 사람(또는 컴퓨터)이 서로의 개인 정보를 볼 수 없는 상태에서 함께 협력하여 문제를 해결합니다. 마치 마법 같지만, 사실은 정말 기발한 수학적 원리 덕분입니다!
자, 방금 본 예시는 단순한 것이었지만, 실제로는:
- 더 복잡한 정보가 있을 수도 있습니다
- 사용자 수가 더 늘어날 수도 있습니다
- 거짓말을 하는 사람들이 있을 수도 있습니다
- 우리는 속도가 빠를 필요가 있을지도 모릅니다(정말 엄청나게 빠르다는 뜻으로요)
하지만 일반적인 개념은 여전히 유효합니다.
또한 MPC는 개인정보를 보호한 상태에서 데이터를 처리하는 데 있어 전반적으로 가장 우수한 방법이라는 점을 주목할 필요가 있습니다. 처리 속도가 빠르고 비용이 저렴하며, 다양한 유형의 기업과 활용 사례에 적용할 수 있습니다.
사실, 그 이유에 대해서는 최근 블로그 게시물에서 자세히 다룬 바 있습니다. 더 자세한 내용은 MPC를 다룬 최근 화이트보드 세션도 확인해 보시기 바랍니다.
MPC로 개발을 시작해 보세요!
MPC는 개인 데이터를 노출하지 않고도 그룹이 협업할 수 있게 해주는 혁신적인 기술입니다. 은행이 고객 정보를 공개하지 않고 시장 동향을 공유하든, 기업들이 프로젝트를 위해 협력하든, MPC는 모든 상황을 처리하면서도 정보의 기밀성을 보장합니다.
MPC는 각 개인의 정보를 숨기고 최종 결과만 공개함으로써, 여러 당사자가 관여하는 경우에도 개인정보와 기밀을 보장하는 강력한 도구입니다.
MPC를 활용한 개발을 시작하는 방법에 대해 더 자세히 알고 싶으시다면, 지금 바로 문의해 주세요!











.jpg)
