(2021.10.08) 이번에 정리할 부분 목차 3.1 대칭키 암호 3.1.1 kerckhoff의 원리 3.1.2 암호 해독 공격 3.2 고전 암호의 분류 3.2.1 대치 암호 3.2.1.1 단일 문자 암호 3.2.1.2 다중 문자 암호 3.1 대칭키 암호 Alice가 Bob에게 보내는 상황 보내려는 메시지 원본: 평문(Plain text) 채널을 통해 전송하는 실제 메시지: 암호문(Cipher text) 평문------>암호문 을 만들기 위하여 Alice는 암호문 알고리즘(enctyption algorithm)과 비밀키(secret key) 사용 암호문----->평문 으로 복구하기 위해 Bob은 복호문 알고리즘(decrypthion algorithm)과 비밀키(secret key) 사용 (key는 암호..
(2021.10.07) 알고리즘 수업들으면서 정리하기 5탄 3주차 내용 끝!! Divide-and-Conquer algorithms Divide-and-conquer를 이용하여 merge sort의 T(n) 계산 proof by telescoping 은 수업시간에 했음 ↓↓↓↓↓↓↓↓ proof by induction on n 은 과제로 했음 ↓↓↓↓↓↓↓↓ (답이 맞는지는 아직 모름..) Master Method for solving recurrences 과제로 했던 master method 문제들 ↓↓↓↓↓↓↓↓
(2021.10.07) 알고리즘 수업들으면서 정리하기 4탄 3주차 내용 Merge Sort insertion sort가 incremental approach로 정렬하는 반면, (정렬된 배열의 원소개수가 늘어남) merge sort는 divide-and conquer approach로 정렬한다. --> divide-and-conquer approackh는 recursion의 개념을 기반으로 한다. Divide-and-conquer Divide the problem into several su-bproblems Conquer the sub-problems by solving them recursively. Combine the solutions to the sub-problems to get the solu..
(2021.10.06) 알고리즘 수업들으면서 정리하기 3탄 3주차 내용 Asymptotic Notation (점근적 표기) 알고리즘의 런타임을 표기하기 위해서 highest-order term으로 정의하는 것을 점근적 표기라고 한다. 점근적 표기에는 세가지가 있다. Big O: 상한선 제시 - upper bound Big Omega: 하한선 제시 - lower bound Big Theta: 상한선과 하한선 둘다 제시 (Big O는 Big theta로 표기가능하지만, Big theta는 Big O로 표기할 수 없음 - 교수님 왕강조) Big O --> 상한선 제시 : upper bound Big Omega --> 하한선 제시 : lower bound --> BEST case performance를 얘기할 ..
(2021.10.06) 알고리즘 수업들으면서 정리하기 2탄 2주차+3주차 내용 Insertion sort - loop invariants statement: j-1 번째까지는 정렬되어 있음이 계속 보장된다. Initialization(초기조건): first iteration 전에도 참이어야 하는데, j=2부터 시작되는 것을 통해 first iteration 전에는 j=1임을 생각할 수 있다. j=1 일 때, A[1]은 원소가 하나이기 때문에 정렬 상태이므로 참이다. Maintenance(유지조건): 한 iteration이전에 참이었다면, 다음 iteration 이전에도 참을 유지해야 하는데, inner loop에 들어가기 전에는 out of order이고, loop를 나오는 순간에 key값이 order가..
(2021.10.06) 알고리즘 수업들으면서 정리하기 1탄 2주차 내용 insertion sort (삽입정렬) - 작동원리 input: sequence of numbers output: permutation (오름차순) pseudocode Insertion_sort(A,n) for j
(2021.10.04) 시험 공부도 할겸 연습문제를 풀어봤는데 생각보다 문제가 많고 문제하나하나 풀이과정이 너무 길어서 힘들었다... 답이 맞는지는 몰라요.. 답지 X 26번~28번 모르겠음.. 38번~40번도 모르겠음.. 암호학 수업 교재는 아주 최근에 개정된 따끈따끈한 책이다. 여름방학 때 공부한 책에 비해 설명이 자세해서 좋다. https://book.naver.com/bookdb/book_detail.nhn?bid=20910492 암호학과 네트워크 보안 암호학과 네트워크 보안의 초판을 쓴 저자 BEHROUZ A. FOROUZAN은 쉬운 문장 스타일과 시각적 접근 방식을 사용하여 어려운 개념들을 아주 쉽게 설명하였다. 학생들에게 필요한 어려운 수학 개념을 book.naver.com
(2021.10.04) 이번에 정리할 부분의 목차 2.3 행렬 2.3.1 정의 2.3.2 연산과 관계식 2.3.3 행렬식 2.3.4 역행렬 2.3.5 잉여행렬 2.4 선형 합동 2.4.1 일변수 선형 방정식 2.4.2 일차 연립 방정식 (행렬은 1학기 때 선형대수 들으면서 무진장 많이 공부했기 때문에 가볍게 정리) 2.3 행렬(Matrices) 2.3.1 행렬 정의 행렬은 l x m 개의 원소를 가지는 직사각형 배열임. l은 행의 개수, m은 열의 개수 행은 row, 열은 column 행은 가로, 열은 세로 정방행렬: 행과 열의 개수가 같은 행렬 행 m번째, 열 n번째라 하면, 정방행렬에서 m=n인 원소들은 주대각선을 이룸. 항등핼렬(I): 주대각선이 1이고, 나머지는 0인 정방행렬 2.3.2 연산과 관..
(2021.09.29) 이번에 정리할 부분의 목차 2.2 모듈로 연산 2.2.1 모듈로 연산자 2.2.2 잉여류 Zn 2.2.3 합동 2.2.4 Zn에서의 연산 2.2.5 역원 2.2.6 덧셈표와 곱셈표 2.2.7 덧셈과 곱셈에 대한 다른 집합 2.2.8 다른 두 집합 (2.2.6, 2.2.7, 2.2.8은 가볍게 정리) 2.2 모듈로 연산(modular arithmetic) 2.2.1 모듈로 연산자 a mod n = r n은 모듈로(modulus), r은 나머지(residue)라고 함 모듈로 연산자는 mod라고 표기함 모듈로 연산자는 집합 Z에서 a를 선택하고, 양의 정수 모듈로 n을 선택한다. 연산자는 음이 아닌 나머지 r을 생성한다. (+교수님이 해주신 추가적인 내용: 자연수 집합에서 덧셈연산은 닫..
(2021.09.21) 이번에 정리할 부분의 목차 2.1 정수연산(Integer Arithmetic) 2.1.1 정수 집합 2.1.2 이항 연산 2.1.3 정수의 나눗셈 2.1.4 가분성 2.1.5 선형 디오판투스 방정식 2.1 정수연산(Integer Arithmetic) 2.1.1 정수 집합 정수 집합(set of integers) 은 Z로 표현한다. 음의 무한대에서 양의 무한대까지의 모든 정수로 구성된 집합이다. Z={,,, -2, -1, 0, 1, 2, ,,,} 2.1.2 이항 연산 이항 연산이란 2개의 입력값으로 1개의 결과값을 산출하는 연산이다. 일반적으로 이항 연산에는 덧셈, 뺄셈, 곱셈이 있다. (나눗셈은 몫과 나머지라는 2개의 결과값을 산출하므로 이항 연산에 속하지 않음) 2.1.3 정수의..
(2021.07.25) 3주차 암호 스터디 (43쪽~61쪽) 2.6 중국인의 잉여 정리와 Euler의 φ함수 2.6.1 중국인의 잉여 정리 양의 정수 m1,m2,m3,...,mn이 쌍마다 서로소일 때, 연립일차 합동식 x≡b1 mod m1 x≡b2 mod m2 ... x≡bn mod mn 은 법 m=m1·m2·m3·...·mn 에 대해 단하나의 해를 가진다. Mi=m/mi (i=1,2,...,n) 으로 놓으면 m=Mi·mi, gcd(mi,Mi)=1 이므로 Mi·Ni≡1 mod mi 가 성립하는 Ni가 존재한다. 이때, T=∑bi·Mi·Ni (시그마 i=1부터 i=n까지) 라고 놓으면 모든 i=1,2,...,n 에 대하여 T=b1·M1·N1+b2·M2·N2+...+bn·Mn·Nn ≡bi·Mi·Ni mod ..
(2021.07.24) 이클립스에서 servlet 파일을 생성하면 servlet class 는 자동적으로 추상 클래쓰 HttpServlet을 상속받는다. 위 그림의 오른쪽 다이어그램에서 보듯이 HttpServelt은 다시 GernericServlet을 상속받는다. doGet과 doPost 모두 사용자에 요청에 의해서 응답하는 메소드이다. HttpServeltRequest와 HttpServeltResponse는 모두 자동적으로 생성되는 변수들이다. HttpServletRequest: 요청에 대한 정보를 가지고 있는 객체 request.getCookies(); request.getSession(); request.getAttribute(null); request.setAttribute(null); reque..
(2021.07.24) servlet path를 그대로 사용하면 URL이 복잡해지고, 보안에 취약하기 때문에 간결하게 servlet mapping을 해줄 수 있다. servlet mapping에는 두가지 방법이 있다. ① web.xml 파일을 이용한 mapping ② java annotation을 이용한 mapping web.xml 파일을 이용한 servlet mapping mapping 할 servlet의 이름, 그 경로를 태그에 넣어주고, 태그 안에 어떻게 mapping 할지 적어준다. 위의 예시에서는 com.servlet.ServletEx 를 /SE 로 mapping 해주었다. Java Annotation을 이용한 mapping @webServlet("/SE1") 은 WebServlet(name="..
(2021.07.20) yeah라는 dynamic web project 생성 yeah 안에 yeah servlet 이라는 servlet 파일 생성 servlet 파일 안에 doget 함수 안에 추가내용 작성 후 run as 서버 localhost:8090/yeah/ys 웹페이지에서 확인 아래의 경로로 servlet 파일위치 확인이 가능하다. C:\Users\USER\Desktop\jsp\yeah\build\classes\com\yeah
(2021.07.20) ohyeah 라는 dynamic web project 생성 ohyeah 폴더안에 WebContent에 hello라는 jsp 파일 생성 내용 작성 후, hello.jsp 를 run as > server 하고 localhost:8090/ohyeah/hello.jsp 로 들어가면 작성내용 확인 가능 world.jsp 도 만들어보고 똑같이 실행해보기 만들어준 jsp의 소스코드와 웹의 html 코드의 차이가 보인다. 생성해준 jsp 파일은 아래와 같은 경로를 통해 확인 가능했다. C:\Program Files\Apache Software Foundation\Tomcat 8.5\work\Catalina\localhost\ohyeah\org\apache\jsp 참고 https://www.inf..