암호 (암호학)
From Wikipedia, the free encyclopedia
암호(한자:暗號 영어:cipher 또는 cypher)는 정보를 이해할 수 없도록 암호화 하거나 다시 해독하기 위한 일련의 단계를 정의한 알고리즘이다.
코드를 통한 인코딩과 암호(cipher)를 통한 암호화(encipher)는 둘다 본래 뜻이 알 수 없게 한다는 점에서 같은 의미로 볼 수 있다. 그러나 암호학, 특히 비밀을 유지하기 위한 고전적인 암호학 관점에서는 두 개념이 서로 다르다.
코드는 일반적으로 여러 코드를 모아놓은 코드 사전을 통해 단어나 문장을 대체한다. 예를 들어 "UQJHSE"라는 코드는 "다음 장소로 이동하시오"라는 뜻으로 대체될 수 있다. 그러나 암호(cipher)는 일반 문장을 전혀 이해할 수 없는 글자들로 바꾸며, 적절한 변환 과정을 거치지 않으면 사용할 수 없는 형태가 된다.
암호(cipher)의 과정은 일반적으로 암호를 구성하고 해독하는 키(key 또는 미국 NSA에서는 cryptovariable라 부른다)라 불리는 부가적인 정보를 통해 이루어진다. 암호(cipher)를 사용하여 메시지를 암호화하려면 먼저 키를 정해야한다. 키 없이 암호를 해독하는 것은 매우 어렵다. 그러나 불가능한 것은 아니다.
현대적인 암호(cipher)는 몇 가지 방법으로 분류할 수 있다.