Elliptic Curve Integrated Encryption Scheme (ECIES)가 무엇인가요?
Elliptic Curve Integrated Encryption Scheme (ECIES)는 공개 키 트릭과 빠른 대칭 암호를 혼합한 하이브리드 암호화 방법으로, 메시지를 비공개로 유지하고 변조 방지를 돕습니다. 메시지에 맞춤형 원타임 자물쇠를 만든 다음, 속도에 초점을 맞춘 암호로 빠르게 포장하고, 누가 보았는지 여부를 보여주는 도장을 더한 형태로 생각하면 됩니다.
“ECIES는 데이터를 곧장 커브로 암호화한다.”는 말은 완전히 맞지 않습니다. elliptic curve cryptography (ECC)를 사용해 공유 비밀을 합의한 다음, 무거운 작업은 대칭 암호와 메시지 인증 코드에 넘깁니다.
elliptic Curve Integrated Encryption Scheme (ECIES)가 작동하는 방식
앨리스가 체인에서 또는 월렛을 통해 밥에게 비공개 메모를 보내는 모습을 상상해 보세요. Elliptic Curve Integrated Encryption Scheme (ECIES)는 그들에게 새로 만든 일회 비밀을 빠르게 설정해 주고, then 메시지를 포장합니다.
- 1단계: 밥은 공개 키를 가지고 있습니다. 앨리스는 밥에게 비밀 메시지를 보내고자 합니다.
- 2단계: 앨리스는 새로 생성한 임시 키 쌍을 만들어 elliptic curve Diffie-Hellman (ECDH)를 사용해 밥의 공개 키와 공유 비밀을 형성합니다.
- 3단계: 앨리스는 그 비밀을 키 파생 함수에 입력해 암호화 키와 무결성 키 두 개를 얻습니다.
- 4단계: 앨리스는 AES 같은 빠른 암호로 메시지를 암호화합니다.
- 5단계: 앨리스는 암호문과 메타데이터 위에 태그를 생성하고, 임시 공개 키, 암호문, 태그 세 가지를 밥에게 보냅니다.
밥은 같은 비밀을 얻기 위해 수학적 절차를 되풀이하고 메시지를 해독합니다. 깔끔하고 빠릅니다.
왜 Elliptic Curve Integrated Encryption Scheme (ECIES)가 중요할까요
당신이 관심을 갖는 이유는 느려지거나 번거로운 조정 없이도 private 데이터를 비공개로 유지하기 때문입니다. 필요할 때 компакт 키와 강력한 무결성 체크가 필요한 현대의 암호학에서 자주 쓰이는 패턴입니다.
- 장점: 작은 키와 빠른 성능으로 강력한 프라이버시를 제공, 스마트폰에서도.
- 관점: 하이브리드 설계로 커브의 강점과 대칭 암호의 강점을 결합해 현재의 월렛, 노드, 경량 클라이언트 구성에 적합합니다.
- 관련성: 월렛 간 메시지, P2P 핸드셰이크, dApps 및 DAOs의 암호화된 메모 등에 활용됩니다.
매번 새로운 난수성을 생성합니다. Elliptic Curve Integrated Encryption Scheme (ECIES)로 메시지마다 새로운 임시 키를 항상 생성하고, 감사된 라이브러리에 의존하세요. 재사용은 비밀 누출의 원인입니다.
Elliptic Curve Integrated Encryption Scheme (ECIES)의 주요 특징
월렛 코드 작성이나 검토 시 눈에 띄는 특징은 다음과 같습니다:
- 하이브리드: 키 합의용 커브, 속도를 위한 대칭 암호, 무결성을 위한 태그.
- 간결: 작은 공개 키와 짧은 메시지에 강력한 보안을 담습니다.
- 전 Forward: 임시 키를 새로 생성하면, 오래된 메시지라도 나중에 장기 키가 누출되더라도 안전합니다.
- 이식 가능: 암호화 방식을 교체할 수 있는 구성 요소들(암호화 알고리즘, KDF, 태그 알고리즘)이 많은 생태계에 적합합니다.
Variations
다른 스택은 ECIES를 서로 다른 부품으로 연동합니다. 흔히 보게 되는 다이얼은 다음과 같습니다:
- Curves: 키 합의 단계에서 secp256k1, P 256, 또는 X25519.
- Ciphers: 한 번 암호화와 태그를 위한 AES GCM 또는 두 부분 방식의 AES CBC와 HMAC.
- KDF: 공유 비밀을 작동 가능한 키로 변환하는 HKDF 또는 KDF2.
- Encoding: 압축되거나 압축되지 않은 공개 키, 태그에 대한 선택적 연관 데이터 포함.
Elliptic Curve Integrated Encryption Scheme (ECIES)는 기밀성과 무결성을 제공하지만 서명은 제공하지 않습니다. 발신자 인증이 필요하면 그 위에 서명을 추가하세요.
Example
이더리움 클라이언트는 ECIES 스타일 핸드셰프로 세션을 부트스트랩한 뒤, 진행되는 트래픽에 대해 빠른 스트림 암호로 전환하여 비공개적으로 서로 대화합니다.
Fun Fact
ECIES는 종종 KEM plus DEM으로 가르쳐지는데, 즉 키 인캡슐레이션 plus 데이터 암호화라는 뜻입니다. 롤렉스가 레딧 스레드와 만나는 모습: 키를 위한 우아한 수학과 페이로드를 위한 실용적인 암호화로, 모두 제 시간에 집으로 돌아온다라는 비유입니다.
Wrap-Up
짧은 요약: Elliptic Curve Integrated Encryption Scheme (ECIES)는 새 비밀을 공유하고, 빠르게 암호화하며, 메시지에 누군가가 손대지 않았음을 증명하는 방법입니다. 간단하고 강력하며 생산 환경에 맞춰 사용할 수 있습니다.