# 지터라이저 (Jitterizer)

지터라이저(jitterizer)는 선형 난수 생성기가 만든 수열에서 일부 요소를 의사 무작위로 삭제해, 수열의 규칙성을 깨고 예측하기 어렵게 만드는 암호 메커니즘입니다. 새 수를 만들어 내는 생성기가 아니라 기존 생성기의 출력을 솎아 내는 장치라는 점이 핵심입니다. 넓게는 지터(jitter, 불규칙한 흔들림)를 일으켜 패턴을 흐리도록 설계된 메커니즘을 지터라이저라고 부르기도 합니다.

## 왜 필요한가요?

선형 난수 생성기(LRNG)는 단순하고 빠르지만, 그 출력에는 수학적으로 예측 가능한 패턴이 있습니다. 공격자가 출력 일부를 관찰해 생성기의 내부 상태나 규칙을 알아내면 다음에 나올 “무작위” 수를 추측할 수 있으므로, 이런 예측 가능성은 암호에서 약점이 됩니다.

## 작동 방식

- 지터라이저는 선형 난수 생성기의 출력을 받습니다.
- 별도의 독립적인 무작위성 소스(예: 다른 더 복잡한 난수 생성기)를 사용해 원래 수열에서 어느 요소를 건너뛸지(삭제할지) 결정합니다.
- 남은 요소만 내보내므로, 출력 수열에서 각 값이 원래 수열의 몇 번째 값인지 알기 어려워지고 선형 구조가 가려집니다.

비유하자면, 일정한 간격으로 늘어선 줄에서 누군가 일부를 무작위로 빼내는 것과 같습니다. 남은 간격이 불규칙해져 다음 위치를 예측하기 어려워집니다. 같은 원리로 규칙적으로 바뀌는 신호등에서 일부 녹색등을 무작위로 건너뛰면, 패턴을 추적하는 사람은 다음 녹색등을 예측하기 어렵습니다.

## 장점

- **예측 가능성 감소:** 기본 생성기의 결정론적 특성을 가려 결과 수열이 더 무작위적으로 보이게 하고, 공격자가 생성기의 구조를 악용하기 어렵게 만듭니다.
- **간단한 구현:** 핵심 개념이 비교적 단순하여 효율적으로 구현할 수 있습니다.

## 단점

- **진정한 무작위성을 대체할 수 없음:** 출력은 여전히 결정론적인 계산의 결과이며, 기본 생성기의 한계가 사라지지는 않습니다. 보안은 삭제 여부를 정하는 무작위성 소스의 품질에도 달려 있습니다.
- **편향 가능성:** 주의해서 구현하지 않으면 요소 삭제 과정이 출력 수열에 편향을 유발할 수 있습니다.
- **출력 속도 저하:** 생성된 값의 일부를 버리므로 같은 양의 출력을 얻는 데 더 많은 계산이 필요합니다.

## 응용 분야

1. **시뮬레이션:** 단순한 생성기보다 패턴이 덜 드러나는 수열이 필요한 경우.
2. **암호화:** 보다 복잡한 암호 시스템 안의 구성 요소로 쓰이며, 진정한 무작위성을 제공하지 않으므로 단독으로는 거의 사용되지 않습니다.

---
출처: https://achivx.kr/glossary/jitterizer-%EC%A7%80%ED%84%B0-%EC%83%9D%EC%84%B1%EA%B8%B0/ · ACHIVX 용어 사전 · 수정일 2026-10-20
