전체 글

전체 글

    [CS][알기 쉬운 정보보호개론 3판] Chapter04. 대칭 암호

    대칭키 암호의 예 대부분의 고전 암호들 Caesar's Cipher Substitution Cipher Vigenère Cipher ... 현대 암호들 일회용 패드 DES 3DES AES 현재 많이 사용되고 있는, 강력하다고 알려져 있는 암호화 알고리즘. 키의 크기는 128, 192, 256, 384 비트 등이고, 키의 크기가 커질 수록 안전하다. 자세한 알고리즘은 추후 설명 예정 RC4 대칭키 암호의 구성 요소 대치 (Substitution) 기본 단위가 정해진 다른 것으로 바뀌는 것 기본 단위가 바이트가 될 수도, 비트가 될 수도 1:1 대응 Ex. A → C, B → D 등 일 때, ILOVEYOU → KNQXGAQW 재배열 (치환 or Permutation or Transposition) 각 평문..

    [CS][소프트웨어공학] SW 기능 산정 (기능점수, 간이법)

    [1] 기능 점수 (FP, FunctionPoint) 과거의 소프트웨어 비용 산정 LOC(Lines of Codes)로 SW의 규모를 파악했다. 문제점 : 사용하는 프로그래밍 언어마다 기능 구현을 위한 코드 라인 수가 달라진다. 기능 점수 (Function Point) 방법 SW의 기능과 복잡한 정도를 기준으로 규모를 산정한다. IFPUG 모델을 이용하며 2003년 국제표준을 채택하였다. (ISO/IEC 20926:2003) 현재 모든 SW 개발 프로젝트의 규모 및 비용 산정의 표준이 된다. SW 시스템의 구성 요소를 2가지로 정의할 수 있다. 처리 기능 : Transaction Function, 외부입력/외부출력/외부질의 데이터 기능 : Data Function, 내부논리파일/외부인터페이스파일 그 구성..

    [CS][소프트웨어공학] SW 개발 프로젝트 관리 기법(일정/비용/위험 관리), SW 개발 프로젝트 조직 유형

    [1] SW 개발 프로젝트 실패 원인 부족한 SW 마인드 : 언제든 변경이 가능하다는 오만함 SW 공학 기술의 활용 미흡 : 공학 기법 적용을 미룸 부족한 프로젝트 관리 기술 : 수행 시 고려해야 할 요소가 기하급수적으로 증가 [2] SW 개발 프로젝트 관리 SW 개발 프로젝트의 목표 최소의 비용으로 최고의 품질을 유지하는 SW를 성공적으로 개발하는 것 프로젝트 관리의 목적 작업 수행에 필요한 여러 가지 자원, 인력, 비용, 재료, 기술 등을 가장 효과적으로 사용하여 프로젝트의 목표를 달성하는 것 SW개발 프로젝트 관리를 어렵게 하는 요인 보이지 않는 SW, 빠르게 변하는 기술, 조직마다 다른 프로세스 [3] SW 개발 프로젝트 관리 단계 계획 수립 프로젝트 목표의 이해와 문서화 스케줄, 예산, 기타 자..

    [CS][네트워크보안] Chapter03. 암호의 역사

    Caesar Cipher (Shift Cipher) 기원전 100년경의 로마장군이었던 Julius Ceasar가 사용하였다는 암호 26개의 알파벳에 대해 일정한 개수씩 밀어서 변환하는 방법 키의 값이 K일 때 암호화는 해당 알파벳의 K개 뒤에 있는 알파벳으로 바꿈 복호화는 해당 알파벳의 K개 앞에 있는 알파벳으로 바꿈 깨기 쉬움, Cipher Text Attack으로 깨기 쉬움 단일 치환 암호의 특수한 경우 가능한 K의 수가 적기 때문에 Brute force attack (전사 공격, 무작위 공격)에 취약 모든 키 중에서 바른 키를 찾는 방법 : Brute force attack, Exhaustive search, Round Robin Substitution Cipher 단일 치환 암호 평문을 구성하는 ..

    [CS][네트워크보안] Chapter2. 암호의 세계

    통신에서의 참여자 및 주요 공격 유형 송신자 : 메세지를 보내는 사람 수신자 : 메세지를 받는 사람 주요 공격 유형 도청 (Eavesdrop) : 데이터를 방지하려면 암호화를 해야함 그러나 복화화를 위한 키 공유도 노출될 수 있음 (취약점) 위/변조 : 가로채기 암호화와 복호화 for 공격 방지 평문 (plaintext) : 암호화 하기 전의 메세지, 암호문을 푼 것 암호문 (ciphertext) : 암호화 한 후의 메세지 암호 기술 : 중간의 도청자가 암호문을 가로챈다 해도 비밀값을 모른다면 암호문을 평문으로 복호화 할 수 없도록 하는 기술, 도청 방지를 위해, 기밀성을 위한 기술 보안 프로토콜 : 어떻게 암호화할지 송수신자가 미리 약속해야 함 암호 해독 (Crptanalysis) 정당한 수신자가 아닌..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter1.2 The Network Edge

    Chapter01. Computer Networks and the Internet A closer look at Internet structure network edge host = end system client & server server는 주로 data center 안에 있음 여러 전자기기들 Access networks, physical media wired/wireless communition links mobile vs home vs enterprise 통신을 위한 링크 Access networks 한 end system을 end system ~ end system 경로 상의 첫번째 라우터에 연결하는 네트워크 end system이 네트워크에 연결되기 위해 제공되는 네트워크 physical med..

    [CS][컴퓨터 네트워킹 하향식 접근] Chapter1.1 What is the Internet?

    Chapter01. Computer Networks and the Internet The Internet : a "nuts and bolts" view 인터넷의 구성요소에 대해 이야기 host = end system = Internet's edge 모든 App이 돌아가는 곳 packet switch와 communication link의 네트워크로 연결됨 Packet switch = switch 메세지를 나누어 packet 전달 routers : 1~3계층 담당, immediate system switches : 1~2계층 담당 repeater, hurb : 1개 층만 담당 Communication link = physical media 장치를 연결해주는 역할 fiber, copper : wired rad..

    [CS][데이터베이스설계와질의] Chapter01. Introduction to Database Systems

    What is a DBMS? 데이터 vs 정보 vs 지식 세가지 모두 데이터에서 파생된 개념 데이터 : 서술/관찰/측정된 날 것 그대로의 사실, 모든 것이 될 수 있음 정보 : 준비되고 조직된 데이터, 사람이 사용하기 위해 다듬고 만든 것 지식 : 실제 의사결정을 위해 사용되는 데이터/정보/규칙, 인간의 법칙까지 포함 데이터베이스 : 관련된 데이터의 크고 통합된 모음 통합(Integrated) : 개념적으로 보았을 때 데이터가 퍼져있지 않고 모아져 있음 DBMS(Database Management System) 데이터베이스를 저장하고 관리하도록 설계된 소프트웨어 패키지 DB에서 일어나는 일을 DBMS에게 맡김 DB를 관리하기 위한 체계 우리가 만드는 프로그램은 DBMS를 통해 Disk 저장소에 접근 = ..

    [CS][데이터베이스설계와질의] Chapter00. Intro-Data-Inf-Know

    Intro 데이터 : 사실들 그 자체에 대한 일차적인 표현 정보 : 사실들과 이들로부터 유도될 수 있는 유추된 사실들, 데이터 포맷을 변경하는 등의 사전 처리(prepare), 구성화(organize) 등의 프로세스를 거침 기계번역 : Rule Based 기계번역 : Data Based SMT(Statistical Machine Translation) 언어처리 : N-Grams 다음 단어를 예측할 때 특정 단어의 개수(N)만 고려 AI의 새로운 패러다임 : Data 기반, Deep Learning 기술(학습/훈련/데이터, 모델) + HW/SW 지원, 사람이 해둔 많은 데이터로 기계가 하는 것처럼 일을 했음 좋겠다