2024. 6. 18. 21:11ㆍ컴퓨터 보안
AES: Advanced Encryption Standard
AES의 핵심을 S-BOX이다.
AES의 적는 형태: AES-128 등
AES-128 => 128비트의 대칭키를 사용하여 암호화
AES 이용 분야:
1. 랜섬웨어
AES:
1.AddRoundKey(State, Key0) => XOR 연산을 사용함
XOR 이용분야:
1. 오류 검출
2. 연산
2. SubBytes(State, S-box) => 대치함수
a(2, 2)를 b(2, 2)로 지정된 수로 바꿔주는 방식이다.
예를 들면
입력: byte 5, 3일 때
1byte=8bit
8bit를 4bit, 4bit으로 나눔
세로: 행이므로 먼저 입력받은 5
가로: 열이므로 나중에 입력받은 3
그러므로 세로에서 5, 가로에서 3을 찾으면 ED가 나오게 된다.
3. ShiftRows(State):
State = X
AddroundKey(State, Key0) => XOR 연산
for i = 1 to r - 1
SubBytes(State, S-box) => 대치
ShiftRows(State) => 이동
MixColumns(State) => 행열곱
AddRoundKey(State, Keyi) => XOR 연산
SubBytes(State, S-box) => 대치
ShiftRows(State)
AddRoundKey(State, Keyr)
State = Y
4. MixColumns:
AES에서 한 라운드 내에서 수행되는 네 가지 주요 변환 중 하나이며, 이 변환은 각 열을 독립적으로 처리하며, 각 열의 값을 선형 변환하여 바꿔 데이터의 확산을 증가시켜 암호문 분석을 어렵게 만드는 기능을 갖고 있습니다.
5. AddRoundKey:
1. 역할: 라운드 키를 상태 배열과 XOR 연산을 통해 결합하며 각 라운드마다 데이터를 키와 결합하여 암호화 강도를 높이는 역할을 하고 있습니다.
2. 작동 방식:
- 라운드 키 준비: 키 스테줄링 알고리즘을 통해 생성된 라운드 키를 사용하며, 해당 라운드 키는 초기 키에서 여러 라운드 키가 생성되는 방식으로 각 라운드마다 다른 라운드 키가 생성 및 사용됩니다.
- XOR 연산: 상태 배열과 라운드 키는 같은 크기로, 이 두 값을 비트 단위로 XOR 연산을 수행하여 각 비트가 결합되는 방식입니다.
3. 특징: 안전성 향상: 각 라운드마다 다른 라운드 키를 사용하여 암호화 과정의 다양성을 증가시킵니다. 이는 반복된 데이터 패턴을 제거하고 공격자에게 어려움을 주는 특징을 갖고 있습니다.
AddRoundKey는 AES 암호화 과정에서 중요한 역할을 하며, 키와 데이터의 결합을 통해 보안을 강화합니다.
이를 통해 AES는 강력한 암호화 알고리즘으로 작동하고 있음을 알 수 있습니다.
저는 이러한 암호화 방식을 공부하며 언젠간 이 암호화 방식도 쉽게 풀려 다른 암호화 방식으로 대체될 것을 알고 있지만 이러한 암호화 방식을 사람이 만들었다는 것이 대단하다고 느끼며 저도 가능하면 저만의 암호화 방식을 만들어보고 싶습니다.
'컴퓨터 보안' 카테고리의 다른 글
컴보A 2024-08-21 (0) | 2024.08.21 |
---|---|
공격 유형 정리 및 당부 (0) | 2024.06.18 |
인증방법 (0) | 2024.06.12 |