처음 보는 분을 위해

전기를 쓴 흔적으로
암호 키를 찾을 수 있을까요?

컴퓨터는 데이터를 보호할 때 암호 키라는 비밀 값을 사용합니다. 여기서 다루는 AES는 그 키로 데이터를 암호화하는 방법입니다.

기기가 암호화를 할 때 쓰는 전력은 처리하는 값에 따라 조금씩 달라질 수 있습니다. 키 후보마다 예상한 전력 변화를 여러 번 기록한 전력 파형과 비교하면, 어떤 후보가 실제 키에 가까운지 추정할 수 있습니다. 이것이 상관 전력 분석(CPA)입니다.

AES의 수학적 원리를 깨는 것이 아니라, 기기가 계산하며 남기는 흔적을 이용합니다. 이 페이지는 그 과정을 보여주는 합성 예제이며, 방문자의 기기를 분석하지 않습니다.

아래 결과는 이렇게 보세요

먼저 주황색 막대를 보세요. 선택한 바이트에서 전력 변화와 가장 강하게 연결된 키 후보입니다. 16 / 16은 예제에서 미리 알고 있는 정답 키와 16바이트 모두 일치했다는 뜻입니다. 상관계수가 높다고 그 수치가 정답 확률인 것은 아닙니다.

용어가 낯설다면
평문
암호화하기 전의 데이터입니다. 이 예제에서는 알고 있는 평문과 전력 파형을 함께 사용합니다.
Trace · 전력 파형
한 번의 암호화 동안 전력 변화를 시간순으로 기록한 것입니다. 1,000 traces는 이런 기록 1,000개입니다.
바이트 · 키의 한 조각
AES-128 키는 16바이트입니다. 이 분석은 각 바이트에 들어갈 수 있는 256개 값을 비교합니다.
상관계수
예상한 값과 기록된 전력이 함께 변하는 정도입니다. 여기서는 절댓값을 비교하며, 1에 가까울수록 선형 관계가 강합니다.
분석 결과 보기
상관 전력 분석 / CPA

CPA 분석 결과

전력 파형과 평문을 비교해 AES 키 후보를 찾습니다.

분석한 traces
1,000
Points / trace
384
AES-128 · Hamming Weight 예제

기존 C 엔진으로 미리 계산한 합성 예제입니다. 새 분석 실행·파일 업로드·개인 기록은 제공하지 않습니다.

16바이트 키 복구 · 대상 선택

— / 16

Byte 00 선택 · 위: 바이트 번호 / 아래: 추정 키

전력 파형

합성 데이터 · 첫 번째 trace

키 후보별 상관계수

바이트를 선택하면 256개 후보의 결과를 볼 수 있습니다.

최상위 키 후보
결과 불러오는 중
최대 상관계수
max |Pearson r|
피크 위치
sample point
1위 / 2위 비율
정답 확률이 아닙니다

최상위 후보의 시간축 상관계수

선택된 키 후보가 어느 시점에서 강하게 드러나는지 보여줍니다.

동일한 데이터, 다른 trace 수

Trace 수에 따른 결과

Byte 00을 대상으로, 같은 합성 데이터의 앞 N개를 사용했습니다.

1위 후보2위 후보
Trace 수별 키 추정 결과
Traces추정 키정답 키 순위

한 데이터셋에서의 변화입니다. 반복 실험으로 측정한 공격 성공률은 아닙니다.

사용 가이드

CPA는 이렇게 계산합니다

입력 데이터부터 키 추정까지,
기존 C 코드의 계산 순서입니다.

  1. 전력 파형과 평문

    AES 연산 중 수집한 파형과 그때 사용한 평문을 짝지어 읽습니다.

  2. 256개 키 가설

    각 바이트의 키 후보마다 S-box 중간값을 계산합니다.

  3. 전력 소비 예상

    중간값의 1비트 개수인 Hamming Weight로 누설을 모델링합니다.

  4. 상관계수와 키 추정

    예상 누설과 파형의 절대 Pearson 상관계수가 가장 큰 키를 선택합니다.

실제 파일을 분석하려면

로컬 원본에서는 파일 업로드, C 엔진 분석, 기록 저장, CSV·JSON 다운로드를 사용할 수 있습니다. 이 공개판은 화면과 합성 결과만 공유합니다. 본인 소유 또는 분석 허가를 받은 데이터에 사용하세요.