[시스템 보안] Chapter 3 - 대칭키 암호
·
Major/Security
1. 스트림(Stream) 암호 1) 특징 - 일회성 암호방식과 같다. - 길이가 n개인 키를 가지고, 이 키를 긴 키스트림으로 늘인다. 2) 방법 - 암호화 : 키스트림과 평문 P을 XOR연산을 하여 암호문 C를 만든다. - 복호화 : 암호화에 사용했던 똑같은 키스트림을 생성하고, 암호문과 XOR연산하면 평문이 만들어진다. ex) P = P0P1P2.., S = S0S1S2.... 일때, 암호문 C는 C0 = P0⊕S0 , C1 = P1⊕S1 , ..... 이되고, C = C0C1C2... 이 된다. 2. A5/1 1) 방식 : X, Y, Z라고 라벨붙인 3개의 선형 피드백 시프트 레지스터를 사용한다. (하드웨어방식) - 레지스터 X는 19비트, Y는 22비트, Z는 23비트로 구성됨 총 64비트로 구..
[데이터베이스] 데이터베이스 시스템의 개요
·
Major/Database
1. 정보 처리 시스템 1) 데이터와 정보 데이터 != 정보 데이터 : 현실 세계로부터 관찰이나 측정을 통해 수집된 사실이나 값 정보 : 의사결정을 할 수있게 하는 지식으로서 데이터의 유효한 해석이나 데이터 상호관계 Information = Process(Data) 2) 정보가 유용성을 가지기 위한 조건 정확성 현재성 3) 정보처리 시스템 : 컴퓨터가 정보를 생성하기 위해 데이터를 처리하는 작업 4) 데이터베이스 시스템 : 정보 처리 시스템이 기능을 효율적으로 수행할 수 있게 하는 도구 5) 정보 시스템 : 한 기관을 위해 데이터를 수집, 조직, 저장하고 정보를 생성, 분배하는 수단 2. 데이터 처리 시스템 1) 3V(빅데이터의 3대 요소) ① 크기(Volume) : 수십Tb 이상 ② 속도(Velocit..
[컴퓨터 구조] Chapter 1_컴퓨터 추상화 및 관련 기술 *
·
Major/Architecture
1. 상대 성능 - 실행시간이 작을수록/클수록 성능이 좋다/나쁘다. 2. 경과시간/CPU시간 - 경과시간 : 총 반응시간 - CPU시간 : 주어진 일을 수행하는데 걸리는 시간 3. CPU 클럭킹(clocking) 1) 클럭 간격(clock period) : 클럭사이클 하나 걸리는 시간 ex) 250ps = 0.25ns = 250*10^-12s 2) 클럭 주기(clock frequency) : 1초당 클록사이클의 길이 (=클럭속도) 4. CPU 시간 - 성능이 증가되는 법 클럭 사이클 수의 개수를 낮춘다 클럭주기(속도)를 높힌다 ex) CPU Time 문제 A컴퓨터는 2GHz clock과, 10s CPU 시간이 걸린다. B컴퓨터를 디자인하려하는데, CPU시간을 6S로 하고 싶다. 하지만 클럭속도를 빠르게 ..
[C++] 공백(띄어쓰기)포함 문자열 입력받기
·
Major/C&C++
1. getline 이용 int main() { string s; getline(cin, s); cout
[C++] 문자열 자르기, 자른 문자열 배열에 담기(strtok이용)
·
Major/C&C++
C++에서는 특정문자 기준으로 문자열을 자르는 기능이 없다. => C의 strtok를 이용해야한다. 하지만 strtok의 첫번째 매개변수는 char배열이어야한다! 그래서 string을 c언어의 문자열형식으로 바꿔줘야 한다. 1. strcpy(담을 char배열, string.c_str()) 2. strtok(자를 char배열, 구분문자) strtok은 자른 문자열의 포인터를 반환한다. 문자열 끝에 왔을 때는 NULL을 반환한다. char c_array[100]; string s = "Hello Happy World!"; strcpy(c_array, s.c_str()); char *ptr = strtok(c_array, " "); //첫번째로 자를 땐 첫번째 매개변수에 문자열 while (ptr != NUL..
[C++] 명품 C++ Programming 4장 연습문제
·
Major/C&C++
4장 연습문제1. // 1)Rect *p;// 2)p = &r//3)cout getWidth() getHeight(); 2.// 1)q = new Rect(w, h);// 2)cout getArea();// 3)delete q; 3. ①기본 생성자가 없기 때문에 오류난다. 4. Rect클래스의 기본 생성자를 만든다.Rect(); 5.for(int i=0; i 6. ④c는 객체이므로 (*c).getVolume()은 지정되어 있지 않다.  7. ④delete는 동적으로 배열을 생성했을 때 사용이 가능하다. 8.기본생성자기본생성자기본생성자소멸자소멸자소멸자 9. ①new와 delete는 기본 연산자다. 10.배열로 객체를..
[C++] 명품 C++ Programming 4장 개념정리
·
Major/C&C++
04 Chapter - 객체 포인터와 객체 배열, 객체의 동적 생성 1. 객체 포인터 객체에 대한 포인터 변수 선언 Circle *p; 포인터 변수에 객체 주소 지정 p = &donut; // p에 donut 객체 주소 저장 Circle* p = &donut; // 선언과 동시에 초기화 포인터를 이용한 객체 멤버 접근 d = donut.getArea(); //객체 이름으로 멤버 함수 호출 d = p->getArea(); //포인터로 객체 멤버 함수 호출 d = (*p).getArea(); ※ 초기화 하지 않은 객체 포인터를 이용하면 오류(null pointer assignment)가 발생한다 2. 객체 배열 1) 객체 배열 선언 및 활용 객체 배열 선언 Circle circleArray[3]; - cir..
[C언어로 쉽게 풀어쓴 자료구조] 03장 - 연습문제
·
Major/Data Structure
3Chapter 배열, 구조체, 포인터 - 연습문제 1. ④ 해설 : 4 * 10 * 20 = 800 2. ④ 해설 : 1000 + 4(float)*10 = 1040 3. ② 1) 40 2) 80 3) 40 4) 40 4. int main() { int two[10]; for (int i = 0; i < 10; i++) { two[i] = pow(2, i); printf("%d ", two[i]); } } 5. struct person { char name[10]; int age; float wage; } 6. typedef complex { float real; float imaginary; } complex; complex c1, c2; 7. typedef struct Complex { int rea..
[C++] 명품 C++ Programming 3장 연습문제
·
Major/C&C++
3장 연습문제 1. 객체의 구성요소를 감싸서 보호하고 볼 수 없게 하기 위해 2. ③ 3. 멤버변수가 public으로 선언되어 누구나 접근 가능하기 때문에 캡슐화 x 4. class Person(){ int age; public: void older() { age++; } }; 5. 접근지정자의 디폴트가 private 이므로 외부에서 사용이 불가하다. & 마지막 세미콜론 class Circle { int radius; public: double getArea(); }; 6. 생성자에 리턴타입을 선언할 수 없다. class Tower{ int height = 20; public: Tower(){ height = 10; }; 7. 매개변수가 있는 생성자를 선언하였으므로 main함수에서 기본 생성자를 호출할수..