티스토리 뷰
지난 16라운드 DES 암호화 이미지 판별 모델을 적용하여 1라운드 암호화 이미지 판별을 실시하였습니다.
사실 16라운드가 암호화가 더 잘 된 상황이지만, CBC와 OFB는 구분 할 수 없었습니다.
1라운드 암호화 이미지의 경우 OFB와 CBC의 구분이 확실하고, ECB와 OFB 또한 어느정도의 구분이 가능하기 때문에 3가지 모드 모두를 판별하는 모델까지 작성하였습니다.
아래는 1라운드 암호화시 이미지입니다. (원본, ECB, CBC, OFB)
우선 기본 모델은 다음과 같습니다. (2가지 모드 비교)
model = keras.models.Sequential([
keras.layers.Conv2D(32, 3, activation="relu", strides=(1,3),padding="same", input_shape=[128,128,3]),
keras.layers.MaxPooling2D(2, padding="valid"),
keras.layers.Dropout(0.25),
keras.layers.Conv2D(64, 3, activation="relu", strides=(1,3), padding="same"),
keras.layers.MaxPooling2D(2, padding="valid"),
keras.layers.Dropout(0.25),
keras.layers.Conv2D(128, 3, activation="relu", padding="same"),
keras.layers.MaxPooling2D(2, padding="valid"),
keras.layers.Dropout(0.25),
keras.layers.Flatten(),
keras.layers.Dense(512, activation="relu"),
keras.layers.Dropout(0.5),
keras.layers.Dense(2, activation="softmax")
])
데이터셋에 대한 코드는 지난 AES 암호화 이미지 판별에서와 마찬가지 방법을 사용하였습니다.
컴파일은 다음과 같습니다.
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics="accuracy")
3가지 모드 판별은 모델의 마지막 출력층을 Dense(3, activation="softmax") 으로 하였습니다.
'암호학 > 자기주도연구 프로젝트' 카테고리의 다른 글
자기주도연구 프로젝트 마무리 (1) | 2021.05.23 |
---|---|
DES 2라운드 암호화 이미지 판별 모델 (0) | 2021.05.23 |
DES 이미지 암호화 딥러닝 학습 (16round) (0) | 2021.05.05 |
이미지 암호화 / DES (single) 활용한 이미지 암호화 (0) | 2021.04.09 |
암호화 이미지 딥러닝 모델링 (AES128) (0) | 2021.04.01 |
댓글