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

Written by

Advanced Encryption Standard(이전에는 Rijndael로 알려짐)는 정보를 암호화하는 방법 중 하나입니다. 아무리 힘을 주어도 부술 수 없을 정도로 안전합니다.

이 고급 암호화 표준은 NSA(National Security Agency)와 온라인 뱅킹을 비롯한 여러 산업에서 사용됩니다. 그래서, AES 암호화 란 무엇입니까 어떻게 작동합니까? 알아 보자!

AES 암호화란 무엇입니까? 

AES는 오늘날의 데이터 암호화 표준입니다. 제공하는 보안 및 보호 수준에서 타의 추종을 불허합니다.

무엇인지 분해해보자 이다. AES는

  • 대칭 키 암호화
  • 블록 암호

대칭 및 비대칭 암호화

AES는 대칭 암호화 유형.

대칭 키 암호화

"대칭"은 다음을 사용한다는 의미입니다. 암호화 및 암호 해독 모두에 동일한 키 정보 또한,전에, 발신자 및 수신자 암호를 해독하려면 데이터의 복사본이 필요합니다.

반면에, 미국에서 체류를 연장하고자 이전의 승인을 갱신하려던 비대칭 인 핵심 시스템은 각각 다른 키 암호화 및 암호 해독의 두 가지 프로세스 중 하나입니다.

A대칭 시스템의 장점 AES처럼 그들은 비대칭보다 훨씬 빠름 것. 대칭 키 알고리즘이 필요하기 때문입니다. 적은 컴퓨팅 파워. 

이것이 비대칭 키가 가장 잘 사용되는 이유입니다. 외부 파일 전송. 대칭 키가 더 좋습니다. 내부 암호화.

블록 암호란 무엇입니까?

다음으로 AES는 기술 세계가 "블록 암호." 

이러한 유형의 암호 때문에 "블록"이라고 합니다. 암호화할 정보를 나눕니다. (일반 텍스트라고 함)을 블록이라고 하는 섹션으로 나눕니다.

보다 구체적으로 AES는 다음을 사용합니다. 128비트 블록 크기. 

즉, 데이터가 XNUMXxXNUMX 배열 16바이트를 포함합니다. 각 바이트는 XNUMX비트를 포함합니다.

따라서 16바이트에 8비트를 곱하면 각 블록의 총 128비트. 

이 구분에 관계없이 암호화된 데이터의 크기는 동일하게 유지. 즉, 128비트의 평문은 128비트의 암호문을 생성합니다.

AES 알고리즘의 비밀

여기가 흥미로워지기 때문에 이제 모자를 계속 사용하십시오.

Joan Daemen과 Vincent Rijmen은 대체 순열 네트워크(SPN) 연산.

SPN은 적용하여 작동합니다. 암호화를 위한 여러 라운드의 키 확장 데이터입니다.

초기 키는 생성하는 데 사용됩니다. 새로운 키 시리즈 "둥근 키"라고 합니다.

이 둥근 키가 어떻게 생성되는지 나중에 자세히 알아보겠습니다. 여러 번 수정하면 매번 새로운 라운드 키가 생성됩니다.

각 라운드가 통과할 때마다 데이터가 점점 더 안전해지고 암호화를 해제하기가 ​​더 어려워집니다.

이유는 무엇입니까?

이러한 암호화 라운드는 AES를 뚫을 수 없도록 만들기 때문입니다! 다만 있다 너무 많은 라운드 해커가 암호를 해독하려면 침입해야 합니다.

다음과 같이 입력하십시오. 슈퍼컴퓨터는 AES 코드를 해독하는 데 우주의 추정 나이보다 몇 년이 더 걸릴 것입니다.

현재까지 AES는 사실상 위협이 없습니다.

다른 키 길이

초보 유튜버의 흔한 실수가 많고 단시간에 모든 실수를 고칠 수는 없다. 따라서 해야 할 일은 하나씩 해결하고 가장 중요한 것부터 시작하는 것입니다. 세 가지 길이의 AES 암호화 키.

각 키 길이에는 가능한 키 조합 수가 다릅니다.

  • 128비트 키 길이: 3.4 x 1038
  • 192비트 키 길이: 6.2 x 1057
  • 256비트 키 길이: 1.1 x 1077

이 암호화 방법의 키 길이는 다양하지만 블록 크기는 – 128비트(또는 16바이트) - 동일하게 유지됩니다. 

키 크기가 다른 이유는 무엇입니까? 그것은 모두 실용성에 관한 것입니다.

앱을 예로 들어보겠습니다. AES 256 대신 128비트 AES를 사용하는 경우 더 많은 컴퓨팅 성능이 필요합니다.

실질적인 효과는 더 많은 원시 전력이 필요합니다 배터리로 인해 휴대전화가 더 빨리 소모됩니다.

따라서 AES 256비트 암호화를 사용하는 동안 황금 표준, 일상적인 사용에는 적합하지 않습니다.

AES(고급 암호화 표준)는 어디에 사용됩니까?

AES는 세계에서 가장 신뢰할 수 있는 시스템 중 하나입니다. 매우 높은 수준의 보안이 필요한 여러 산업 분야에서 널리 채택되었습니다.

오늘날 AES 라이브러리는 다음을 포함한 수많은 프로그래밍 언어용으로 만들어졌습니다. C, C++, 자바, 자바스크립트, 파이썬.

AES 암호화 표준은 다른 국가에서도 사용됩니다. 파일 압축 프로그램 7 Zip, WinZip 및 RAR 포함 디스크 암호화 시스템 BitLocker 및 FileVault와 같은 및 NTFS와 같은 파일 시스템.

당신은 당신도 모르는 사이에 일상 생활에서 이미 그것을 사용하고있을 수 있습니다!

AES는 중요한 도구입니다. 데이터베이스 암호화 VPN 시스템.

여러 계정에 대한 로그인 자격 증명을 기억하기 위해 암호 관리자에 의존하는 경우 이미 AES가 발생했을 가능성이 큽니다!

WhatsApp 및 Facebook Messenger와 같이 사용하는 메시징 앱은 무엇입니까? 예, 그들도 이것을 사용합니다.

조차 비디오 게임 처럼 그랜드 테 프트 오토 IV AES를 사용하여 해커로부터 보호하십시오.

AES 명령어 세트는 모든 Intel 및 AMD 프로세서, 그래서 당신의 PC나 노트북에는 당신이 아무것도 할 필요 없이 이미 내장되어 있습니다.

물론 앱을 잊지 마세요. 은행 온라인으로 재정을 관리할 수 있도록 만들어졌습니다.

AES 암호화가 작동하는 방식을 확인한 후에는 훨씬 쉽게 호흡 귀하의 정보가 안전한 손에 있다는 지식으로!

AES 암호화의 역사

AES는 응답으로 시작되었습니다. 미국 정부의 필요합니다.

1977년에 연방 기관은 D에 의존했습니다.ata 암호화 표준(DES) 기본 암호화 알고리즘으로 사용됩니다.

그러나 1990년대까지 DES는 더 이상 안전하지 않습니다. 22 시간. 

그래서 정부가 발표한 공개 경쟁 5년 이상 지속된 새로운 시스템을 찾기 위해

또한 이 공개 프로세스의 이점 제출된 각 암호화 알고리즘이 공공 보안의 대상이 될 수 있다는 것입니다. 이것은 정부가 100% 확신 그들의 승리 시스템에는 백도어가 없었습니다.

또한 여러 마음과 눈이 얽혀 있었기 때문에 정부는 결함을 식별하고 수정합니다.

마지막으로, Rijndael 암호(오늘날의 고급 암호화 표준이라고도 함)가 챔피언으로 선정되었습니다..

Rijndael은 이를 만든 두 벨기에 암호학자의 이름을 따서 명명되었습니다. Vincent Rijmen과 Joan Daemen.

2002 년에 고급 암호화 표준으로 이름 변경 미국 NIST(National Institute of Standards and Technology)에서 발표했습니다.

NSA는 AES 알고리즘을 처리할 수 있는 능력과 보안에 대해 승인했습니다. 일급비밀 정보. 이것은 AES를 지도에 표시합니다.

그 이후로 AES는 i가 되었습니다.암호화에 대한 산업 표준.

개방형 특성은 AES 소프트웨어가 공공 및 민간, 상업 및 비상업 모두에 사용 응용 프로그램.

AES 256은 어떻게 작동합니까?

지금까지 우리는 이러한 암호화 알고리즘이 보호하는 정보를 뒤섞어 무작위로 엉망으로 만든다는 것을 알고 있습니다.

모든 암호화의 기본 원리는 is 각 데이터 단위는 보안 키에 따라 다른 단위로 대체됩니다.

근데 뭐 정확하게 AES 암호화가 업계 표준으로 간주될 만큼 충분히 안전합니까?

프로세스 개요

AES 암호화 알고리즘은 여러 라운드 암호화. 9, 11 또는 13 라운드를 통과할 수도 있습니다.

각 라운드에는 아래의 동일한 단계가 포함됩니다.

  • 데이터를 블록으로 나눕니다.
  • 키 확장.
  • 라운드 키를 추가합니다.
  • 바이트의 대체/교체.
  • 행을 이동합니다.
  • 열을 혼합하십시오.
  • 라운드 키를 다시 추가합니다.
  • 다시 하세요.

마지막 라운드가 끝나면 알고리즘은 한 번의 추가 라운드를 거칩니다. 이 세트에서 알고리즘은 1~7단계를 수행합니다. 6 단계.

이 시점에서 많은 작업을 수행하지 않기 때문에 6단계를 변경합니다. 이미 이 과정을 여러 번 거쳤음을 기억하십시오.

따라서 6단계를 반복하면 불필요한. 컬럼을 다시 혼합하는 데 필요한 처리 능력의 양은 그만한 가치가 없습니다. 더 이상 데이터를 크게 변경하지 않음.

이 시점에서 데이터는 이미 다음 라운드를 거쳤습니다.

  • 128비트 키: 10라운드
  • 192비트 키: 12라운드
  • 256비트 키: 14라운드

출력?

아르뒤죽박죽 캐릭터 세트 AES 키가 없는 사람에게는 의미가 없습니다.

자세히 보기

이제 이 대칭 블록 암호가 어떻게 만들어지는지 알 것입니다. 좀 더 자세히 알아보자.

첫째, 이러한 암호화 알고리즘은 다음을 사용하여 블록에 초기 키를 추가합니다. XOR("배타적 또는") 암호. 

이 암호는 내장된 작업 프로세서 하드웨어.

그러면 각 데이터 바이트는 교체 다른 사람과.

결정적인 단계는 미리 결정된 테이블을 따릅니다. Rijndael의 주요 일정 각 교체 방법을 결정합니다.

이제 다음 세트가 있습니다. 새로운 128비트 라운드 키 그것은 이미 뒤죽박죽으로 뒤덮인 편지들입니다.

셋째, 통과할 시간이다. AES 암호화의 첫 번째 라운드. 알고리즘은 새 라운드 키에 초기 키를 추가합니다.

이제 당신은 당신의 랜덤 암호.

넷째, 알고리즘 모든 바이트를 대체 Rijndael S-box에 따른 코드로.

이제 행을 이동 4×4 어레이의

  • 첫 번째 행은 그대로 유지됩니다.
  • 두 번째 행은 왼쪽으로 한 칸 이동합니다.
  • 세 번째 행은 두 공간으로 이동합니다.
  • 마지막으로 네 번째는 세 칸 이동합니다.

여섯째, 각 열에 미리 정의된 행렬을 곱하면 다시 새로운 코드 블록.

이것은 많은 고급 수학이 필요한 매우 복잡한 프로세스이기 때문에 자세히 설명하지 않습니다.

암호의 열이 혼합되고 결합되어 다른 블록이 나온다는 사실만 알면 됩니다.

마지막으로 블록에 라운드 키를 추가합니다(초기 키가 세 번째 단계에 있었던 것과 유사함).

그런 다음 필요한 라운드 수에 따라 헹구고 반복합니다.

이 과정은 몇 번 더 계속되어 다음과 같은 암호문을 제공합니다. 근본적으로 다른 평문에서.

그것을 해독하려면 모든 것을 반대로 하십시오!

AES 암호화 알고리즘의 각 단계는 중요한 기능을 수행합니다.

모든 단계가 필요한 이유는 무엇입니까?

각 라운드에 다른 키를 사용하면 훨씬 더 복잡한 결과를 얻을 수 있으므로 사용 중인 키 크기에 관계없이 무차별 대입 공격으로부터 데이터를 안전하게 보호할 수 있습니다.

바이트 대체 프로세스는 비선형 방식으로 데이터를 수정합니다. 이것은 숨긴다 원본과 암호화된 것의 관계 내용.

행을 이동하고 열을 혼합하면 데이터를 확산합니다. 이동하면 데이터가 수평으로 확산되고 혼합은 수직으로 확산됩니다.

바이트를 바꾸면 훨씬 더 복잡한 암호화를 얻을 수 있습니다.

결과는 믿을 수 없을 정도로 정교한 형태의 암호화 비밀 키가 없으면 해킹할 수 없습니다.

AES 암호화는 안전한가요?

프로세스에 대한 설명이 AES 키의 힘을 믿기에 충분하지 않다면 AES가 얼마나 안전한지 살펴보겠습니다.

처음에 말했듯이 NIST(National Institute of Standards and Technology)는 세 종류의 AES를 선택했습니다. 128비트 AES, 192비트 및 256비트 키.

각 유형은 여전히 ​​동일한 128비트 블록을 사용하지만 두 가지가 다릅니다.

키 길이

또한 첫 번째 차이점 각 비트 키의 길이에 있습니다.

가장 긴 것으로, AES 256비트 암호화는 가장 강력한 암호화 수준.

256비트 AES 암호화를 사용하려면 해커가 시도해야 하기 때문입니다. 2256개의 다른 조합 올바른 것이 포함되었는지 확인합니다.

우리는 이 숫자가 천문학적으로 크다. 그것이야 총 78자리! 

아직도 그것이 얼마나 큰지 이해가 되지 않는다면, 이렇게 합시다. 할 정도로 크네요 기하 급수적으로 관측 가능한 우주의 원자 수보다

분명히, 미국 정부는 국가 안보 및 기타 데이터를 보호하기 위해 128비트 또는 256비트 암호화 프로세스 필요 민감한 데이터를 위해.

AES-256, 256비트의 키 길이, 가장 큰 비트 크기를 지원하며 현재 컴퓨팅 성능 표준을 기반으로 하는 무차별 대입에 의해 사실상 깨질 수 없으므로 오늘날 현재로서는 가장 강력한 암호화 표준이 되었습니다. 

키 크기가능한 조합
1 비트2
2 비트4
4 비트16
8 비트256
16 비트65536
32 비트X 4.2 109
56비트(DES)X 7.2 1016
64 비트X 1.8 1019
128비트(AES)X 3.4 1038
192비트(AES)X 6.2 1057
256비트(AES)X 1.1 1077

암호화 라운드

또한 두 번째 차이점 이 세 가지 AES 유형 사이에는 통과하는 암호화 라운드 수가 있습니다.

128비트 AES 암호화 사용 10 라운드, AES 192 사용 12 라운드, AES 256 사용 14 라운드.

짐작할 수 있듯이 더 많은 라운드를 사용할수록 암호화가 더 복잡해집니다. 이것이 주로 AES 256을 가장 안전한 AES 구현으로 만드는 것입니다.

캐치

더 긴 키와 더 많은 라운드는 더 높은 성능과 더 많은 리소스/파워를 필요로 합니다.

AES 256 사용 40% 더 많은 시스템 리소스 AES 192보다

이것이 256비트 고급 암호화 표준이 가장 적합한 이유입니다. 고감도 환경, 민감한 데이터를 다룰 때 정부처럼.

다음과 같은 경우입니다. 속도나 힘보다 보안이 더 중요하다.

해커가 AES 256을 깰 수 있습니까?

또한 낡은 56비트 DES 키는 하루 이내에 크랙될 수 있습니다. 그러나 AES의 경우? 그것은 걸릴 것입니다 수십억 년 오늘날 우리가 가지고 있는 컴퓨팅 기술을 사용하여 중단합니다.

해커는 이러한 유형의 공격을 시도하는 것조차 어리석습니다.

즉, 우리는 인정해야합니다 어떤 암호화 시스템도 완전히 안전하지 않습니다.

AES를 조사한 연구원들은 들어갈 수 있는 몇 가지 잠재적인 방법을 찾았습니다.

위협 #1: 관련 핵심 공격

2009년에 그들은 가능한 관련 키 공격을 발견했습니다. 무차별 대입 대신 이러한 공격은 암호화 키 자체를 대상으로 함.

이러한 유형의 암호 분석은 다른 키를 사용하여 작동하는 방식을 관찰하여 암호 해독을 시도합니다.

다행히 관련 키 공격은 위협만 AES 시스템에. 작동할 수 있는 유일한 방법은 해커가 두 키 세트 간의 관계를 알고 있거나 의심하는 경우입니다.

안심하십시오. 암호 작성자는 이러한 공격을 방지하기 위해 AES 키 일정의 복잡성을 빠르게 개선했습니다.

위협 #2: 알려진 키 식별 공격

무차별 대입과 달리 이 공격은 알려진 키 암호화 구조를 해독합니다.

그러나 해킹은 AES 128의 XNUMX라운드 버전만을 대상으로 했으며, 표준 10 라운드 버전이 아닙니다. 하지만, 이것은 큰 위협이 아닙니다.

위협 #3: 부채널 공격

이것이 AES가 직면한 주요 위험입니다. 그것은 노력함으로써 작동합니다 모든 정보를 수집 시스템이 누출되고 있습니다.

해커는 다음을 들을 수 있습니다. 소리, 전자기 신호, 타이밍 정보 또는 전력 소비 보안 알고리즘이 어떻게 작동하는지 알아내려고 시도합니다.

부채널 공격을 방지하는 가장 좋은 방법은 정보 유출을 제거하거나 유출된 데이터를 마스킹 (추가 전자기 신호 또는 소리를 생성하여).

위협 #4: 핵심 공개

이것은 다음을 수행하여 충분히 증명할 수 있습니다.

  • 강력한 비밀번호
  • 다단계 인증
  • 방화벽
  • 바이러스 백신 소프트웨어 

그 위에, 직원 교육 사회 공학 및 피싱 공격에 대비합니다.

AES 암호화의 장점

AES의 암호화 과정은 비교적 이해하기 쉽습니다. 이것은 허용합니다 쉬운 구현, 뿐만 아니라 정말 빠른 암호화 및 해독 시간.

게다가 AES 더 적은 메모리가 필요합니다 DES와 같은 다른 유형의 암호화보다

마지막으로 추가 보안 레이어가 필요할 때마다 다음을 수행할 수 있습니다.AES를 다양한 보안 프로토콜과 쉽게 결합 WPA2 또는 SSL과 같은 다른 유형의 암호화와 같은 것입니다.

AES 대 ChaCha20 

AES에는 다른 유형의 암호화가 채우려고 시도한 몇 가지 제한 사항이 있습니다.

AES는 대부분의 최신 컴퓨터에 환상적이지만 휴대폰이나 태블릿에 내장되어 있지 않음.

이것이 AES가 일반적으로 모바일 장치에서 하드웨어 대신 소프트웨어를 통해 구현되는 이유입니다.

그러나 AES의 소프트웨어 구현 배터리 수명을 너무 많이 차지합니다.

ChaCha20은 256비트 키도 사용합니다. 의 여러 엔지니어에 의해 개발되었습니다. Google 이 공백을 채우기 위해.

ChaCha20의 장점:

  • CPU 친화적
  • 구현하기 쉬움
  • 더 적은 전력이 필요합니다.
  • 캐시 타이밍 공격에 대한 보안 강화
  • 또한 256비트 키입니다.

AES 대 투피쉬

Twofish는 정부가 DE를 대체하기 위해 개최한 대회에서 결선 진출자 중 하나였습니다.

Twofish는 블록 대신 Feistel 네트워크를 사용합니다. 이는 DES와 같은 이전 표준의 유사하지만 더 복잡한 버전임을 의미합니다.

오늘까지 Twofish는 깨지지 않고 남아 있습니다. 이것이 많은 사람들이 앞에서 언급한 잠재적인 위협을 고려할 때 AES보다 안전하다고 말하는 이유입니다.

주요 차이점은 AES는 키 길이에 따라 암호화 라운드 수를 변경하는 반면 Twofish는 16 라운드의 상수.

그러나 투피쉬 더 많은 메모리와 전력이 필요합니다 AES와 비교하면 모바일 또는 저가형 컴퓨팅 장치를 사용할 때 가장 큰 하락입니다.

결론

AES 암호화가 국가안보국(National Security Agency)에 충분히 적합하다면 우리는 그 보안을 신뢰하는 것 이상입니다.

오늘날 사용 가능한 많은 기술에도 불구하고 AES는 여전히 최고입니다. 회사의 일급 기밀 정보로 사용하기에 충분합니다.

참조

» 클라우드 스토리지 » AES-256 암호화란 무엇이며 어떻게 작동합니까?

뉴스 레터 가입

주간 라운드업 뉴스레터를 구독하고 최신 업계 뉴스 및 동향을 받아보세요.

'구독'을 클릭하면 당사의 이용약관 및 개인정보취급방침.