블록암호 12

주저리주저리 내가 아는 AES는 말이지...

·안녕하세요 주인장입니다. 바쁜 나날들을 보내다 문득 블로그가 생각나 들어와 봤어요. 스킨도 좀 바꿔보고 했는데 어떠신가요 저는 영 어색하네요. 이 말을 하려고 들어온건 아니고 갑자기 들어와본 블로그에 AES 관련 게시글이 너무 얼렁뚱땅 마무리된 것 같아서 제가 기억하는 AES를 추억할 겸... 함 적어보겠습니다. 틀린 부분은 스스로 고쳐나갈 예정이나 완전 박박 틀렸다 하는 부분을 발견하시면 댓글 주세요. 1. AES의 구조 SPN 구조라고 하는 치환-대치(맞나?) 구조를 하고 있습니다. 한 라운드는 크게 4가지 순서로 구성이 되어있는데요. 다음과 같습니다. SubBytes ShiftRows MixColumns AddRoundKey 지금부터 이 4가지 과정을 하나씩 요약해보면, 2. SubBytes 보통..

블록 암호/AES 2022.08.30

갑작스러운 최종 게시글

https://github.com/enoma422/aes.py.git GitHub - enoma422/aes.py Contribute to enoma422/aes.py development by creating an account on GitHub. github.com 그렇다. 발등에 불이 떨어진 나는... 2일만에 AES를 구현했다. AES를 1,2학년 때 배우지 않았다면 2일만에 할 수 없었겠지... 오랜만에 AES 구현하니까 재밌었다. 갑작스러운 최종 게시글은 아니고 사실... 더 공부할 것이다. key expansion 부분이랑 affine 변환, s box와 GF(2^8)의 연산까지... 거의 현대대수 시간 같다. 아무튼 했다. * https://en.wikipedia.org/wiki/Advan..

블록 암호/AES 2021.12.17

12월 2일의 일기

그렇다 오늘은 12월 2일이다. 11월이 다 지났다. 블록암호 운용모드 파일 암복호화 버전이 업로드 되지 않았다. 그 이유는 간단하다.. 며칠째인지 셀수도 없는 수많은 나날들을 파일 암복호화만 붙잡고 살았는데 내 맘처럼 되지 않는다. 뭐가 안되는지는 파악을 했다. 왜 안되는지를 파악하지 못해서 그렇지... 제일 큰 문제라면, AES와 DES, 두가지 암호로 테스트 해보며 유연하게 작동하는 운용모드를 구현하고 싶었는데 내가 분명 코드를 AES와 DES를 나누어짰음에도 불구하고 각자 암호화한 파일의 해시값이 동일하다(?) 와~ 이건 진짜 해결방법을 모르겠는 문제점이다. 모드는 이미 바이트 암복호화로 구현해봤기 때문에 수정이 쉬울거라고 생각했는데 저렇게 예상하지도 못한 문제점을 발견할 줄 몰랐다. To. 컴퓨..

1. AES

주황 체크표시된 단어와 각 라운드의 과정을 공부해나갈 예정입니다... 사실 각 라운드의 과정을 공부해 나가다 보면 Affine 변환이나 Key Expansion, S-Box는 당연히 알아야 각 과정을 이해할 수 있으니까 당연한 소리임... * https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Definitive_standards 를 참고하여 공부했습니다. * FIPS 197, Advanced Encryption Standard (AES) 를 참고하여 공부했습니다.

블록 암호/AES 2021.10.29

3-2. Padding Oracle Attack과 PCBC

CBC를 공부하다 패딩 오라클 공격이 궁금해져서 찾아보았다. 이론은 위의 사진과 같다. CBC를 작년에 구현해놨기 때문에 패딩오라클공격도 코드를 고치면 할수있겠구나 생각이 들었지만,,, 나에겐 오라클이 없다는 걸 뒤늦게 깨달았다. 오라클 구현은... 너무 복잡해서... 패스. * https://en.wikipedia.org/wiki/Padding_oracle_attack를 참고하여 공부했습니다. * https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation를 참고하여 공부했습니다.

3-1. 블록암호 운용 모드 modes of operation : ECB, CBC

*bitmap image 보충 설명 bitmap image를 암호화 할 때, 각각의 작은 픽셀들이 암호화되기 때문에 Original Image에서 동일한 색상을 가진 픽셀이 암호화 되면 암호화 되어도 전체의 이미지를 구별할 수 있다. ECB를 공부할 때, 재전송 공격에 대해서는 잘 찾아보지 않았는데 이번에 찾아봤다... 네트워크 패킷과 관련해서 많은 내용이 있어서 wiki 문서 전부를 이해할 수는 없었지만, 돌아가는 방식이나 다른 내용들도 천천히 읽어보긴 했다.... 암호도 벅찬 나는 공격은... 너무 어려운 것 같다. 오랜만에 ECB와 CBC 공부하니까... 재밌당... ㅎㅎ @2021.08.18 CBC 예시 추가 * https://en.wikipedia.org/wiki/Block_cipher 를 참고..