SEED 편집하기
최신판 | 당신의 편집 | ||
103번째 줄: | 103번째 줄: | ||
=== 엔디안 === | === 엔디안 === | ||
− | 컴퓨터 메모리의 바이트를 배열하는 순서를 | + | 컴퓨터 메모리의 바이트를 배열하는 순서를 엔디안이라고 부른다. 엔디안은 보통 큰 단위가 앞에 나오는 빅 에디안, 작은 단위가 앞에 나오는 리틀 엔디안, 두 경우에 속하지 않거나 둘 모두를 지원하는 미들 엔디안으로 분류된다. 현재 [[빅 엔디안]]과 [[리틀 엔디안]]이 많이 사용되지만, 일반적인 데스크탑에서는 [[x86]] 아키텍처를 많이 사용하고 있고 x86 아키텍처는 리틀 엔디안 구조를 사용하기 때문에, 한국인터넷진흥원에서는 기본적으로 리틀 엔디안을 적용한 SEED 소스 코드를 배포하고 있다. 엔디안은 암호 알고리즘을 구현할 때 중요하게 고려해야 할 문제 중 하나인데, 대부분의 암호 알고리즘은 비트 단위로 연산을 처리하기 때문에 바이트 배열이 서로 맞지 않으면 같은 알고리즘으로 같은 메시지를 암호화하더라도 서로 다른 암호문을 생성할 수 있다. 자바 가상머신은 기본적으로 빅 엔디안은 사용하기 때문에 자바 소스 코드에서는 엔디안에 기본적으로 빅 엔디안이 설정되어 있는데, 상황에 따라 사용자는 시스템의 엔디안에 맞게 수동으로 선택해 주어야만 한다. |
=== 데이터 형식 === | === 데이터 형식 === |