라인달(Rijndael) 알고리즘은 현재 AES로 채택되어 가장 널리 쓰이는 대칭키 블록 암호이다.
블록 크기와 키 크기를 모두 128, 192, 256비트 중 자유롭게 선택 가능하지만 AES 표준은 블록 크기 고정 128비트, 키 크기는 128/192/256비트만 허용한다.
Rijndael의 암호화
[ SubBytes -> ShiftRows -> MixColumns -> AddRoundkey ] : 1round
약 10-14회 정도 라운드 반복하여 암호화
Rijndael의 복호화
[ AddRoundKey -> InvMixColumns -> InvShiftRows -> InvSubBytes ]
- AddRoundKey의 처리는 라운드 키와의 XOR이기 때문에 암호화와 동일한 처리
나머지 3개는 Inv, 즉 역처리
Rijndael 구조
: 함수의 층으로 구성
- 바이트 대치 계층 : s-box
SubBytes (바이트 치환 : 비선형층)
- 확산계층
ShiftRows (행 이동 : 선형혼합층)
MixColumns (열 혼합 : 비선형층)
- 키 덧셈 계층
AddRoundKey (라운드키와의 XOR : 키 추가층)

AddRoundKey
- 상태 배열 각 바이트와 해당 라운드 키 바이트를 XOR 연산
SubBytes
- 각 바이트를 S-Box 기반으로 바꿈
- S-Box? : 16*16 행렬로 총 256개의 바이트 치환 표 --> 보안성 증가

ShiftRows
- 상태 배열의 각 행을 왼쪽으로 순환 shift 한다.
- 행 번호에따라 시프트 크기가 다르며 이를 통해 확산(diffusion) 효과 강화
- ex. 0행-1시프트/3행-3시프트 ..

MixColumns
- 배열의 각 열을 고정된 4*4 행렬과 새로운 상수 곱셈
- 수학적으로 복잡하지만. 데이터가 서로 섞이며 역시 확산 효과가 강화된다

Rijndael 해독
- Rijndael 알고리즘의 배후에는 수학적 구조가 있어, 암호문을 만들어내는 계산을 수학적으로 표현이 가능하다.
-> 수학적인 조작에 의해 풀 수 있다면 수학적인 해독도 가능하며 공격의 가능성도 배제할 수 없다.
-> 하지만 아직까진 유효한 발견이 있지 않았다.
'Security Study > cryptography' 카테고리의 다른 글
| 블록 암호 모드(ECB, CBC, CFB, OFB, CTR) (0) | 2025.05.24 |
|---|---|
| 혼돈과 확산, 페이스텔(Feistal) 암호 구조 (1) | 2025.05.24 |