프로그래밍[Univ] 343

[컴퓨터보안] 대칭키 알고리즘

* 대칭키 알고리즘 - 스트림 암호와 블럭 암호가 존재 * 스트림 암호 - n bit의 키를 이용하여 긴 키 스트림(Long key stream)을 생성하여 Message와 XOR하여 사용한다. - 송신자와 수신자는 동일한 스트림 알고리즘과 Key Stream생성값(Key)값을 알고 있어야 한다. - 스트림 암호 중에서 A5/1과 RC4를 소개한다. ⓐ A5/1 - HW로 구현되는 스트림 암호를 사용한다. - bit단위로 키 스트림이 생성된다. - 64bit의 길이를 가진 Key를 사용한다. Key는 3개의 Linear feedback shift register로 구성된다. - 알고리즘 ㄱ. m = maj(x[8], y[10], z[10]) // maj : 집단에서 가장 많은 수를 뽑아내는 함수 ㄴ. I..

[Graphics] Color model / Color mode / half tone / Dithering / 감마수정

* Basic - 전자기파(Electro-Magnetic wave) > 주파수, 파장 > ..., 우주광선, 감마, X선, (보)가시광선(적), 적외선, ... > 가시광선은 시각영역에 들어와 있는 것으로 인식 가능한 선이다. - 색도, 명도, 채도 > 색상 : 가장 큰 에너지를 가진 파장의 색 > 명도 : 파형 아래의 면적, 밝기 > 채도 : Ed - Ew(hite) * Color creation - RGB의 색의 크기를 이용하여 표현 - 자연광에서 몇몇 색 구간에서 R의 값은 음수를 가진다 > 인위적으로 제작 불가능 - 최대한 많은 색을 만들기 위해서 CIE Model이 나오게 된다. * CIE color Model - 가상의 3원색으로 모두 양의 값을 이용하여 색을 만든다. - X, Z(색), Y(..

[Graphics] 그래픽 장치/CRT 원리/Raster/Vector graphic/GPU

* 그래픽 장치 - Graphic controller(Graphic card) > GPU(Graphic process unit) > Graphic Memory - 출력장치 > Monitor > Printer > etc... - 입력장치 > Keyboard > Mouse > etc... - Workstation : 그래픽 처리, 작업 컴퓨터가 별도로 개발됨 * CRT 기본원리 * Raster Graphic - Pixel 단위로 색을 표현해준다. - 해상도 : 선명도, 지원해주는 Pixel 수 > 빛의 퍼짐현상에 의해 해상도를 무한히 키울 수 없다. - 트라이어드 방식(좌)과 스프라이프 방식(우)이 있다. > 스프라이프 방식이 트라이어드 방식보다 밝다. * Raster Display - 화소 단위로 컬러링 ..

[Graphics] 컴퓨터 그래픽 사용 분야 및 모델링/렌더링

* Computer Graphics - 컴퓨터를 사용하여 그림을 생성하는 기술 - 수작업에 비해 반복 수행이 가능하기 때문에 효율성이 높아진다. - 이미지를 생성, 창조하는 것이다. - Image processing(영상처리)와는 다른 분야이다. > Image processing : 있는 그림을 수정하는 것에 중점을 둔다. * CG 응용 분야 ⓐ CAD : 설계에 드는 비용(인력, 시간, 노력)을 줄여 설계효율을 향상 시키는 것 (CAM : CAD로 만들어진 설계서의 실제 데이터를 공장에서 그대로 사용할 수 있게 해주는 SW) ⓑ 가시화 : 글로 써있는 것보다 그림이 직관적으로 판단하기 쉽다. - 프레젠테이션에서 다양한 시각화를 통해서 직관적인 이해를 돕는다. - 자연 현상을 3D로 시각화하여 직관적으로..

[Architecture] Basic & Review

Review 부분은 간단히 정리만하고 넘어간다. * Computer System - 하나의 큰 동기 시스템 - 각각은 독립적으로 운영되지만 서로 협력하여 일을 처리 하는 경우가 많다. - 자원에 대한 사용 시간을 나누고, 시간 정보를 공유하여 원하는 때 서로의 시스템에 도움을 요청, 처리를 한다. - 시간자원을 공유하기 위해서 모든 시스템(Sub system)은 시계와 유사한 기능을 하는 것을 갖고 있다. - 계수기가 있다. * 데이터 표현 - 데이터의 표현은 Binary로 표현한다. - 간단하다. > 기호의 표현이 0과 1만 있다. - 전압상태를 나타내기 쉽다. > 전압이 흐른다. 흐르지 않다로 나타내면된다. - 우리가 쓰는 수체계(10진수)와 다르기 때문에 변환이 필수적이다. > 10진수 ↔ 2진수 ..

[컴퓨터보안] Crypto basic

* Crypto(암호체계) - 평문을 암호화 하는데 사용하는 것 - 키와 알고리즘으로 나눠져 있다. - 암호체계(알고리즘)은 공격자 및 일반 사람 모두에게 공개 되있다. - 키는 암호체계에서 암호를 Unique하게 해주는 비밀 값이다. - 키를 통해서 평문을 암호문으로 만들거나 암호문을 평문으로 만들 수 있다. - Kerckhoffs Priniple > 암호 알고리즘은 비밀이 아니다. > 현재까지 경험상, 암호 알고리즘은 언젠가는 밝혀진다. > 암호 알고리즘의 변경은 힘들지만, 키의 변경은 간단하다. > 키가 변경되면 암호체계가 변경되고, 새로운 암호가 된다. * 고전적 암호 알고리즘 ⓐ 단순 치환 - 알고리즘 : 알파벳의 순서를 Key값 만큼 Shift하여 위치를 변경하여 작성한다. - Key값 : 얼..

[컴퓨터보안] 소개 및 기본

* CIA - 보안의 중요하고 가장 기본적인 요구사항 ⓐ C(Confidentiality/기밀성) - 허가되지 않은 사람은 정보를 읽지 못한다. - 권한이 없는 사람은 정보를 읽지 못한다. - Don't read information, if you are not authorized. ※ cf) Privacy : Privacy도 기밀성과 같은 이야기지만, 요즘은 개인정보보호의 개념에 Privacy용어를 사용한다. Secrecy ≒ Confidentiality ⓑ I(Integrity/무결성) - 허가되지 않는 사람은 정보를 변경할 수 없다. - 허가가 되어 정보를 읽을 수 있지만, 내용을 수정할 수는 없다. ⓒ A(Availability/가용성) - 필요할 때 언제든지 사용이 가능해야 한다. - 언제든지 ..

[인공지능] 소프트 컴퓨팅(soft computing)

1. 개념 - 수많은 문제를 해결하기 위해서는 위에서 언급한 3가지의 기능을 적절히 섞어서 사용해야 한다. - 이는 문제를 푸는데 드는 비용을 감소하기 위함이다. - 이러한 개념이 하이브리드 지능 시스템(Hybrid intelligent system)이다. - 하이브리드 지능 시스템을 구축하는 방법을 소프트 컴퓨팅(soft computing)이라고 한다. 2. 소프트 컴퓨팅 - 불확실하고 부정확하며 불완전한 정보를 다루는데 뛰어나다. - 수치화하기보다 인간의 말로 표현된 소프트 데이터를 주로 사용한다. - 전통적인 인공지능이 인간의 지식을 기호로 나타낸 것에 비해 소프트 컴퓨팅은 인간의 말 그대로를 사용한다. 3. 소프트컴퓨팅 선택 표 - 자신이 구현하는 시스템의 성질을 보고 조합하면 된다.

[소프트웨어공학론] Design Pattern

1. Observer Pattern ⓐ Name : Observer ⓑ Description - 본 패턴은 객체 사이에 일 대 다의 종속성을 정의하고 한 객체의 상태가 변하면 종속된 객체에게 통보가 가서 자동으로 업데이트가 일어나게 하는 것이 목적인 패턴이다. - 주로 한 객체에 대한 View(Display)와 State(상태, 데이터)를 나누는 것에 많이 사용된다. ⓒ Problem Description - 하나의 상태에 대해서 다양한 형태로 표현해주는 시스템 개발에 사용된다. ⓓ Solution Description - 두 개의 추상 클래스, Observer, Subject를 이용해서 해결한다. - Observer Object는 Observer Interface로부터 상속받은 객체로써, observe..

[인공지능] Fuzzy 퍼지 시스템

* 퍼지 사고 - 모호한 용어를 사용하는 전문가의 지식을 컴퓨터에 수치화 하여 나타낼 방법을 모색 - 모호한 용어와 같이 모호한 대상을 다루는 논리가 퍼지 논리(Fuzzy logic)이다. - 또한 퍼지 논리를 조절 할 수 있는 것이 퍼지 집합(Fuzzy set)이다. - Boolean Logic vs Fuzzy logic > 전통적인 논리는 이분법에 의해 구분되게 된다. > 퍼지논리는 사람이 생각하는 방식을 반영하여, 사람의 인식을 모델링 한다. - Jan Lukasiewicz : 모호함을 수학적으로 바꾸는 것을 최초로 시도한 사람 > 0~1과 사이의 수치로 진리값을 사용하여, 문장이 참이나 거짓이 되는 가능성을 나타냈다. eg) 만약 온도가 40도라면 0.8의 확률로 뜨겁다. > 모호한 대상을 다루는..