암호화는 고대 그리스인과 로마인이 비밀 키로 만 해독 할 수있는 문자로 대체하여 비밀 메시지를 보냈을 때로 거슬러 올라갑니다. 빠른 역사 강의에 참여하고 암호화 작동 방식에 대해 자세히 알아보십시오.
오늘의 HTG Explains 버전에서는 간단한 암호화 내역, 작동 방식 및 다양한 암호화 유형의 몇 가지 예를 제공합니다. 이전 버전도 확인하십시오. 많은 괴짜들이 Internet Explorer를 싫어하는 이유 .
이미지 xkcd , 분명히.
암호화 초기
고대 그리스인들은
Scytale
메시지를보다 빠르게 암호화 할 수 있도록
전치 암호
— 그들은 단순히 실린더 주위에 양피지 조각을 감싸고 메시지를 작성한 다음 풀면 말이되지 않을 것입니다.
물론이 암호화 방법은 상당히 쉽게 손상 될 수 있지만 실제 세계에서 실제로 사용되는 암호화의 첫 번째 예 중 하나입니다.
Julius Caesar는 알파벳의 각 문자를 여러 위치에 따라 오른쪽 또는 왼쪽으로 이동하여 다소 유사한 방법을 사용했습니다. Caesar의 암호 . 예를 들어 아래의 예제 암호를 사용하여 "GEEK"를 "JHHN"으로 작성합니다.
일반 : ABCDEFGHIJKLMNOPQRSTUVWXYZ
암호 : DEFGHIJKLMNOPQRSTUVWXYZABC
메시지의 의도 된 수신자 만이 암호를 알고 있기 때문에 다음 사람이 메시지를 해독하기가 어려우며 횡설수설 한 것처럼 보이지만 암호를 가진 사람은 쉽게 해독하고 읽을 수 있습니다.
다음과 같은 기타 간단한 암호화 암호 폴리비우스 스퀘어 사용 다중 알파벳 암호 문자의 위치를 알려주기 위해 상단과 측면에 해당하는 숫자 위치와 함께 각 문자를 나열했습니다.
위와 같은 표를 사용하면“G”는“23”으로,“GEEK”는“23 31 31 43”으로 씁니다.
수수께끼 기계
제 2 차 세계 대전 중 독일인은 수수께끼 기계를 사용 폴란드가 메시지를 해독하고 연합군에게 해결책을 제공하기까지 수년이 걸렸던 암호화 된 전송을 앞뒤로 전달하기 위해 연합군의 승리에 도움이되었습니다.
현대 암호화의 역사
현실을 직시하십시오. 최신 암호화 기술은 매우 지루한 주제 일 수 있으므로 단순히 단어로 설명하는 대신 Jeff Moser의 영감을 받아 암호화의 역사에 대해 이야기하는 만화를 모았습니다. AES에 막대기 그림 가이드 . 참고 : 분명히 연재 만화로 암호화 역사에 대한 모든 것을 전달할 수는 없습니다.
그 당시 사람들은 전자 통신을 보호 할 수있는 좋은 암호화 방법이 없었습니다.
샛별 최초의 민간인 몇 명에게 주어진 이름이었습니다. 블록 암호 , 개발자 Horst Feistel IBM의 동료들.
DES (데이터 암호화 표준)는 국립 표준 국 공무원으로서 연방 정보 처리 표준 (FIPS)는 1976 년 미국을위한 것이며 이후 국제적으로 널리 사용되었습니다.
보안 및 소프트웨어에서 DES의 상대적으로 느린 작동에 대한 우려로 인해 연구자들은 1980 년대 후반과 1990 년대 초에 등장하기 시작한 다양한 대체 블록 암호 설계를 제안했습니다. RC5 , 복어 , 생각 , NewDES , 안전한 , CAST5 과 FEAL
Rijndael 암호화 알고리즘은 미국 정부에서 표준 대칭 키 암호화 또는 고급 암호화 표준 (AES)으로 채택했습니다. AES는 Rijndael이 최다로 선정되기 전에 15 개의 경쟁 디자인이 제시되고 평가되는 5 년간의 표준화 과정을 거쳐 2001 년 11 월 26 일 미국 국립 표준 기술원 (NIST)에서 US FIPS PUB 197 (FIPS 197)로 발표했습니다. 적합한 암호화 알고리즘.
암호화 알고리즘 성능
많은 암호화 알고리즘이 존재하며 모두 서로 다른 목적에 적합합니다. 하나의 암호화 알고리즘을 식별하고 구별하는 두 가지 주요 특징은 공격으로부터 보호 된 데이터를 보호하는 능력과 그에 따른 속도와 효율성입니다.
다양한 암호화 유형 간의 속도 차이에 대한 좋은 예로서 TrueCrypt의 볼륨 생성 마법사에 내장 된 벤치마킹 유틸리티를 사용할 수 있습니다. 보시다시피 AES는 가장 빠른 유형의 강력한 암호화입니다.
더 느리고 더 빠른 암호화 방법이 있으며 모두 다른 목적에 적합합니다. 아주 자주 아주 작은 데이터의 암호를 해독하려는 경우 가능한 가장 강력한 암호화를 사용하거나 다른 유형의 암호화로 두 번 암호화 할 수 있습니다. 속도가 필요한 경우 AES를 사용하고 싶을 것입니다.
다양한 암호화 유형을 벤치마킹하는 방법에 대한 자세한 내용은 워싱턴 대학교 세인트루이스 , 그들은 서로 다른 루틴에 대한 수많은 테스트를 수행하고 매우 괴상한 글로 모두 설명했습니다.
최신 암호화 유형
앞서 이야기 한 모든 멋진 암호화 알고리즘은 주로 두 가지 유형의 암호화에 사용됩니다.
- 대칭 키 알고리즘 암호화 및 복호화 모두에 관련되거나 동일한 암호화 키를 사용합니다.
- 비대칭 키 알고리즘 암호화 및 암호 해독에 다른 키를 사용합니다. 일반적으로 공개 키 암호화라고합니다.
대칭 키 암호화
이 개념을 설명하기 위해 다음에 설명 된 우편 서비스 비유를 사용합니다. 위키 백과 대칭 키 알고리즘의 작동 방식을 이해합니다.
Alice는 자신의 비밀 메시지를 상자에 넣고 열쇠가있는 자물쇠를 사용하여 상자를 잠급니다. 그런 다음 상자를 일반 우편을 통해 Bob에게 보냅니다. Bob은 상자를 받으면 Alice의 키와 동일한 복사본을 사용하여 상자를 열고 메시지를 읽습니다. 그러면 Bob은 동일한 자물쇠를 사용하여 비밀 답장을 보낼 수 있습니다.
대칭 키 알고리즘은 다음과 같이 나눌 수 있습니다. 스트림 암호 및 블록 암호-스트림 암호는 메시지의 비트를 한 번에 하나씩 암호화하고 블록 암호는 종종 한 번에 64 비트 블록에서 여러 비트를 사용하여 단일 단위로 암호화합니다. 선택할 수있는 다양한 알고리즘이 있습니다. 더 널리 사용되고 존경받는 대칭 알고리즘에는 다음이 포함됩니다. 투 피쉬 , 뱀 , AES ( Rijndael ), 복어 , CAST5 , RC4 , TDES , 및 생각 .
비대칭 암호화
비대칭 키 시스템에서 Bob과 Alice는 대칭 예제의 여러 키가있는 단일 자물쇠 대신 별도의 자물쇠를 가지고 있습니다. 참고 : 물론 이것은 실제로 작동하는 방식에 대한 매우 단순화 된 예이며 훨씬 더 복잡하지만 일반적인 아이디어를 얻을 수 있습니다.
먼저 Alice는 Bob에게 자신의 열쇠를 보관하면서 일반 우편을 통해 열린 자물쇠를 그녀에게 보내달라고 요청합니다. Alice는이를 수신하면이를 사용하여 메시지가 포함 된 상자를 잠그고 잠긴 상자를 Bob에게 보냅니다. 그러면 Bob은 키로 상자의 잠금을 해제하고 Alice의 메시지를 읽을 수 있습니다. 답장하려면 Bob은 상자를 다시 보내기 전에 마찬가지로 Alice의 열린 자물쇠를 가져와 상자를 잠 가야합니다.
비대칭 키 시스템의 중요한 이점은 Bob과 Alice가 서로 키의 복사본을 보낼 필요가 없다는 것입니다. 이렇게하면 제 3 자 (예 : 부패한 우편 직원)가 키가 전송되는 동안 키를 복사하는 것을 방지하여 해당 제 3자가 Alice와 Bob간에 전송되는 모든 향후 메시지를 감시 할 수 있습니다. 또한 Bob이 부주의하고 다른 사람이 그의 키, Bob에게 보낸 Alice의 메시지는 손상되지만 다른 사람에게 보내는 Alice의 메시지는 다른 사람이 Alice가 사용할 수 있도록 다른 자물쇠를 제공하므로 비밀로 유지됩니다.
비대칭 암호화는 암호화 및 복호화에 서로 다른 키를 사용합니다. 메시지 수신자는 개인 키와 공개 키를 만듭니다. 공개 키는 메시지 발신자에게 배포되며 공개 키를 사용하여 메시지를 암호화합니다. 수신자는 수신자의 공개 키를 사용하여 암호화 된 모든 암호화 된 메시지를 개인 키로 사용합니다.
대칭 암호화에 비해 이러한 방식으로 암호화를 수행하면 한 가지 주요 이점이 있습니다. 안전하지 않은 채널을 통해 비밀 (암호화 키 또는 암호 등)을 보낼 필요가 없습니다. 공개 키는 전 세계에 공개됩니다. 비밀이 아니며 그럴 필요도 없습니다. 개인 키를 생성 한 개인용 컴퓨터에서 개인 키를 편안하고 편안하게 유지할 수 있습니다. 어디에서나 전자 메일을 보내거나 공격자가 읽을 필요가 없습니다.
암호화가 웹 통신을 보호하는 방법
수년 동안 SSL ( 보안 소켓 계층 ) 프로토콜은 웹 브라우저와 웹 서버 간의 암호화를 사용하여 웹 트랜잭션을 보호하여 중간에 네트워크에서 스누핑 할 수있는 모든 사람으로부터 사용자를 보호합니다.
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 드라이브 암호화 시작하기
물론 암호화는 모든 것을 설명하기에는 너무 복잡한 주제입니다. 중요한 것을 놓쳤습니까? 의견에 동료 독자에 대한 지식을 자유롭게 배치하십시오.