암호
Cipher![]() |
암호학에서 암호(또는 사이퍼)는 암호화 또는 복호화를 수행하기 위한 알고리즘입니다.이 알고리즘은 절차로 수행할 수 있는 일련의 명확한 단계입니다.또 다른 일반적인 용어는 암호화입니다.암호화 또는 인코딩은 정보를 암호 또는 코드로 변환하는 것입니다.일반적으로 "cipher"는 "code"와 동의어로, 둘 다 메시지를 암호화하는 일련의 단계이기 때문입니다. 그러나 암호학, 특히 고전 암호학에서는 개념이 다릅니다.
일반적으로 코드는 출력에서 다른 길이의 문자열을 대체하지만 암호는 일반적으로 입력과 동일한 수의 문자를 대체합니다.일부 암호 시스템에서는 입력된 숫자에 비해 출력 시 사용되는 문자가 약간 많거나 적을 수 있습니다.
임의의 문자열의 문자 또는 숫자를 단어나 구에 연결하는 큰 코드북에 따라 치환하여 작동하는 코드입니다.예를 들어 "UQJHSE"는 "다음 좌표로 진행"의 코드일 수 있습니다.암호를 사용할 경우 원래 정보는 일반 텍스트로, 암호화된 형식은 암호 텍스트로 알려져 있습니다.암호문 메시지에는 일반 텍스트메시지의 모든 정보가 포함되지만, 해독할 적절한 메커니즘이 없으면 사람 또는 컴퓨터가 읽을 수 있는 형식이 아닙니다.
암호의 동작은 보통 키(기존 NSA 용어로는 암호 해독 가능)라고 불리는 보조 정보에 의존합니다.암호화 순서는 키에 따라 다르며, 이로 인해 알고리즘의 세부 동작이 변경됩니다.암호를 사용하여 메시지를 암호화하기 전에 키를 선택해야 합니다.키를 모르면 암호문을 읽을 수 있는 평문으로 해독하는 것이 불가능하지는 않지만 매우 어려울 것입니다.
대부분의 현대 암호는 여러 가지 방법으로 분류할 수 있다.
- 일반적으로 고정된 크기의 기호 블록(블록 암호) 또는 연속된 기호 스트림(스트림 암호)에 대해 작동하는지 여부에 따라 달라집니다.
- 암호화와 복호화 모두에 동일한 키가 사용되는지(대칭 키 알고리즘), 또는 각각에 다른 키가 사용되는지(대칭 키 알고리즘)에 의해 결정됩니다.알고리즘이 대칭인 경우는, 수신자와 송신자가 키를 알고 있을 필요가 있습니다.알고리즘이 비대칭인 경우 암호화 키는 복호화 키와 다르지만 밀접하게 관련되어 있습니다.한쪽 키를 다른 쪽 키로부터 추론할 수 없는 경우 비대칭 키 알고리즘은 공개 키/비밀 키 속성을 가지며, 어느 한쪽 키를 기밀성을 잃지 않고 공개할 수 있다.
어원학
로마 숫자 체계는 매우 번거로웠다. 부분적으로는 0이라는 개념이 없었기 때문이다.아랍 숫자 체계는 중세 아랍 세계에서 유럽으로 전파되었다.이 전환에서 아랍어로 제로(zero)를 의미하는 단어는 중세 라틴어로 cifra, 중세 프랑스어로 cifre로 채택되었다.이것은 결국 영어 단어 암호로 이어졌다.이 용어가 인코딩을 어떻게 지칭하게 되었는지에 대한 한 이론은 0의 개념이 유럽인들에게 혼란스러웠기 때문에 이 용어가 쉽게 [1]이해되지 않는 메시지나 통신을 지칭하게 되었다는 것이다.
암호라는 용어는 나중에 아라비아 숫자를 가리키거나 이를 사용하여 계산하는 데에도 사용되었습니다. 따라서 아랍 숫자 형식의 텍스트를 인코딩하는 것은 문자 그대로 텍스트를 "ciphers"로 변환하는 것입니다.
코드와 비교
비기술적 용법에서 "(비밀) 코드는 일반적으로 "암호"를 의미합니다.그러나 기술적인 논의에서 "code"와 "cipher"라는 단어는 두 가지 다른 개념을 가리킵니다.코드는 의미 수준에서 기능합니다.즉, 단어 또는 구문이 다른 것으로 변환되고 이 청킹은 일반적으로 메시지를 단축합니다.
예를 들어, 전보 교환을 통해 상업 계약을 체결함으로써 발생하는 긴 전신 메시지를 단축하기 위해 사용된 상용 전신 코드가 이에 해당한다.
또 하나의 예는 단어 전체를 기호나 문자로 대체할 수 있도록 한 통의 암호입니다.이것은 일본인이 한자를 보충하기 위해 사용하는 것과 같습니다.예: "빠른 갈색 여우는 게으른 개를 뛰어넘는다"는 "빠른 갈색 여우는 게으른 개를 뛰어넘는다"가 된다.
반면 암호는 하위 수준에서 작동합니다. 개별 문자의 수준, 작은 문자의 그룹 또는 현대의 방식에서는 개별 비트 및 블록입니다.일부 시스템에서는 보안 강화를 위해 암호와 코드를 모두 사용하여 하나의 시스템에서 사용되었습니다.경우에 따라서는 코드와 암호라는 용어가 대체 및 치환과 동의어로 사용된다.
역사적으로 암호학은 코드와 암호의 이분법으로 나뉘어져 있었고, 암호에 대한 용어인 "encoding, codetext, decoding" 등이 있었다.
그러나 코드에는 암호 해독에 취약하거나 번거로운 코드북을 관리하는 데 어려움을 겪는 등 다양한 단점이 있습니다.그 때문에, 현대의 암호학에서는 코드가 사용되지 않게 되어, 암호화가 지배적인 기술이다.
종류들
암호화에는 다양한 유형이 있습니다.암호학 역사에서 초기에 사용된 알고리즘은 현대의 방법과 크게 다르며, 현대의 암호는 그 작동 방식과 하나 또는 두 개의 키를 사용하는지에 따라 분류할 수 있다.
이력
과거에 사용된 역사적인 펜과 종이 암호는 때때로 고전 암호로 알려져 있다.여기에는 단순한 대체 암호(ROT13 등)와 전치 암호(레일 펜스 암호 등)가 포함됩니다.예를 들어 "GOOD DOG"를 "PLLX XLP"로 암호화할 수 있습니다. 여기서 "L"은 "O", "P"는 "G", "X"는 "D"를 나타냅니다."GOOD DOG" 글자를 바꾸면 "DGDOGDO"가 발생할 수 있습니다.이러한 간단한 암호와 예는 일반 텍스트와 암호의 [2]쌍이 없어도 쉽게 해독할 수 있습니다.
단순한 암호는 모든 글자의 대체 알파벳을 바꾸는 폴리알파벳 대체 암호(비제네르네르)로 대체되었다.예를 들어 "GOOD DOG"는 "PLSX TWF"로 암호화할 수 있습니다. 여기서 "L", "S" 및 "W"는 "O"를 대체합니다.알려진 평문이나 추정된 평문을 소량만 사용해도 간단한 폴리알파벳 치환 암호 및 펜 및 종이 암호용으로 설계된 문자 이동 암호는 쉽게 [3]해독할 수 있습니다.단, 원타임 패드를 기반으로 안전한 펜과 종이 암호를 작성할 수 있지만, 원타임 패드의 일반적인 단점이 적용됩니다.
20세기 초, 전자 기계 기계는 전치, 폴리알파벳 치환, 그리고 일종의 "가법적" 치환을 사용하여 암호화와 복호화를 하기 위해 발명되었다.로터 기계에서는 여러 로터 디스크가 폴리알파벳 대체를 제공했고 플러그 보드는 또 다른 대체를 제공했습니다.로터 디스크와 플러그보드 와이어를 바꾸면 키를 쉽게 변경할 수 있습니다.이러한 암호화 방법은 이전의 방식보다 더 복잡하고 암호화와 복호화에 필요한 기계였지만, 이러한 암호화 방법을 해독하기 위해 British Bombe와 같은 다른 기계들이 발명되었습니다.
현대의
최신 암호화 방식은 사용된 키 유형과 입력 데이터 유형별로 두 가지 기준으로 나눌 수 있습니다.
사용된 암호의 유형에 따라 다음과 같이 나뉩니다.
대칭키 알고리즘(DES 나 AES 등)에서는, 송신측과 수신측은 공유키를 사전에 셋업 해, 다른 모든 당사자로부터 비밀을 유지할 필요가 있습니다.송신측은 암호화에 이 키를, 수신측은 복호화에 같은 키를 사용합니다.Feistel 암호는 치환과 전치 기법의 조합을 사용합니다.대부분의 블록 암호 알고리즘은 이 구조에 기초하고 있습니다.비대칭 키 알고리즘(예를 들어 RSA)에는 2개의 개별 키가 있습니다.공개 키가 공개되어 임의의 송신자가 암호화를 실행할 수 있는 반면 개인 키는 수신자에 의해 기밀로 유지되어 그 사람만이 올바른 복호화를 실행할 수 있습니다.
암호는 입력 데이터의 유형에 따라 다음 두 가지 유형으로 구분할 수 있습니다.
키 크기 및 취약성
순수 수학적인 공격(즉, 암호를 해독하는 데 도움이 되는 다른 정보가 없음)에서는, 모든 카운트를 넘는 다음의 2개의 요소가 있습니다.
- 사용 가능한 계산 능력, 즉 문제를 해결할 수 있는 계산 능력.단일 컴퓨터의 평균 성능/용량만 고려해야 하는 것은 아닙니다.예를 들어, 한 번에 여러 대의 컴퓨터를 사용하여 키(즉, "강력한" 공격)에 대한 철저한 검색 속도를 크게 높일 수 있습니다.
- 키 크기(메시지 암호화에 사용되는 키 크기).키의 크기가 커짐에 따라 완전한 검색의 복잡성도 증가하여 암호화를 직접 크래킹하는 것이 실용적이지 않게 됩니다.
원하는 효과가 계산 난이도이기 때문에 이론적으로는 알고리즘과 원하는 난이도를 선택하고 그에 따라 키 길이를 결정한다.
이 프로세스의 예는 여러 보고서를 사용하여 128비트의 대칭 암호, 3072비트의 비대칭 암호 및 256비트의 타원 곡선 암호 모두 현재 동일한 어려움을 겪고 있음을 시사하는 키 길이에서 찾을 수 있습니다.
Claude Shannon은 정보이론의 고려사항을 사용하여 이론적으로 해독할 수 없는 암호는 적어도 평문과 같은 길이의 키를 가져야 하며, 단 한 번만 [4]사용되어야 한다는 것을 증명했다.
「 」를 참조해 주세요.
메모들
- ^ Ali-Karamali, Sumbul (2008). The Muslim Next Door: The Qur'an, the Media, and That Veil Thing. White Cloud Press. pp. 240–241. ISBN 978-0974524566.
- ^ Saltzman, Benjamin A. "Ut hkskdkxt: Early Medieval Cryptography, Textual Errors, and Scribal Agency (Speculum, forthcoming)". Speculum. 93 (4): 975. doi:10.1086/698861. S2CID 165362817.
- ^ Stinson, 페이지 45 : (
- ^ "Communication Theory of Secrecy Systems" (PDF). Archived from the original (PDF) on June 5, 2007. Retrieved February 3, 2019.
레퍼런스
- 리처드 J. 알드리치, GCHQ: 2010년 7월, 영국의 가장 비밀 정보 기관인 하퍼콜린스의 검열되지 않은 이야기.
- Helen Fouché Gaines, "암호분석", 1939년, 도버.ISBN 0-486-20097-3
- 이브라힘 A. Al-Kadi, "암호학의 기원:아랍의 공헌", Cryptologia, 16(2)(1992년 4월) 페이지 97~126.
- 데이비드 칸, 코드브레이커 - 비밀의 글쓰기 이야기 (ISBN 0-684-83130-9) (1967)
- 데이비드 A. 왕, 승려들의 암호 - 중세 잊혀진 숫자 표기법, 슈투트가르트: Franz Steiner, 2001 (ISBN 3-515-07640-9)
- Abraham Sinkov, Elementary Cryptomanalysis: A Mathematical Approach, America Mathematical Association, 1966.ISBN 0-88385-622-0
- William Stallings, 암호 및 네트워크 보안, 원칙 및 관행, 제4판
- Stinson, Douglas R. (1995), Cryptogtaphy / Theory and Practice, CRC Press, ISBN 0-8493-8521-0
외부 링크
