검수요청.png검수요청.png

에스박스

위키원
sms1208 (토론 | 기여)님의 2020년 1월 8일 (수) 09:44 판
이동: 둘러보기, 검색

에스박스(S-box, substitution box)는 암호학 분야의 하나의 기본 패킷으로서 그 기능은 데이터의 비선형 치환을 실현하는 것이다. 암호학에서 에스박스는 대체를 수행하는 대칭 키 알고리즘의 기본 구성요소이다. 블록 암호에서는 일반적으로 키와 암호텍스트(섀넌의 혼란 속성)사이의 관계를 모호하게 하는데 사용된다.

일반적으로 S-box는 몇 개의 입력 비트 m을 취하여 일부 출력 비트수 n으로 변환한다. 여기서 n은 반드시 m과 동일하지 않다. m×n S-box는 각각 2m 단어의 n비트로 구성된 룩업 테이블로 구현될 수 있다. 고정 테이블은 데이터 암호화 표준(DES, Data Encryption Standard))에서와 같이 일반적으로 사용되지만, 일부 암호에서는 테이블이 키(예: Blowfish 및 Twofish 암호화 알고리즘)에서 동적으로 생성된다.

고정 테이블의 좋은 예로는 DES(S5)에서 S-box를 들 수 있으며, 6비트 입력을 4비트 출력에 매핑한다.

설명
 

6비트 입력이 주어지면, 4비트 출력은 바깥쪽 2비트(첫 번째 비트 및 마지막 비트)를 사용하여 행을 선택하고, 안쪽 4비트를 사용하여 열을 선택하여 찾을 수 있다. 예를 들어, 입력 "011011"은 외부 비트 "01"과 내부 비트 "1101"을 가지고 있으며, 해당 출력은 "1001"이 될 것이다.

DES의 8개의 S-box는 설계자만이 알고 있는 취약성이 암호에 심어졌을지도 모른다는 우려 때문에 수년 동안 집중적인 연구의 대상이었다. S-box 설계기준은 결국 차등암호분석의 일반적 재발견 후에 발표되었고(Copersmith 1994) 이러한 특정 공격에 대한 저항을 증가시키기 위해 세심하게 조정되었음을 보여준다. Biham과 Shamir는 S-box를 조금만 수정해도 DES를 크게 약화시킬 수 있다는 것을 발견했다.

동영상

참고자료

같이 보기


  검수요청.png검수요청.png 이 에스박스 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.