# 애벌랜치 효과 (Avalanche Effect)

애벌랜치 효과(avalanche effect, 눈사태 효과)는 블록 암호나 해시 함수에서 입력(평문이나 키) 1비트만 바뀌어도 여러 라운드를 거치며 변화가 번져, 결국 출력 비트의 약 절반이 예측할 수 없게 바뀌는 성질입니다. 작은 눈덩이가 산사태가 되는 모습에 빗댄 이름이며, 이 용어집의 'Avalanche'는 같은 이름의 블록체인 플랫폼이 아니라 이 암호학 성질을 가리킵니다.

## 자세히 알아보기

라운드 구조의 암호에서는 한 비트의 변화가 첫 라운드 뒤 몇 비트로, 다음 라운드 뒤 더 많은 비트로 퍼집니다. 호르스트 파이스텔(Horst Feistel)은 1973년 Scientific American 기고문에서 이를 눈사태에 비유했습니다. 이상적인 암호라면 충분한 라운드 이후 각 출력 비트가 바뀔 확률이 50%에 가까워야 합니다. 입력이 조금만 바뀌어도 출력이 크게 달라지므로, 이 성질은 원래 입력을 역추적하기 어렵게 하고 데이터 변조를 쉽게 드러내 무결성 확인에도 도움이 됩니다.

이를 더 엄밀하게 정의한 것이 엄격한 애벌랜치 기준(SAC, Strict Avalanche Criterion)입니다. 입력의 어떤 한 비트를 뒤집어도 각 출력 비트가 1/2 확률로 바뀌어야 한다는 조건으로, S-박스 설계 평가에 쓰입니다. 애벌랜치 효과는 섀넌이 말한 확산(diffusion)이 잘 이루어졌다는 증거이며, 이 성질이 약하면 차분 공격 등으로 입력과 출력의 관계를 추적당할 수 있습니다.

애벌랜치 효과는 필요조건일 뿐 안전성의 증명은 아닙니다. 출력이 무작위처럼 보여도 다른 구조적 약점이 있을 수 있습니다.

실무에서는 새 S-박스나 해시 설계를 평가할 때 무작위 입력 쌍을 대량으로 만들어 비트 변화 비율을 통계적으로 검사합니다. 결과가 50%에서 크게 벗어나거나 특정 비트에 편향이 있으면 설계를 다시 검토합니다.

## 블록체인·암호화폐에서는

비트코인의 SHA-256, 이더리움의 Keccak-256은 강한 애벌랜치 효과를 가집니다. 블록 헤더의 논스를 1만 바꿔도 해시값이 완전히 달라지므로, 채굴자는 조건을 만족하는 해시를 찾기 위해 무작위 대입을 반복할 수밖에 없습니다. 트랜잭션 내용이 한 글자만 달라져도 TXID가 전혀 다른 값이 되는 것도 같은 이유입니다.

이더리움 주소도 공개 키를 Keccak-256으로 해시해 만들기 때문에, 비슷한 개인 키라도 전혀 다른 주소가 나옵니다. 이것이 주소만 보고 소유자의 다른 주소를 추정할 수 없는 이유 중 하나입니다.

## 쉽게 말하면

반죽에 물감 한 방울을 떨어뜨렸는데, 몇 번 치대고 나면 반죽 전체의 색이 바뀌는 것과 같습니다.

## 예시

SHA-256("abc")와 SHA-256("abd")는 입력이 한 글자만 다르지만, 256비트 출력 중 평균 128비트 정도가 서로 다릅니다.

---
출처: https://achivx.kr/glossary/avalanche-effect-%EB%88%88%EC%82%AC%ED%83%9C-%ED%9A%A8%EA%B3%BC/ · ACHIVX 용어 사전 · 수정일 2026-10-20
