암호화

alt=텍스트가 무의미한 내용으로 변환되었다가 원래대로 되돌아온다.|thumb|300x300px|가장 널리 사용되는 암호화 형태 중 하나인 공개 키 암호화의 간단한 그림

암호학에서 **암호화**(暗號化) 또는 **인크립션**(encryption, 더 구체적으로는 부호화)은 이상적으로는 승인된 당사자만이 해독할 수 있는 방식으로 정보를 변환하는 과정이다. 이 과정은 평문으로 알려진 정보의 원본 표현을 암호문으로 알려진 대체 형식으로 변환한다. 목표에도 불구하고 암호화 자체는 간섭을 방지하지 않지만, 가로채는 사람이 이해할 수 있는 내용을 거부한다.

기술적인 이유로, 암호화 체계는 일반적으로 알고리즘에 의해 생성된 유사난수 암호화 키를 사용한다. 키를 소유하지 않고도 메시지를 해독할 수 있지만, 잘 설계된 암호화 체계의 경우 상당한 컴퓨팅 리소스와 기술이 필요하다. 승인된 수신자는 발신자가 수신자에게 제공하지만, 승인되지 않은 사용자에게는 제공하지 않는 키로 메시지를 쉽게 해독할 수 있다.

역사적으로 다양한 형태의 암호화가 암호학을 돕기 위해 사용되었다. 초기 암호화 기술은 종종 군사 메시지에 사용되었다. 그 이후로 새로운 기술이 등장하여 현대 컴퓨팅의 모든 영역에서 일반화되었다. 현대 암호화 체계는 공개 키 및 대칭 키의 개념을 사용한다. 현대 암호화 기술은 현대 컴퓨터가 암호화를 해독하는 데 비효율적이기 때문에 보안을 보장한다.

## 역사

### 고대
가장 초기의 암호화 형태 중 하나는 기호 대체이며, 이는 기원전 1900년 이집트에 살았던 크눔호테프 2세의 무덤에서 처음 발견되었다. 기호 대체 암호화는 "비표준"이며, 이는 기호를 이해하려면 암호 또는 키가 필요하다는 것을 의미한다. 이러한 종류의 초기 암호화는 고대 그리스와 로마에서 군사 목적으로 사용되었다. 가장 유명한 군사 암호화 개발 중 하나는 카이사르 암호였는데, 여기서 평문 문자는 알파벳을 따라 고정된 수만큼 이동하여 인코딩된 문자를 얻었다. 이러한 유형의 암호화로 인코딩된 메시지는 카이사르 암호에서 고정된 숫자로 해독될 수 있었다.***'

서기 800년경 아랍 수학자 [[킨디]]는 카이사르 암호를 포함한 [[암호 (암호학)|암호]]를 체계적으로 해독하려는 시도인 [[빈도분석 (암호)|빈도 분석]] 기술을 개발했다. 이 기술은 암호화된 메시지의 문자 빈도를 조사하여 적절한 이동을 결정했다. 예를 들어, 영어 텍스트에서 가장 흔한 문자는 E이며 따라서 암호문에서 가장 흔하게 나타나는 문자로 표현될 가능성이 높다. 이 기술은 [[알칼카샨디]] (1355–1418)와 [[레온 바티스타 알베르티]] (1465년)가 설명한 [[다중알파벳 암호]]에 의해 무효화되었는데, 이 암호는 그러한 분석을 혼란시키기 위해 암호화가 진행됨에 따라 대체 알파벳을 변경했다.

=== 19세기–20세기 ===
1790년경 [[토머스 제퍼슨]]은 군사 통신의 더 안전한 방법을 제공하기 위해 메시지를 암호화하고 해독하는 암호를 이론화했다. 오늘날 휠 암호 또는 [[제퍼슨 디스크]]로 알려진 이 암호는 실제로 만들어진 적은 없지만, 최대 36자까지 영어 메시지를 뒤섞을 수 있는 스풀로 이론화되었다. 메시지는 뒤섞인 메시지를 동일한 암호를 가진 수신기에 연결하여 해독할 수 있었다.***'

제퍼슨 디스크와 유사한 장치인 M-94는 1917년 미국 육군 소령 조셉 마우본이 독립적으로 개발했다. 이 장치는 1942년까지 미국 군사 통신에 사용되었다.

제2차 세계 대전에서 추축국은 에니그마 기계라고 불리는 M-94의 더 고급 버전을 사용했다. 에니그마 기계는 제퍼슨 디스크와 M-94와 달리 매일 글자 조합이 완전히 새로운 조합으로 바뀌었기 때문에 더 복잡했다. 매일의 조합은 추축국에 의해서만 알려져 있었기 때문에 많은 사람들은 코드를 해독하는 유일한 방법은 24시간 이내에 17,000개 이상의 조합을 시도하는 것이라고 생각했다. 연합국은 컴퓨팅 파워를 사용하여 매일 확인해야 하는 합리적인 조합의 수를 크게 제한했고, 이는 에니그마 기계를 해독하는 데 성공했다.

### 현대
오늘날 암호화는 보안 및 상업을 위해 인터넷을 통한 통신 전송에 사용된다. 컴퓨팅 파워가 계속 증가함에 따라 컴퓨터 암호화는 감청 공격을 방지하기 위해 끊임없이 진화하고 있다. 최초의 "현대적인" 암호 스위트 중 하나인 DES는 72,057,594,037,927,936가지 가능성을 가진 56비트 키를 사용했다. 이는 1999년에 EFF의 무차별 대입 DES 크래커에 의해 해독되었는데, 22시간 15분이 걸렸다. 현대 암호화 표준은 종종 AES (256비트 모드), 투피시, ChaCha20-Poly1305, Serpent (최대 512비트 구성 가능)와 같은 더 강력한 키 크기를 사용한다. AES와 같이 128비트 이상의 키를 사용하는 암호 스위트는 총 키 수가 3.4028237e+38가지 가능성이 있기 때문에 무차별 대입될 수 없다. 큰 키 크기를 가진 암호를 해독하는 가장 가능성 있는 옵션은 내재된 편향 및 백도어와 같은 암호 자체의 취약점을 찾거나 부채널 공격을 통해 물리적 부작용을 악용하는 것이다. 예를 들어, 스트림 암호인 RC4는 암호의 내재된 편향 및 취약점 때문에 해독되었다.

## 암호학에서의 암호화

암호학의 맥락에서 암호화는 기밀성을 보장하는 메커니즘으로 작용한다. 데이터가 인터넷에서 보이는 경우가 있기 때문에 비밀번호 및 개인 통신과 같은 민감한 정보는 잠재적인 가로채는 사람에게 노출될 수 있다. 메시지를 암호화하고 해독하는 과정에는 키가 포함된다. 암호화 시스템의 두 가지 주요 키 유형은 대칭 키와 공개 키(비대칭 키라고도 함)이다.

많은 복잡한 암호화 알고리즘은 종종 구현에서 간단한 모듈러 산술을 사용한다.

### 유형

대칭 키 방식에서는 암호화 및 해독 키가 동일하다. 통신 당사자는 안전한 통신을 위해 동일한 키를 가지고 있어야 한다. 독일 에니그마 기계는 메시지를 인코딩하고 해독하기 위해 매일 새로운 대칭 키를 사용했다.

공개 키 암호 방식 방식에서는 암호화 키가 누구든지 메시지를 사용하고 암호화할 수 있도록 게시된다. 그러나 수신 당사자만이 메시지를 읽을 수 있도록 하는 해독 키에 접근할 수 있다. 공개 키 암호화는 1973년 비밀 문서에 처음 설명되었다. 그 전에는 모든 암호화 방식이 대칭 키(개인 키라고도 함)였다. 비록 나중에 출판되었지만, 디피와 헬만의 연구는 많은 독자층을 가진 저널에 출판되었고, 방법론의 가치가 명시적으로 설명되었다. 이 방법은 디피-헬먼 키 교환으로 알려지게 되었다.

RSA (리베스트-샤미르-애들먼)은 또 다른 주목할 만한 공개 키 암호 시스템이다. 1978년에 만들어진 이 암호 시스템은 오늘날에도 디지털 서명과 관련된 애플리케이션에 사용된다. 수론을 사용하여 RSA 알고리즘은 두 개의 소수를 선택하며, 이는 암호화 및 해독 키를 모두 생성하는 데 도움이 된다.

공개적으로 사용 가능한 공개 키 암호화 애플리케이션인 프리티 굿 프라이버시 (PGP)는 1991년 필 짐머만이 작성하여 소스 코드와 함께 무료로 배포되었다. PGP는 2010년 시만텍에 인수되었으며 정기적으로 업데이트된다.

## 사용법

암호화는 오랫동안 군대와 정부가 비밀 통신을 용이하게 하기 위해 사용해 왔다. 이제는 많은 종류의 민간 시스템 내에서 정보를 보호하는 데 일반적으로 사용된다. 예를 들어, 컴퓨터 보안 연구소는 2007년에 조사 대상 기업의 71%가 전송 중인 데이터의 일부에 암호화를 사용했으며, 53%는 저장된 데이터의 일부에 암호화를 사용했다고 보고했다. 암호화는 컴퓨터 및 저장 장치(예: USB 플래시 드라이브)에 저장된 정보와 같이 "정지 상태"의 데이터를 보호하는 데 사용될 수 있다. 최근 몇 년 동안 고객의 개인 기록과 같은 기밀 데이터가 노트북이나 백업 드라이브의 분실 또는 도난으로 인해 노출되었다는 수많은 보고가 있었다. 이러한 파일을 정지 상태에서 암호화하면 물리적 보안 조치가 실패할 경우 파일을 보호하는 데 도움이 된다. 저작권 자료의 무단 사용 또는 복제를 방지하고 소프트웨어를 역공학으로부터 보호하는 디지털 권리 관리 시스템(또한 복사 방지 참조)은 정지 상태 데이터에 암호화를 사용하는 또 다른 약간 다른 예이다.

암호화는 전송 중인 데이터를 보호하는 데도 사용된다. 예를 들어 네트워크(예: 인터넷, 전자 상거래), 휴대전화, 무선 마이크로폰, 무선 인터컴 시스템, 블루투스 장치 및 은행 자동화된 입출금기를 통해 전송되는 데이터 등이 있다. 최근 몇 년 동안 전송 중인 데이터가 가로채졌다는 수많은 보고가 있었다. 승인되지 않은 사용자의 네트워크 트래픽 감청으로부터 보호하기 위해 네트워크를 통해 전송될 때 데이터도 암호화되어야 한다.

### 데이터 소거

저장 장치에서 데이터를 영구적으로 삭제하는 기존 방법은 장치 전체 내용을 0, 1 또는 다른 패턴으로 덮어쓰는 것을 포함한다. 이 과정은 용량과 저장 매체 유형에 따라 상당한 시간이 걸릴 수 있다. 암호화는 삭제를 거의 즉각적으로 만드는 방법을 제공한다. 이 방법은 암호화 파쇄라고 불린다. 이 방법의 구현 예시는 iOS 장치에서 찾을 수 있으며, 여기서 암호화 키는 전용 ' 저장소'에 보관된다. 키가 동일한 장치에 저장되어 있기 때문에 이 설정만으로는 승인되지 않은 사람이 장치에 물리적으로 접근할 경우 완전한 개인 정보 보호 또는 보안 보호를 제공하지 않는다.

## 한계
암호화는 21세기에 디지털 데이터와 정보 시스템을 보호하는 데 사용된다. 수년 동안 컴퓨팅 파워가 증가함에 따라 암호화 기술은 더욱 발전하고 안전해졌다. 그러나 이러한 기술 발전은 오늘날 암호화 방법의 잠재적인 한계도 노출시켰다.

암호화 키의 길이는 암호화 방법의 강도를 나타내는 지표이다. 예를 들어, 원래의 암호화 키인 DES (데이터 암호화 표준)는 56비트였으며, 이는 2^56가지 조합 가능성을 의미했다. 오늘날의 컴퓨팅 파워로는 56비트 키는 더 이상 안전하지 않으며, 무차별 대입 공격에 취약하다.

양자 컴퓨팅은 양자역학의 속성을 사용하여 대량의 데이터를 동시에 처리한다. 양자 컴퓨팅은 오늘날의 슈퍼컴퓨터보다 수천 배 빠른 컴퓨팅 속도를 달성하는 것으로 밝혀졌다. 이 컴퓨팅 파워는 오늘날의 암호화 기술에 대한 도전 과제를 제시한다. 예를 들어, RSA 암호화는 매우 큰 소수의 곱셈을 사용하여 공개 키에 대한 반소수를 생성한다. 개인 키 없이 이 키를 해독하려면 이 반소수를 인수분해해야 하는데, 이는 현대 컴퓨터로는 매우 오랜 시간이 걸릴 수 있다. 슈퍼컴퓨터는 이 키를 인수분해하는 데 몇 주에서 몇 달이 걸릴 수 있다. 그러나 양자 컴퓨팅은 양자 알고리즘을 사용하여 일반 컴퓨터가 이 반소수를 생성하는 데 걸리는 시간과 동일한 시간에 인수분해할 수 있다. 이렇게 되면 현재 공개 키 암호화로 보호되는 모든 데이터가 양자 컴퓨팅 공격에 취약해진다. 타원곡선 암호 및 대칭 키 암호화와 같은 다른 암호화 기술도 양자 컴퓨팅에 취약하다.

양자 컴퓨팅이 미래의 암호화 보안에 위협이 될 수 있지만, 현재 상태의 양자 컴퓨팅은 여전히 매우 제한적이다. 양자 컴퓨팅은 현재 상업적으로 이용 가능하지 않으며, 대량의 코드를 처리할 수 없으며, 컴퓨터가 아닌 계산 장치로만 존재한다. 또한, 양자 컴퓨팅 발전은 암호화에도 유리하게 사용될 수 있다. 국가안보국 (NSA)은 현재 미래를 위한 양자 후 암호 표준을 준비하고 있다. 양자 암호화는 양자 컴퓨팅의 위협에 대응할 수 있는 수준의 보안을 약속한다.

## 공격 및 대응책

암호화는 중요한 도구이지만, 민감한 정보의 수명 주기 동안 보안 또는 개인 정보 보호를 보장하는 데 단독으로는 충분하지 않다. 대부분의 암호화 응용 프로그램은 정지 상태 또는 전송 중인 정보만 보호하며, 민감한 데이터를 평문으로 남겨두어 예를 들어 클라우드 서비스와 같은 처리 중에 부적절한 노출에 취약하게 만든다. 동형암호 및 다자간 보안 컴퓨팅은 암호화된 데이터를 계산하기 위한 새로운 기술이다. 이러한 기술은 일반적이고 튜링 완전하지만, 높은 계산 및 통신 비용을 발생시킨다.

정지 상태 데이터 암호화에 대응하여 사이버 적대자들은 새로운 유형의 공격을 개발했다. 이러한 최신 정지 상태 데이터 암호화 위협에는 암호화 공격, 도난된 암호문 공격, 암호화 키에 대한 공격, 내부자 공격, 데이터 손상 또는 무결성 공격, 데이터 파괴 공격 및 랜섬웨어 공격이 포함된다. 데이터 파편화 및 능동 방어 데이터 보호 기술은 암호문을 분산, 이동 또는 변형시켜 식별, 도용, 손상 또는 파괴를 더 어렵게 함으로써 이러한 공격 중 일부에 대응하려고 시도한다.

## 암호화에 대한 논쟁
암호화가 오늘날의 디지털 사회에서 매우 중요해졌기 때문에 국가 안보의 필요성과 사생활권의 균형을 맞추는 문제는 수년 동안 논의되어 왔다. 현대 암호화 논쟁은 90년대에 미국 정부가 암호화가 국가 안보를 위협할 것이라는 이유로 암호화를 금지하려고 했을 때 시작되었다. 이 논쟁은 두 가지 상반된 견해로 양분되어 있다. 강력한 암호화가 범죄자들이 온라인에서 불법 행위를 숨기기 더 쉽게 만드는 문제라고 보는 사람들과 암호화가 디지털 통신을 안전하게 유지한다고 주장하는 사람들이다. 이 논쟁은 2014년 애플 및 구글과 같은 빅테크가 기기에 암호화를 기본으로 설정하면서 가열되었다. 이것이 정부, 기업 및 인터넷 사용자에게 영향을 미치는 일련의 논란의 시작이었다.

### 암호문의 무결성 보호

암호화는 메시지의 기밀성을 보호할 수 있지만, 메시지의 무결성과 진위성을 보호하기 위해서는 다른 기술이 여전히 필요하다. 예를 들어, 일반적으로 해시 함수 또는 PGP 서명에 의해 수행되는 MAC 또는 디지털 서명의 확인이 그러하다. 인증된 암호 방식 알고리즘은 암호화와 무결성 보호를 함께 제공하도록 설계되었다. 암호화 소프트웨어 및 하드웨어 암호화를 수행하는 표준은 널리 사용 가능하지만, 보안을 보장하기 위해 암호화를 성공적으로 사용하는 것은 어려운 문제일 수 있다. 시스템 설계 또는 실행의 단일 오류는 성공적인 공격을 허용할 수 있다. 때로는 적이 암호화를 직접 해독하지 않고도 암호화되지 않은 정보를 얻을 수 있다. 예를 들어 트래픽 분석, TEMPEST 또는 트로이 목마를 참조하라.

MAC 및 디지털 서명과 같은 무결성 보호 메커니즘은 메시지 전송 경로를 종단 간 보호하기 위해 메시지를 작성하는 데 사용되는 동일한 장치에서 일반적으로 암호문이 처음 생성될 때 적용되어야 한다. 그렇지 않으면 발신자와 암호화 에이전트 사이의 모든 노드가 잠재적으로 메시지를 변조할 수 있다. 생성 시 암호화는 암호화 장치 자체에 올바른 키가 있고 변조되지 않은 경우에만 안전하다. 예를 들어, 엔드포인트 장치가 공격자가 제어하는 ​​루트 인증서를 신뢰하도록 구성된 경우, 공격자는 메시지 경로의 어느 곳에서든 중간자 공격을 수행하여 암호화된 데이터를 검사하고 변조할 수 있다. 네트워크 운영자의 일반적인 TLS 가로채기 관행은 이러한 공격의 통제되고 제도적으로 승인된 형태를 나타내지만, 국가들도 통제 및 검열의 형태로 이러한 공격을 시도해 왔다.

### 암호문 길이 및 패딩

암호화가 메시지의 내용을 효과적으로 숨기고 변조를 방지하더라도, 암호문의 길이는 민감한 정보를 유출할 수 있는 메타데이터의 한 형태이다. 예를 들어, HTTPS에 대한 잘 알려진 CRIME 및 BREACH 공격은 암호화된 메시지 길이를 부채널 공격으로 활용하여 정보 유출을 악용했다. 트래픽 분석은 더 광범위하게 메시지 크기 및 타이밍과 같은 메타데이터를 사용하여 통신 패턴에 대한 정보를 추론하는 기술을 나타낸다.

암호화 전에 메시지에 패딩을 적용하면 실제 평문 길이를 숨기는 데 도움이 되지만, 이는 암호문 크기를 증가시키고 대역폭 오버헤드를 추가한다. 패딩은 무작위 또는 결정적으로 적용될 수 있으며, 각 접근 방식은 다른 장단점을 포함한다. 패딩된 균일 무작위 블롭(PURB)을 생성하기 위해 데이터를 암호화하고 패딩하면 암호문이 평문의 구조에 대한 메타데이터를 드러내지 않고, 길이만 통해 점근적으로 최소한의 O(\log\log M) 정보를 유출한다.

## 같이 보기

* 암호 시스템
* 콜드 부트 공격
* 암호학 프리미티브
* 암호화 표준
* 사이버 공간 전자 보안법 (미국)
* 사전 공격
* 디스크 암호화
* 암호화 함수
* 에니그마 기계
* 암호화의 수출
* 지오블로킹
* 구분 불가능 난독화
* 키 관리
* 초암호화
* 물리 계층 암호화
* PGP (소프트웨어)
* 양자 후 암호
* 레인보 테이블
* 로터 기계
* 부채널 공격
* 치환 암호
* 텔레비전 암호화
* 토큰화 (데이터 보안)

## 각주

## 더 읽어보기
* 
* 칸, 데이비드 (1967), The Codebreakers - The Story of Secret Writing ()
* 프레넬, 바트 (2000), "Advances in Cryptology – EUROCRYPT 2000", Springer Berlin Heidelberg, 
* 신코프, 아브라함 (1966): Elementary Cryptanalysis: A Mathematical Approach, Mathematical Association of America. 
* Tenzer, Theo (2021): SUPER SECRETO – The Third Epoch of Cryptography: Multiple, exponential, quantum-secure and above all, simple and practical Encryption for Everyone, Norderstedt, .
* 
* 

## 외부 링크
* 

분류:암호학
분류:데이터 보호