SHAKE는 SHA-3 표준에 포함된 확장 출력 함수 계열이다. SHAKE128과 SHAKE256이 있으며 필요한 출력 길이를 지정한다.
원리
고정 길이 해시와 달리 출력 길이를 사용 문맥에서 정한다. 이름의 숫자는 출력 비트 수 자체를 뜻하지 않는다.
예시
SHAKE128에서 256비트 출력을 요청할 수 있다. 프로토콜은 알고리즘 이름뿐 아니라 출력 길이와 입력 인코딩도 함께 정해야 한다.
주의할 점
출력을 길게 만든다고 보안 강도가 무한히 증가하지 않는다. 같은 입력의 짧은 출력은 긴 출력의 앞부분과 관계가 있으므로 서로 다른 용도로 쓸 때에는 표준화된 도메인 분리 방식을 따른다.