www.acmicpc.net/problem/17435 17435번: 합성함수와 쿼리 함수 f : {1, 2, ..., m}→{1, 2, ..., m}이 있다. 이때 fn : {1, 2, ..., m}→{1, 2, ..., m}을 다음과 같이 정의하자. f1(x) = f(x) fn+1(x) = f(fn(x)) 예를 들어 f4(1) = f(f(f(f(1))))이다. n과 x가 주어질 때 fn(x)를 계산하는 www.acmicpc.net 대수학에서 permutation 개념을 이용한 문제입니다. 주어진 입력이 있을 때 x에서 출발해 n번 합성함수를 돌리면 어떤 수가 나올지 구하는 문제입니다. 쿼리의 수가 Q x; int res = solve(n, x); cout
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/oPuQR/btq1viGHb5L/o5bo8ZOjk2Q4QlQzWplYsk/img.png)
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에 더 적합한 모델링이라 판단되어, 암호화..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/R0Wna/btq1yFBmwOz/siGxc4LB1dzB5kPlSBgNf1/img.jpg)
이전에 라이브러리를 활용하여 이미지를 암호화하였습니다. 예전 암호분석경진대회 때 사용한 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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lByrP/btq1yZfgCmU/dsZXefNXUkS1PKG2LSEaqk/img.png)
현재 프로젝트를 위해 많은 이미지가 필요합니다. tensorflow.datasets 에도 많은 데이터셋이 있고, kaggle 사이트에도 많은 데이터셋이 있고, 정부 기관 등에도 많은 데이터가 있습니다. 이번 프로젝트를 하면서 크롤링을 어떻게 하는지 해보고 싶어 오픈된 데이터셋이 아닌 저만의 데이터셋을 만들어보았습니다. (상업용 X) 또한, 구글에 제가 원하는 데이터가 더 많은 것 같아 구글이미지를 이용했습니다. 1. 우선 크롤링에 기본적으로 필요한 아래 모듈을 다운받아줍니다. pip install beautifulsoup4 pip install selenium 2. 크롬 드라이버 설치 크롬으로 돌릴 예정이기 크롬 드라이버를 설치합니다. chromedriver.chromium.org/downloads Do..
www.acmicpc.net/problem/1019 1019번: 책 페이지 첫째 줄에 0이 총 몇 번 나오는지, 1이 총 몇 번 나오는지, ..., 9가 총 몇 번 나오는지를 공백으로 구분해 출력한다. www.acmicpc.net 페이지가 n인 책에서 0~9가 몇 번 나오는지 구하는 문제입니다. ( 책은 1페이지부터 시작, n99 이므로 이러한 경우는 따로 구해줍니다. 100,101 을 따로 구한 뒤, 99를 n으로 생각하여 풀면됩니다. 코드는 다음과 같습니다. (실제로 찍어보니 1,000,000,000을 대입해도 count[0]~count[9]가 int 범위를 안 넘으므로 그냥 int로 해도 됩니다.) #include #include #include #include #include #include us..