DES를 대체하기 위한 암호알고리즘 기본 구조는 다음과 같다. 라운드 함수 구조는 subbyte, shiftrow, mixcolumn, addround 과정을 거친다. 1. subbytes byte 별로 정해진 테이블에 맞춰진 값을 얻는다. 2. shiftrows 16byte 단위인 state를 행 단위로 섞어준다. 3. mixcolumns constant 값을 이용해 해당 column을 섞어준다. constant 값은 아래와 같이 주어진다. 4. addround key 라운드키와 바이트별로 xor 연산을 수행한다. 라운드 키 expansion은 다음과 같다. AES-128 : 11라운드키 AES-192 : 13라운드키 AES-256 : 15라운드키 128비트의 경우 다음과 같다. 암호화, 복호화 과정
Security Goals : Confidentiality (기밀성) Integrity (무결성) Availability (가용성) Security Attacks : Treat to Confidentiality - Snooping, Traffic Analysis Treat to Integrity - Modification, Masquerading, Replaying, Repudiation Treat to Availability - DoS (DDOS 공격할 때 그것 맞음) Basic Number Theory 유클리디안 알고리즘 def gcd(r1, r2): while(r2 > 0): q=r1//r2 r=r1-q*r2 r1,r2=r2,r return r1 Extended 유클리디안 알고리즘 def exten..
지난 번 포스팅에서 CPA를 이용하여 주어진 암호화된 hwp 파일을 복호화하였습니다. 해당 hwp파일은 다음과 같습니다. (아래 hwp 파일은 복호화 후 제가 글씨체와 글씨 크기를 변경한 것입니다. 실제 복호화된 hwp 파일은 글씨체와 크기가 다를 수 있습니다.) 열심히 주어진 문제를 푸니 또다른 문제가 나왔습니다. 하지만 위 문제는 저도 ecdsa에 대해 잘 모르던 때였지만, 이틀 만에 풀었을 정도로 어렵지 않은 문제입니다. 1. 문제 접근 위 문제는 ECDSA를 이용한 전자서명 문제입니다. 우선 ECDSA에 대해 간략히 소개하면 다음과 같습니다. ECDSA는 ECC 알고리즘을 이용한 전자서명입니다. ECC란 타원곡선 알고리즘에 기반한 공개키 암호 방식입니다. 타원곡선(elliptic curve)이라하..