🍋
Menu
Security

AES

AES (Advanced Encryption Standard)

2001년 미국 정부(NIST)에 의해 표준으로 채택된 가장 널리 사용되는 대칭 암호화 알고리즘입니다. AES는 128, 192 또는 256비트 키를 사용하여 고정된 128비트 블록 단위로 데이터를 암호화합니다.

기술 세부사항

AES는 치환(S-box), 행 이동, 열 혼합, 키 추가 변환의 여러 라운드를 통해 작동합니다(128/192/256비트 키에 대해 10/12/14라운드). 블록 암호 모드는 여러 블록을 처리하는 방법을 결정합니다: ECB(안전하지 않음, 패턴 노출), CBC(블록 체인, IV 필요), CTR(카운터 모드, 병렬화 가능), GCM(Galois/Counter Mode, 암호화와 인증 모두 제공). Web Crypto API는 AES-GCM, AES-CBC, AES-CTR, AES-KW를 지원합니다. AES-256-GCM은 TLS 1.3, 파일 암호화, 디스크 암호화(BitLocker, FileVault)의 표준입니다.

예시

```javascript
// AES-256-GCM encryption (Web Crypto API)
const key = await crypto.subtle.generateKey(
  { name: 'AES-GCM', length: 256 }, true, ['encrypt', 'decrypt']
);
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
  { name: 'AES-GCM', iv },
  key,
  new TextEncoder().encode('secret message')
);
```

관련 도구

관련 용어