암호화 란 무엇이며 어떻게 작동합니까?

0
281

암호화는 고대 그리스와 로마인이 비밀 키로 해독 할 수있는 문자 만 대체하여 비밀 메시지를 보냈을 때부터 오랜 역사를 가지고 있습니다. 빠른 히스토리 레슨에 참여하고 암호화 작동 방식에 대해 자세히 알아보십시오.

HTG Explains의 오늘 판에서는 간단한 암호화 기록, 작동 방식 및 다양한 암호화 유형의 예를 제공합니다. 이전 버전도 확인하십시오. 많은 괴짜들이 인터넷을 싫어하는 이유를 설명했습니다. 탐침.

이미지 xkcd분명히.

암호화 초기

zeus_story

image고대 그리스인들은 Scytale이라는 도구를 사용하여 조옮김 암호를 사용하여 메시지를보다 빠르게 암호화 할 수있었습니다. 단순히 실린더 주위에 양피지 조각을 감싼 다음 메시지를 쓴 다음 풀어 놓을 수없는 경우입니다.

물론이 암호화 방법은 상당히 쉽게 깨질 수 있지만 실제로 실제로 사용되는 암호화의 첫 번째 예 중 하나입니다.

Julius Caesar는 알파벳의 각 문자를 시저의 암호라고하는 암호화 기술인 여러 위치로 오른쪽 또는 왼쪽으로 이동하여 비슷한 방식을 사용했습니다. 예를 들어 아래 예제 암호를 사용하면 “GEEK”를 “JHHN”이라고 씁니다.

Plain:  ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC

메시지의 의도 된 수신자 만이 암호를 알고 있었기 때문에 다음 사람이 메시지를 해독하기 어려울 수 있습니다.이 메시지는 횡설수설로 보이지만 암호를 가진 사람은 쉽게 해독하고 읽을 수 있습니다.

Polybius 정사각형과 같은 다른 간단한 암호화 암호는 문자의 위치를 ​​알려주기 위해 각 문자를 위쪽과 측면에 해당하는 숫자 위치와 함께 나열한 다중 알파벳 암호를 사용했습니다.

image

위의 표와 같은 표를 사용하면“G”를“23”으로,“GEEK”를“23 31 31 43”으로 쓰십시오.

수수께끼 기계

image

제 2 차 세계 대전 동안 독일인들은 Enigma 기계를 사용하여 암호화 된 전송을 앞뒤로 전달했습니다. 폴란드가 메시지를 해독하고 연합군에 해결책을 제공하기까지 몇 년이 걸렸습니다.

현대 암호화의 역사

현대 암호화 기술은 지루한 주제가 될 수 있으므로 단어로 설명하는 대신 Jeff Moser의 스틱 그림 안내서에서 영감을 얻은 암호화 역사에 대해 이야기하는 만화를 모았습니다. 참고 : 암호화 기록에 관한 모든 정보를 연재 만화로 전달할 수는 없습니다.

그 당시에는 사람들이 전자 통신을 보호 할 수있는 좋은 암호화 방법이 없습니다.

Lucifer는 IBM의 Horst Feistel과 그의 동료가 개발 한 최초의 민간 블록 암호 중 일부에 부여 된 이름입니다.

DES (데이터 암호화 표준)는 1976 년 미국 표준 국 (FIPS)으로 국가 표준 국에서 선택한 블록 암호 (공유 비밀 암호화의 한 형태)이며 그 이후 널리 사용되었습니다. 국제적으로 사용하십시오.

소프트웨어에 대한 보안 및 상대적으로 느린 DES 운영에 대한 우려는 1980 년대 후반과 1990 년대 초에 나타나기 시작한 다양한 대체 블록 암호 설계를 제안하도록 연구자들에게 동기를 부여했습니다. 예는 RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 및 페널티

Rijndael 암호화 알고리즘은 미국 정부에서 표준 대칭 키 암호화 또는 AES (Advanced Encryption Standard)로 채택되었습니다. AES는 NIST (National Institute of Standards and Technology)에서 2001 년 11 월 26 일에 15 개의 경쟁 설계가 제시되고 Rijndael이 가장 많이 선정되기 전에 5 개의 경쟁 설계가 제시되고 평가 된 후 5 년의 표준화 과정을 거쳐 US FIPS PUB 197 (FIPS 197)로 발표되었습니다. 적합한 암호화 알고리즘.

암호화 알고리즘 성능

많은 암호화 알고리즘이 존재하며 모두 서로 다른 목적에 적합합니다. 하나의 암호화 알고리즘을 식별하고 차별화하는 두 가지 주요 특징은 공격으로부터 보호 된 데이터를 보호하는 능력과 그렇게하는 속도 및 효율성입니다.

서로 다른 유형의 암호화 간의 속도 차이의 좋은 예로, TrueCrypt의 볼륨 생성 마법사에 내장 된 벤치마킹 유틸리티를 사용할 수 있습니다. 아시다시피, AES는 가장 빠른 강력한 암호화 유형입니다.

image

느리고 빠른 암호화 방법이 있으며 모두 다른 목적에 적합합니다. 아주 작은 데이터 조각을 자주 해독하려는 경우 가장 강력한 암호화를 사용하거나 다른 유형의 암호화로 두 번 암호화 할 수도 있습니다. 속도가 필요한 경우 AES를 사용하고 싶을 것입니다.

다양한 유형의 암호화 벤치마킹에 대한 자세한 내용은 Washington University of St. Louis의 보고서에서 다양한 루틴에 대한 수많은 테스트를 수행했으며 매우 기발한 글로 설명했습니다.

최신 암호화 유형

앞에서 언급 한 모든 멋진 암호화 알고리즘은 주로 두 가지 다른 유형의 암호화에 사용됩니다.

  • 대칭 키 알고리즘 암호화 및 암호 해독에 관련되거나 동일한 암호화 키를 사용하십시오.
  • 비대칭 키 알고리즘 암호화 및 암호 해독에 다른 키를 사용합니다. 일반적으로 공개 키 암호화라고합니다.

대칭 키 암호화

이 개념을 설명하기 위해 Wikipedia에 설명 된 우편 서비스 메타포를 사용하여 대칭 키 알고리즘의 작동 방식을 이해합니다.

Alice는 비밀 메시지를 상자에 넣고 열쇠가 달린 자물쇠를 사용하여 상자를 잠급니다. 그런 다음 상자를 일반 우편을 통해 Bob에게 보냅니다. Bob은 상자를 받으면 Alice의 동일한 키 사본을 사용하여 (일부 면담을 통해 이전에 얻은 것) 상자를 열고 메시지를 읽습니다. 그런 다음 Bob은 동일한 자물쇠를 사용하여 비밀 응답을 보낼 수 있습니다.

symmetric_encryption_diagram

대칭 키 알고리즘은 스트림 암호와 블록 암호로 나눌 수 있습니다. 스트림 암호는 한 번에 하나씩 메시지 비트를 암호화하고 블록 암호는 종종 한 번에 64 비트 블록으로 여러 비트를 취하여 다음과 같이 암호화합니다. 단일 유닛. 선택할 수있는 다양한 알고리즘이 많이 있습니다.보다 인기 있고 존경받는 대칭 알고리즘에는 Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES 및 IDEA가 있습니다.

비대칭 암호화

비대칭 키 시스템에서 Bob과 Alice는 대칭 예제의 여러 키가있는 단일 자물쇠 대신 별도의 자물쇠가 있습니다. 참고 : 물론 이것은 실제로 작동하는 방식에 대한 단순화 된 예입니다. 훨씬 더 복잡하지만 일반적인 아이디어를 얻게됩니다.

먼저 앨리스는 밥에게 열린 자물쇠를 자신의 열쇠를 자신의 열쇠로 유지하면서 정기적으로 우편으로 보내달라고 요청합니다. Alice가받은 메시지를 받으면 메시지를 포함하는 상자를 잠그고 잠긴 상자를 Bob에게 보냅니다. 그런 다음 Bob은 키를 사용하여 상자의 잠금을 해제하고 Alice의 메시지를 읽을 수 있습니다. 답장을하기 위해 밥은 박스를 돌려 보내기 전에 앨리스의 열린 자물쇠를 가져와야한다.

비대칭 _ 암호화 _ 다이어그램

비대칭 키 시스템의 중요한 장점은 Bob과 Alice가 키 사본을 서로에게 보낼 필요가 없다는 것입니다. 이렇게하면 제 3 자 (예를 들어, 손상된 우편 작업자)가 키를 전송하는 동안 키를 복사하지 못하게되어, 제 3자가 Alice와 Bob 사이에 전송 된 모든 향후 메시지를 감시 할 수 있습니다. 또한 Bob이 부주의하여 다른 사람이 복사하도록 허용 한 경우 그의 핵심은 Bob에게 보내는 Alice의 메시지는 손상 될 수 있지만 다른 사람들이 Alice가 사용할 수 있도록 다른 자물쇠를 제공하기 때문에 다른 사람들에게 보내는 Alice의 메시지는 비밀로 유지됩니다.

비대칭 암호화는 암호화 및 암호 해독에 서로 다른 키를 사용합니다. 메시지 수신자는 개인 키와 공개 키를 만듭니다. 공개 키는 메시지 보낸 사람에게 배포되며 공개 키를 사용하여 메시지를 암호화합니다. 수신자는 수신자의 공개 키를 사용하여 암호화 된 암호화 된 메시지를 개인 키로 사용합니다.

대칭 암호화와 비교하여이 방법으로 암호화를 수행하면 한 가지 큰 이점이 있습니다. 안전하지 않은 채널을 통해 비밀 키 (암호화 키 또는 암호 등)를 보낼 필요는 없습니다. 공개 키는 세상으로 나갑니다. 비밀이 아니기 때문에 공개 키가 필요하지 않습니다. 개인 키는 생성 한 개인 컴퓨터에서 편안하고 편안하게 유지할 수 있습니다. 전자 메일을 전자 메일로 보내거나 공격자가 읽을 필요는 없습니다.

암호화가 웹에서 통신을 보호하는 방법

수년 동안 SSL (Secure Sockets Layer) 프로토콜은 웹 브라우저와 웹 서버 간의 암호화를 사용하여 웹 트랜잭션을 보호하여 중간에 네트워크에서 스누핑 될 수있는 사람으로부터 보호합니다.

SSL 자체는 개념적으로 매우 간단합니다. 브라우저가 보안 페이지 (일반적으로 https : //)를 요청할 때 시작됩니다.

웹 서버는 공개 키를 인증서와 함께 보냅니다.

브라우저는 신뢰할 수있는 당사자 (일반적으로 신뢰할 수있는 루트 CA)가 인증서를 발급했는지, 인증서가 여전히 유효한지, 인증서가 연결된 사이트와 관련되어 있는지 확인합니다.

그런 다음 브라우저는 공개 키를 사용하여 임의 대칭 암호화 키를 암호화하고 암호화 된 URL 및 기타 암호화 된 http 데이터를 사용하여 서버로 보냅니다.

웹 서버는 개인 키를 사용하여 대칭 암호화 키를 해독하고 브라우저의 대칭 키를 사용하여 URL 및 http 데이터를 해독합니다.

웹 서버는 요청 된 html 문서와 브라우저의 대칭 키로 암호화 된 http 데이터를 다시 보냅니다. 브라우저는 대칭 키를 사용하여 http 데이터 및 html 문서를 해독하고 정보를 표시합니다.

이제 실제로 필요하지 않은 eBay 품목을 안전하게 구입할 수 있습니다.

무엇을 배웠습니까?

지금까지 해냈다면 암호화와 그리스어와 로마인의 암호화 초기부터 루시퍼의 등장과 함께 어떻게 작동하는지에 대한 이해를 향한 긴 여정이 끝났습니다. SSL은 비대칭 및 대칭 암호화를 사용하여 eBay에서 솜털 같은 분홍색 토끼를 구입할 수 있도록 도와줍니다.


How-To Geek의 암호화 팬은 다음과 같은 여러 가지 방법을 다루었습니다.

  • TrueCrypt 시작 (데이터 보안)
  • Firefox에 자동 웹 사이트 암호화 추가
  • BitLocker To Go, Windows 7에서 휴대용 플래시 드라이브 암호화
  • 하드 드라이브를 암호화하여 Linux PC를 보호하는 방법
  • Windows 7 / Vista 마우스 오른쪽 버튼 메뉴에 암호화 / 암호 해독 옵션 추가
  • Mac OS X에서 TrueCrypt 드라이브 암호화 시작하기

물론 암호화는 모든 것을 실제로 설명하기에는 너무 복잡한 주제입니다. 우리는 중요한 것을 놓쳤습니까? 의견에 동료 독자에 대한 지식을 자유롭게 제공하십시오.