AES128의 ECB, CBC, OFB로 256 * 256 pixel로 암호화를 진행하였습니다. 이제 해당 이미지들을 이용하여 딥러닝 학습을 진행해보도록 하겠습니다. 컴파일 : Google Colab 프레임워크 : tensorflow2 예상 결과 : ECB를 제외하고는 구분 불가 1. ECB와 CBC 구분 CBC와 OFB 자체는 육안으로 구분 불가하기에 먼저 ECB와 CBC 구분 모델부터 만들어보겠습니다. 제가 만든 모델의 경우, 처음에 AlexNet과 유사한 모델을 만들어 적용했지만, 55%의 정확도를 넘지 못해 kaggle의 개, 고양이 이미지 분류에 사용되는 모델을 참고하여 모델링하였습니다. 또한 256 * 256 pixel 보다 128 * 128 pixel에 더 적합한 모델링이라 판단되어, 암호화..
이전에 라이브러리를 활용하여 이미지를 암호화하였습니다. 예전 암호분석경진대회 때 사용한 AES 함수를 이용해 이미지 암호화를 진행해보겠습니다. 1. 기본적으로 필요한 모듈과 함수들 from PIL import Image import numpy as np import matplotlib.pyplot as plt sbox = [99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 21..
현재 프로젝트를 위해 많은 이미지가 필요합니다. tensorflow.datasets 에도 많은 데이터셋이 있고, kaggle 사이트에도 많은 데이터셋이 있고, 정부 기관 등에도 많은 데이터가 있습니다. 이번 프로젝트를 하면서 크롤링을 어떻게 하는지 해보고 싶어 오픈된 데이터셋이 아닌 저만의 데이터셋을 만들어보았습니다. (상업용 X) 또한, 구글에 제가 원하는 데이터가 더 많은 것 같아 구글이미지를 이용했습니다. 1. 우선 크롤링에 기본적으로 필요한 아래 모듈을 다운받아줍니다. pip install beautifulsoup4 pip install selenium 2. 크롬 드라이버 설치 크롬으로 돌릴 예정이기 크롬 드라이버를 설치합니다. chromedriver.chromium.org/downloads Do..
딥러닝을 활용한 암호 알고리즘 판별이라는 프로젝트를 본격적으로 시작하였습니다. 여러 데이터셋을 만들고 관련 내용을 공부하다 보니 느낀 점은 과연 이게 가능할까?입니다. ㅎㅎㅎ (암호학도 어렵고 딥러닝도 어려워어어어) 간단하게 python의 pycrypto 모듈을 이용해 암호화를 진행해보겠습니다. 참고 : www.programmersought.com/article/55045025094/ 우선 필요한 라이브러리와 모듈을 설치합니다. 그리고 암호화 시킬 파일의 경로를 가져옵니다. (bmp : bitmap 파일, 이걸로 굳이 변환 안해도 됨. jpg로 해도 괜찮음.) # 라이브러리로 이미지 암호화 해보기 from PIL import Image from tensorflow import keras import ra..