Overview of Storage and Indexing 저장장치와 인덱싱 개론 (8장) - 다양한 종류의 Seleciton을 효율적으로 지원하게 하고, 다양한 방식으로 레코드들의 집합에 접근할 때 인덱스를 사용한다. - DBMS Components Storage Manager Query Processor (Query Optimizer, Query Engine) Transaction Manager - Data Analysis 분산, 병렬 처리 Data Mining External Storage Disk - 고정비용으로 Page에 대해 직접 접근이 가능하다. Tape - 순차접근만 허용하기 때문에 직접 접근이 불가능하다. (즉, 느리다.) Internal Storage (Main Memory) File ..
Public Key Cryptography (Asymmetric Cryptography) 공개키 암호 방식 (비대칭 암호 방식) - Encryption에 사용되는, 모두에게 공개된 Public Key(공개키)와 Decryption에 사용되는, 허가된 사용자에게만 주어지는 Private Key(비밀키)를 통해 암호화/복호화하는 암호 체계이다. - Confidentiality(기밀성)와 Authentication(인증)을 제공한다. Asymmetric Cryptography Mechanisms (비대칭 암호 방식의 메커니즘) - 비대칭 암호 방식 메커니즘은 아래와 같다. Crypto based on Factoring (인수분해 기반 암호화 방식) Crypto based on Discrete Logarithm..
Block Ciphers 블록 암호 - Random Permutation을 이용한 암호화 메커니즘이다. (Fixed Size Input ↔ Fixed Size Output) - Keyed-Invertible Function을 통해 암호화/복호화한다. - 스트림 암호와 달리, 암호 전송 중 Block이 누락되면 복원할 수 없다. - 아래는 대표적인 블록 암호 체계들이다. DES Triple DES (3DES) AES IDEA Blowfish RC6 Serpent SEED - 아래는 블록 암호 체계의 운영 방법들이다. ECB Mode CBC Mode CTR Mode CFB Mode OFB Mode GCM Mode Principles of Block Ciphers (블록 암호의 지향점) - 블록 암호 체계의 ..
Stream Ciphers 스트림 암호 \(\mathrm{Plaintext} \; \oplus \; \mathrm{Random \; Number} \; \to \; \mathrm{Ciphertext}\) - 여기서 Random Number는 암호화 과정에서 Key 역할(Key String)을 한다. - Plaintext, Random Number, Ciphertext 모두 8-bits Binary Code이다. - \(\oplus\)는 XOR 연산을 의미한다. - 연속적으로 입력되는 Plaintext(Data)와 크기가 같은 Pseudo Random Number(Key String)와 XOR 연산을 취해 Byte 단위로 암호화한다. - Computer의 Deterministic한 성질로 인해 Comput..
Software Process Model 소프트웨어 프로세스 모델 - S/W Process를 추상화하여 표현한 것으로, S/W Process Activity들의 진행 방법에 대한 여러 모델들을 의미한다. - 대표적인 소프트웨어 프로세스 모델들은 아래와 같다. Waterfall Model (폭포수 모델) (URL) Incremental Development Model (점진적 개발 모델) (URL) Integration and Configuration Model (통합 및 구성 모델) (URL) Incremental Delivery Model (부분적 출시 모델) (URL) RUP (래셔널 통합 프로세스) (URL) Extreme Programming (XP) (익스트림 프로그래밍) (URL) Spiral..
Crypto 크립토 - 문맥에 따라 다를 수 있지만, 일반적으로, Cryptography, Cryptanalysis, Cryptology 모두를 아우르는 용어이다. - 암호학에서는 아래와 같은 정의를 전제하에 암호 체계를 구성 및 운용해나간다. "Key는 영원한 비밀로 남을 수 있으나, Crypto Algorithms은 언젠가 Attacker들에게 알려지게 되어있다. 그러므로, 키를 제외한 모든 부분이 알려져도 암호체계는 안전하도록 설계해야 한다." (Kerckhoffs' Principle, 커코프의 원칙) Definition about Crypto (크립토에 관련된 개념) Term Description Crypto (크립토) - 문맥에 따라 다를 수 있지만, 일반적으로, Cryptography, Cry..
Software Process 소프트웨어 프로세스 - 소프트웨어를 개발하거나 업그레이드를 목표로 진행하는 일련의 모든 활동들을 지칭한다. Generic Software Process Activity (일반적 소프트웨어 프로세스 활동) - S/W를 개발하는데 수행하는 Activity들의 집합을 의미하며, 일반적으론 아래와 같이 구성된다. Specification (기능 명세) - 소프트웨어가 수행해야 될 기능들과 개발 제약조건을 분석하는 과정이다. Design & Implementation (설계 및 구현) - 소프트웨어를 설계하고, 설계를 따라 구현한다. Validation (= Testing; 검증, 테스팅) - 만들어진 소프트웨어가 고객이 원하는 기능을 정확히 수행하는지를 검증 및 테스트한다. Evo..