블록 암호/운용모드 라이브러리 10

12월 2일의 일기

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

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 를 참고..

2. 블록암호 structure

블록암호는 크게 3가지 구조로 나뉜다.( SPN 구조, Peistal 구조, Lai-Massey 구조) SPN 구조를 사용하는 암호 : AES (Rijndael), 3-Way, Kalyna, Kuznyechik, PRESENT, SAFER, SHARK, and Square. Peistel 구조를 사용하는 암호: US Data Encryption Standard (DES), the Soviet/Russian GOST, Blowfish and Twofish. Lai-Massey 구조를 사용하는 암호: IDEA and IDEA NXT 작년에 공부할 때는, SPN구조와 Peistel 구조만 공부를 했었는데 이번에 확인했을 때 Lai-Massey 구조를 처음 봤다. 그래서 좀 더 자세히 공부하기도 했다. Lai-..

1. 블록암호의 정의와 운용모드

* https://en.wikipedia.org/wiki/Block_cipher 를 참고하여 공부했습니다. * Secure PRP와 균등분포 샘플링은 강의 자료를 참고하여 공부했기에 자세히 포스팅하지 못했습니다. * Secure PRP는 균등분포 샘플링과... 아주 수학적인 내용이 많이 나오기 때문에... 많은 자료가... 있지 않을까요 구글에? * Padding 관련 부분도 2차 목표인 패딩 추가 구현 때 더 깊게 공부할 예정입니다... (대충 패딩이 뭐가 있는지 찾아만 봤다는 소리)

시작!

작년 전공 수업으로 블록암호 라이브러리를 만드는 과제물을 진행했었다. 그 과제물을 review도 하고, 부족했던 부분을 더 공부하기도 하고, 더 나아가 응용할 부분을 찾아 upgrade 해보려 한다... 벌써 1년이 다 되어간다... 물론 대부분의 내용을 까먹었지만... 처음 배우는 것보다 한번 배웠던 걸 다시 배우는 게 훨씬 빠를테니까... 다시 열심히 노력해보려 한다... 여기까지가 7월 둘째주의 기록이다... 올린다는 걸 잊고 써놓기만 해놨구나... 오늘 공부한 것들을 올리려다 발견했다... 아마... 엄청 느리게... 어쩌면 이번년도 하반기 내내 찔끔찔끔 할지도 모르겠지만, 어쨌든 조금이라도 한다는게 중요한 거니까. 이왕 시작하기로 마음먹은 김에 열심히...(그러니까 꾸준히의 의미임) 해보려고 한..