본문 바로가기

전체 글141

CH02 네트워크에 대한 이해_01 프로토콜 출처: 네트워크 해킹과 보안 - 한빛아카데미 프로토콜-기술적 은어 -각각의 모국어(언어a, 언어b)와 영어만 사용할 수 있는 통역원 두 명이 언어 a 사용자와 언어 b 사용자의 소통을 도운다 한다. 소통의 과정에서는 영어가 서로의 통신을 위한 프로토콜 -문장 구조, 억양, 속도 등 많은 것으로 이루어진 고도화된 프로토콜이 사람의 언어. -컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 제대로 도착하지 않으면 메시지를 재전송하는 일련의 방법프로토콜의 3가지 요소언어, 화제, 대화 수단 등에 대한 약속을 사전에/대화 중에 정해두어야 의사소통이나 정보 교환이 가능. 이를 위해 프로토콜에는 3가지 요소가 포함되어야 함.Syntax 구문Semantics 의미Timing 순서프로토콜의 기능Addr.. 2018. 12. 17.
CH01 네트워크와 보안 출처: 네트워크 해킹과 보안-한빛아카데미 정보 보안의 3요소:Confidentiality 기밀성, Integrity 무결성, Availability 가용성&서버 인증, 클라이언트 인증도 모두 인증과 관련된 사항으로, 기밀성을 보장하기 위한 것이다. 네트워크 보안의 5가지 요소로 말할 수 있다.Confidentiality 기밀성->비밀 보장 ->허락되지 않은 사용자 또는 객체가 정보의 내용을 알 수 없도록 하는 것 ->원치 않는 정보 공개를 막는다는 의미에서 프라이버시 보호와도 밀접함 ->시스템 간 안전한 데이터 전송 (서버-서버, 서버-클라이언트, 클라이언트-클라이언트)기밀성을 해치는 공격 형태 : sniffing 스니핑=네트워크상의 패킷을 무작위로 읽어들이는 공격기밀성 보안 대책 : 통신의 암호화Int.. 2018. 12. 17.
UDP UDP가 나오게 된 배경.TCP 는 자신이 이런 복잡한 절차를 모두 마치고 패킷들이 모두 안정적으로 수신된 다음에야 비로소 프로그램에 패킷을 건네준다.그 때문에 TCP 는 느리다. 패킷 유실이 없다면 마찬가지 아닐까 생각할 수도 있지만, TCP 는 네트워크 체증을 막기 위해서 한 번에 보낼 수 있는 패킷 개수가 정해져 있다고 했다. 그래서 처음에는 적은 숫자를 보내고 유실이 없으면 이 숫자를 늘려나간다. 그 때문에 TCP 는 유실이 없다고 하더라도 한 번에 보낼 수 있는 패킷 갯수 제한 때문에 느리다. (그리고 그것 말고도 바로 보내지 않고 Nagle 알고리즘이라는 버퍼링 기법 등 구현상의 이유 때문에도 느리다.)그럼 이렇게 무거운 TCP 를 쓰고 싶지 않으면 어떻게 해야 되나? 앞에서 인터넷을 설계할 .. 2018. 12. 17.
TCP TCP는 Transmission Control Protocol이라는 글자의 약자를 딴 이름인데, 전송 제어 프로토콜 정도로 번역될 것 같다. 그러니까 안정적으로 패킷이 가지 못하는 경우 이걸 캐치해서 안정적으로 갈 수 있게 전송을 제어하는 역할을 하는 프로토콜이라는 뜻이다. 그런데 어떻게 불안정한 것 위에 안정성이라는 것을 보장해주는 것이 가능할까? 그 비결은 ACK 와 타임아웃, 그리고 재전송이다.ACK 는 받은 걸 받았다고 알려주는 것을 의미한다. Acknowledgment 라는 영어 단어의 앞 세 글자를 딴 것인데 영어 단어에서 의미하듯, “잘 받았습니다.”라는 뜻이다. TCP 데이터가 물줄기처럼 흐른다고 해서 stream이라는 표현을 쓰는데, 이것도 복잡하니까 그냥 다들 그러는 것처럼 패킷이라고 .. 2018. 12. 17.
git 쉽게 설명 http://harbor.cz/stories/data-visualization-1/ 2018. 12. 17.
3ds MAX 맥스 개념, 용어 1. 렌더링(Lights, Material, Texture) 그래픽스 파이프 라인. (사진관이라고 생각) 우리가 모델(3d primitive)이 됨. model transformation: 원하는 위치 이동. Select and move +고개 들어라. 회전. Select and rotate +Scale 크기를 조절. Scale Lighting: 조명 결정. ‘Normal map(=bump map)이 일어나는 곳.’ (normal/bump map은 조명이 있어야 함) Viewing Transformation: 카메라를 피사체와 똑같이 위치/회전/크기(배율) 조절 결정 projection transformation: 셔터를 누른다. 촬영을 한다. 3차원에서 2차원으로. 사진으로 박는. 투사시키는 scan .. 2018. 12. 17.
디자인패턴 intro 2. 인터페이스: 추상 클래스와 비슷www. omg.org-uml 설명 잘 되어 있음 3. 첫시간에 그렸던 그림들을 클래스 다이어그램이라고 함. 4. 클래스 다이어그램 - 사각형으로 표현. childclass- 속성은 없음두 클래스 사이에 관계가 있음. 삼각형은 부모쪽에 붙이기 이탤릭체: 추상클래스/메소드를 표현밑줄: 정적일 경우 =>이런 그림 그리는 것을 분석/설계. 실제를 간단하게 표현한 모델링 한 것이라고 말 함. 7.인터페이스 만드는 이유:역할을 정의하려고. 프린트와 뉴페이지를 메소드로 제공한다~인터페이스안에는 abstract 메소드만 있음printclass를 구현한다고 하면 위에서 선언된 print나 newpage를 구현하는 것. 인터페이스와 클래스는 삼각형-점선으로 표현함=약한 부모자식관계다... 2018. 12. 17.
자바 기본 개념 1. 객체지향 기능(함수,메소드) + 정보(데이터) = 클래스. 여기서 정보는 속성. 여기서 기능은 메소드 =>클래스는 메소드와 속성으로 구성되어 있다. 함수와 데이터를 한 단위로 묶어서 관리를 하게 됨. 관리도 쉬워지고 개발도 쉬워짐. =>이런 객체지향이 새로운 패러다임이었음. ex)동물병원클래스 '개'속성: 개 이름을 지어줌 name. 생년월일 age. ->개를 관리할 때 필요한 데이터를 정의 메소드: make Sound() {"멍멍"} -> 누구든지 개한테 시킬 수 있는 것들 개 클래스는 실제로 존재하는게 아니라 진짜 개들의 틀을 제공해주는 것 뿐임. 개 클래스에서 만들어지는 실제 개들: 뽀뽀, 싱가, 순심이들은 객체(인스턴스) 클래스 '고양이'속성: name, age메소드: make Sound().. 2018. 12. 17.
RSA, Public key, Diffie-Hellman, Hash 1. RSA 푸는 문제 2. public key가 가진 포지셔닝. 어떤 의미를 가지고 있고 현대 암호학은 왜 public key에서부터 등장하는가? 공개키가 암호학을 바꾸게 된 이유: 그 전엔 confidentiality가 거의 99%->공개키 등장->’무결성 개념 등장->디지털 서명 개념 등장 Confidentiality=데이터의 기밀을 유지하는 성질. 합법적으로 허가된 사용자만 그 데이터를 볼 수 있어야 한다. Integrity=무결성=prevent unauthorized modification of data. 해당 데이터가 신뢰할 만한 데이터인지를 나타내는 척도. 인가된 사용자만이 해당 데이터를 변경할 수 있어야 한다. Public key Two keys – Sender uses recipient’.. 2018. 12. 17.
Mode of operation Mode of operation 총 정리--- 1. ECB=Electric CodeBook특징: key 동일. 아주 simple한 방법. 직관적인 방법. 독립적으로 처리됨. 병렬처리 됨. 단점:cut and paste attack에 취약함. decrypt된 텍스트가 주어가 바뀐지도 모름. 상대방을 교란 시킬 수 있는 attack임. Knowing C_i=C_j and P_i=P_j, gives Trudy some information even though she does not know what P_i or P_j exatctly is. 색깔 펭귄->회색 펭귄. still 펭귄인 것은 알 수 있음.어디 블락까지 영향 2. CBC=Cipher Block Chaining Mode특징: 첫 번째 블락이 두 번.. 2018. 12. 17.
알고리즘 Pseudo-code 모음 ■ 순차검색 알고리즘 (Pseudo-code) void seqsearch(int n, // 입력(1) const keytype S[], // (2) keytype x, // (3) index& location) { // 출력 location = 1; while (location n) location = 0; } ■ 이분검색 알고리즘 void binsearch(int n, // 입력(1) const keytype S[], // (2) keytype x, // (3) index& location) // 출력 { index low, high, mid; low = 1; high = n; location = 0; while (low 2018. 12. 17.
Branch-and-Bound 수업 필기 2. Branch-and-Bound(분기한정법): '최적의 경우'를 찾는 알고리즘으로써, '최소한 이정도는 되어야 답이 될 가능성이 있다'라는 범위(bound)를 정해두고 범위를 벗어나는 값들은 가지치기(Branch)해가며 결과값을 추적한다. branch-and-bound 알고리즘의 원리 - 각 노드를 검색할 때 마다, 그 노드가 promising한지의 여부를 결정하기 위해서 한계값(bound)을 계산한다.- 그 bound는 그 노드로부터 가지를 뻗어나가서(branch) 얻을 수 있는 해답치의 한계를 나타낸다.- 따라서 만약 그 bound가 지금까지 찾은 최적의 해답치 보다 좋지 않은 경우는 더 이상 가지를 뻗어서 검색을 계속할 필요가 없으므로, 그 노드는 non-promising 할 수 있다. 3. O.. 2018. 12. 17.
Backtracking 수업 필기 ===================11223.Backtracking알고리즘: 해답이 될 가능성이 있는지를 확인하고, 유망하지 않다면 더 이상 깊게 들어가지 않고 부모 노드로 돌아오는 방식을 취한다. => 해답이 될 가능성이 없으면 배제하고, 부모노드로 되돌아가면서 풀이시간을 단축한다. 효과-> 엄청 효율적이다. The backtrack algorithm has the ability to yield thesame answer with for fewer than m trials. 5.백트래킹 기법? 백트래킹 (Backtracking) 기법은 해를 찾는 도중에 ‘막히면’(즉, 해가 아니면) 되돌아가서 다시 해를 찾아 가는 기법이다? 백트래킹 기법은 최적화 (optimization) 문제와 결정 (decisio.. 2018. 12. 17.
Greedy 수업 필기 26.그래프 용어 (참고: https://gmlwjd9405.github.io/2018/08/13/data-structure-graph.html)비방향성 그래프->양방향 통행 도로를 생각->엣지를 통해서 양 방향으로 갈 수 있다. ->ex) 정점 a와 정점 b를 연결하는 엣지는 (a,b)와 같이 정점의 쌍으로 표현한다. (a,b)와 (b,a)는 동일 방향 그래프->일방 통행 도로를 생각->엣지에 방향성이 존재하는 그래프 27.신장트리란?->'부분'그래프->&G안에 모든 정점을 포함하며&트리가 되는(임의의 노드에서 다른 노드로 가는 경로가 유일, 회로가 존재하지 않는다, 모든 노드는 서로 연결, 엣지를 하나 자르면 트리가 두 개로 분리, 엣지의 수는 노드의 수에서 1을 뺀 것과 같다)(connected a.. 2018. 12. 17.
Dynamic Programming 수업 필기 2.Divide and Conquer-> top down 해결법, 나누어진 부분들 사이에 상관관계가 없는 문제를 해결하는데 적합. ex) 피보나치 알고리즘에 d&c 방법을 사용하면 호율적 x. 왜냐? 피보나치의 경우 나누어진 부분들이 서로 연관되어 있기 때문 3.재귀적 해법. divide and conquer로 푸는 방법 중 가장 안좋은 예 4.피보나치를 d&c로 풀면 심각하게 비효율적&엄청난 중복 호출. 5,6.동적 프로그램이 solution. ex) 피보나치 수를 구하는 동적 프로그래밍 알고리즘fibonacci(n){f[0] = 0; f[1] = 1;for (i =2; iprincipal of optimality가 성립함. 2. Principle of Optimality가 성립하지 않는 예)* Lon.. 2018. 12. 17.