반응형
Notice
Recent Posts
Recent Comments
Link
안 쓰던 블로그
AES란? AES의 암호화와 키 확장 과정 본문
반응형
AES
암호화
1. 라운드키와 xor한다. (AddRoundKey)
2. 바이트를 치환한다. (SubBytes) 치환표 SBox를 이용한다
3. 행별로 바이트를 옮긴다. (ShiftRows) 첫 행은 움직이지 않고 둘째행은 왼쪽으로 1번, 셋째행은 왼쪽으로 2번, 넷째행은 3번 바이트 단위로 이동하는 왼쪽 순환 쉬프트 과정을 거친다
4. 열 별로 바이트를 섞는다. (4) 이전 라운드에서 나온 값의 각 열에 대해 임의의 행렬과 연산한다
5. 라운키와 xor한다. (AddRoundKey) 암호문과 평문을 XOR한다
6. (라운드 수 - 1) 만큼 2~5를 반복한다.
7. 마지막 라운드는 MixColumns를 제외하고 수행한다.
키 확장
1. 키를 4바이트씩 나누어 4개의 워드로 만든다.
2. 이전 번의 워드와 4번째전 워드를 xor하여 새 워드를 생성한다. ( 4의 배수 번째의 경우 이전 워드를 g함수에 통과시킨다.)
2-1. 입력의 워드를 1바이트만큼 왼쪽 순환시프트를 한다.
2-2. Subbytes에 썼던 치환을 여기서도 사용한다.
2-3. 상수값 R과 xor하여 결과를 반환한다.
3. 워드가 44개 생성될때까지 2를 반복한다
반응형
'CTF > Crypto' 카테고리의 다른 글
RSA 공격법: 약간의 평문을 알고, p/q값이 비슷할 때(Fermat Factorization attack) (1) | 2020.09.29 |
---|---|
AES (0) | 2020.09.21 |
크립토 RSA 문제 풀이(낮은 지수 공격, d값 계산) (0) | 2020.09.15 |
파이썬 sage, pycrypto 모듈 (1) | 2020.09.15 |
RSA와 RSA 공격법 (d값 계산, 낮은 지수 공격, 소인수 분해, 하스타드 공격, 위너 공격) (0) | 2020.09.15 |
Comments