본문 바로가기
반응형

IT 지식21

RSA 알고리즘 RSA 알고리즘이란? 미국 MIT 에서 개발한 암호화 알고리즘으로 Ron Rivest, Adi Shamir, Leonard Adleman 세 사람의 성을 따서 RSA라는 이름이 붙은 비대칭키 암호화 알고리즘에 대해 알아보겠습니다. RSA-2048은 전 세계 대부분의 인터넷 뱅킹에서 암호화 알고리즘으로 채택할 정도로 견고한 보안성을 가진 알고리즘 입니다. 앞서 디피 헬만 알고리즘은 이산 대수의 어려움으로 만들어졌다고 했습니다. 2023.12.28 - [정보관리기술사준비/보안] - 디피-헬만 알고리즘 디피-헬만 알고리즘 디피-헬만 알고리즘이란? 미국 스탠퍼드 대학교의 휫필드 디피(Whitfield Diffie)와 마틴 헬만(Martin Hellman)이 공동 개발한 디피 헬만 키 교환 알고리즘에 대해 알아보.. 2023. 12. 28.
디피-헬만 알고리즘 디피-헬만 알고리즘이란? 미국 스탠퍼드 대학교의 휫필드 디피(Whitfield Diffie)와 마틴 헬만(Martin Hellman)이 공동 개발한 디피 헬만 키 교환 알고리즘에 대해 알아보겠습니다. 디피 헬만 알고리즘은 이산 대수의 어려움으로 탄생한 알고리즘입니다. $$ y = g^x \bmod p $$ 이와 같은 공식이 있습니다. p는 소수이고 g는 정수로 엄청 큰 숫자 입니다. 이 두 수는 공개된 숫자입니다. 이 때 p, g, x를 알고 있다면 y는 구하기 쉽지만 p, g, y를 알고 있을 때에는 x를 구하기 어렵다는 점에 착안하여 만들어졌습니다. 4662라는 숫자가 있을 때 이 숫자가 어떤 두 수의 곱인지는 알기 쉽지 않습니다. 하지만 반대로 63이라는 숫자를 알고 있다면 4662 / 63으로 나.. 2023. 12. 28.
해시(Hash) 알고리즘 해시 알고리즘이란? 해시 알고리즘은 Key와 Value로 구성된 Array 형태의 테이블이라는 것이 제가 알고 있던 전부였습니다. 어떤 값을 입력하면 Hash function을 통해 어떤 출력값을 가지는 것입니다. 아래 그림을 예로 들면 John Smith를 입력하면 해시값으로 02가 튀어나오는 거라 생각하면 됩니다. 가장 손쉽게 Hash function을 만드는 방법은 아스키 코드값을 사용하는 것입니다. John Smith 라는 입력을 받아 각각의 문자의 아스키코드값을 다 더해주는 것입니다. 아스키 코드값을 사용하는 것은 예를 든것이고 이것보다 더 복잡하고 보안에 강력하게 만들어져 있습니다. 해시 충돌 위에서 John Smith와 Sandra Dee의 해시값이 같은것을 알 수 있습니다. 이것을 충돌(C.. 2023. 12. 21.
릴레이션(Relation) 서로간의 관계를 뜻하는 릴레이션(Relation)이 데이터베이스에서 어떤 의미로 사용되고, 무엇을 뜻하는지 알아보겠습니다. 릴레이션의 정의 - 관계형 데이터베이스에서 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장하는 기본 단위 입니다. 릴레이션 용어들 알아보기 쉽게 생각해서 하나의 RDBMS에서 하나의 테이블을 릴레이션이라 생각하면 될 것 같습니다. 위 테이블은 학생이라는 테이블을 만들었다고 했을 때의 모습입니다. 학생이 바로 릴레이션(Relation)명이 됩니다. 속성(Attribute)은 학번, 이름, 성별, 핸드폰, 이메일등 릴레이션의 열에 있는 것 입니다. 속성의 개수가 총 5개인데 이것을 Degree 우리말로는 차수라고 합니다. 여기서는 5가지의 속성을 가지고 있기 때문에 Degree.. 2023. 12. 19.
큐비트(Qubit) 큐비트(Qubit)는 퀀텀 비트(Quantum Bit)의 줄임말로 양자 컴퓨터에서 사용하는 가장 기본적인 정보의 단위 입니다. 기존 컴퓨터에서 가장 기본적인 단위는 비트(Bit)로 0 또는 1의 상태를 가지고 있고, 상태도 고정되어 있습니다. 하지만 큐비트는 0과 1이 동시에 존재하고 상태도 불확정 상태로 측정시에 관측되는 특성이 있습니다. 쉬레딩거의 고양이 사실 0과 1이 동시에 존재한다는 것도 이해하기 힘들고, 상태를 알 수 없다는 것도 이해하기 힘듭니다. 이것은 양자역학을 알지 못하면 이해하기 힘든게 사실입니다. 양자역학을 이해하는데 가장 많이 언급되는 실험이 슈뢰딩거의 고양이 입니다. 상자를 관측하기 전까지 고양이가 살았는지 죽었는지 알 수 없고 중첩된 상태로 공존한다는 실험 입니다. 죽었으면 죽.. 2023. 12. 16.
PACELC 이론 PACELC 이론은 앞서 설명했던 NoSQL과 CAP 이론을 이해한 뒤 읽어주시기 바랍니다. PACELC 이론은 CAP 이론을 보완하기 위해 등장한 이론 입니다. CA의 경우 네트워크 장애가 전혀 없다는 전제가 깔려 있습니다. 하지만 이것은 분산 환경에는 존재할 수 없습니다. 따라서 무조건 P는 전제로 깔고 가야 합니다. 그러다보니 CP, AP 중 하나를 선택해야 하는데 이것은 장애 상황만 고려한 것입니다. 정상적인 상황도 고려한 이론이 필요했습니다. PACELC 이론이란? PACELC 이론은 PAC + ELC 라고 생각하면 됩니다. 그럼 먼저 PAC에 대해 알아보겠습니다. PAC 는 CAP 이론의 약자와 같습니다. 약자들의 순서를 바꾼 이유는 Partition Tolerance(분할 허용성) 상황에서 .. 2023. 12. 15.
CAP 이론 앞서 NoSQL은 비정형 데이터를 효율적으로 처리하기 위해 분산 DBMS를 사용한다고 하였습니다. 이렇게 분산 DB를 사용하다보면 선택과 집중이 필요한 순간이 오게 됩니다. 성능과 효율의 Trade-Off가 필요한 CAP 이론에 대해 알아보겠습니다. CAP 이론이란? Brewer 이론이라고도 알려진 CAP 이론에 대해 알아보겠습니다. CAP은 세가지 속성의 약자로 각각 일관성(Consistency), 가용성(Availability), 분할 허용성(Partition Tolerance)이라 불립니다. CAP 이론은 적절한 응답 시간 내에서 이 세가지를 모두 만족하는 분산 시스템을 구성할 수 없다는 이론 입니다. 그럼 먼저 일관성, 가용성, 분할 허용성이 무엇인지부터 알아보겠습니다. 일관성(Consistenc.. 2023. 12. 14.
NoSQL(Not Only SQL) 오라클, MySQL로 대표되는 RDBMS의 언어인 SQL을 사용하지 않는 데이터베이스 관리 시스템인 NoSQL에 대해 알아보겠습니다. NoSQL의 정의 Not Only SQL의 약자인 NoSQL은 RDBMS의 한계를 벗어나, 고용량의 비정형 데이터를 효율적으로 처리할 수 있는 구조와 유연성을 가진 분산 DBMS 입니다. NoSQL의 정확한 정의는 없지만 NoSQL이라 불리는 데이터베이스들은 공통적인 특징이 있습니다. NoSQL의 특징 첫 번째로 일관성(Consistency)은 DB의 절대적인 요소가 아니라는 것입니다. 즉 일관성을 조금은 포기하고 확장성에 주의를 기울이는 것입니다. 일관성을 유지하기 위해 DB가 멈추는 것보다, 서비스 하던것은 계속 서비스를 진행하도록 하는 것입니다. 두 번째로 분산 저.. 2023. 12. 13.
LOD(Linked Open Data) LOD 란? 개방형 연결 데이터라 불리는 LOD에 대해 알아보겠습니다. LOD는 웹(World Wide Web)의 창시자 팀 버너스 리(Tim Berners-Lee)가 2006년 제안하였습니다. 이름에서 알 수 있듯이 Linked Open Data는 Linked Data 와 Open Data를 더한 것으로 연결과 개방이 핵심입니다. 지금까지의 웹은 문서의 웹(Web of Document)였습니다. 이것을 기계가 이해할 수 있도록 데이터의 웹(Web of Data)를 만드는 것이 목표입니다. 이렇게 한다면 수많은 문서들을 사람들이 하나하나 모두 확인해서 원하는 정보를 찾는 것이 아니라 Query를 작성하면 원하는 데이터를 얻을 수 있게 됩니다. Five Star Open Data LOD를 만들기 위해서는 .. 2023. 12. 12.
데이터베이스 정규화 앞서 이상현상(Anomaly)에 대해 알아보았습니다. 2023.12.07 - [정보관리기술사준비/데이터베이스] - 데이터 베이스 이상현상(Anomaly) 데이터 베이스 이상현상(Anomaly) 데이터 베이스에서 데이터의 중복으로 인해 릴레이션에 대한 삽입, 갱신, 삭제시 발생하는 비합리적인 현상인 Anomaly 즉 이상현상에 대해 알아보겠습니다. Anomaly는 정규화가 제대로 구현된 DB에 davincicoding.co.kr 이상현상을 제거하는 무손실 분해 과정인 정규화(Nomalization)에 대해 알아보도록 하겠습니다. 예제로 컴퓨터 시스템 응용 기술사 111회 3교시 6번 문제로 진행하도록 하겠습니다. 다음은 컴퓨터에서 사용되는 제품에 대해 여러 개의 주문서가 접수된 내용을 보여주는 "주문목록".. 2023. 12. 10.
데이터 베이스 이상현상(Anomaly) 데이터 베이스에서 데이터의 중복으로 인해 릴레이션에 대한 삽입, 갱신, 삭제시 발생하는 비합리적인 현상인 Anomaly 즉 이상현상에 대해 알아보겠습니다. Anomaly는 정규화가 제대로 구현된 DB에서는 발생하지 않습니다. 가장 흔하게 발생하는 이유는 여러 종류의 릴레이션을 하나의 DB에 표현하려다 발생합니다. 이런 Anomaly 현상이 발생하면 정규화를 실행해야 합니다. 그럼 예시를 통해 알아보도록 하겠습니다. 사번 부서코드 부서명 100 A10 기획부 200 A20 인사부 300 A30 영업부 400 A10 기획부 다음과 같은 부서 DB가 있습니다. 각각의 사원에 대해서 사번과 해당 사원의 부서에 대한 정보가 DB에 저장되어 있습니다. 그럼 이 데이터베이스에 삽입, 갱신, 삭제시 발생하는 Anoma.. 2023. 12. 7.
데이터 베이스의 고립화 단계(Isolation Level) 데이터베이스 트랜잭션의 ACID 속성을 보장하기 위한 Isolation Level에 대해 알아보겠습니다. 데이터베이스를 혼자 사용한다면 아무 문제가 없겠지만 수많은 사람이 같이 사용하다보니 수많은 문제가 발생합니다. 어떤 트랜잭션에서 수정중인 중간 결과를 다른 트랜잭션이 접근하게 되면 Dirty Read, Non-Repeatable Read, Phantom Read등의 문제가 발생할 수 있습니다. 각각 어떤 상황에서 그런 문제가 발생하는지, 위에서 언급한 문제들은 무엇을 뜻하는지 알아보도록 하겠습니다. Read Uncommitted(Level 0) Read uncommitted 상태는 커밋을 하지 않은 데이터에 접근하는 것입니다. 예를 들어 위와 같이 DB에 좋아하는 음식을 저장해 놓았습니다. 홍길동은 .. 2023. 12. 6.
비잔틴 장군 문제 비잔틴 장군 문제란? 블록체인에 대해 공부하면 한 번쯤 들어봤을 비잔틴 장군 문제(# Byzantine Generals Problem)에 대해 알아보겠습니다. 비잔틴 장군 문제는 위와 같이 성을 공략하는 방법에 대한 딜레마 입니다. 적의 성에는 적군이 많이 있기 때문에 한 번에 모두 공격을 해야만 성을 함락할 수 있습니다. 지휘관이 내일 10시에 일제히 성을 공격하자고 각 장군들에게 전령을 보내 공격을 진행 합니다. 이 때 장군들 사이 혹은 소식을 전하는 전령들 중에 첩자가 존재해 10시가 아닌 8시에 공격하자고 전달합니다. 이렇게 되면 어떤 장군은 제대로 전달 받아 10시에 공격하고, 어떤 장군은 첩자에게 속아 8시에 공격하게 됩니다. 이렇게 전력이 분산되어 결국 성을 함락하지 못하게 됩니다. 첩자가 .. 2023. 12. 1.
[ISO 22301] 비즈니스 연속성 경영 시스템 비즈니스 연속성 경영 시스템의 국제 표준 ISO 22301 에 대해서 소개합니다. 도입배경 러시아 핵 잠수함 침몰사건, 911 테러, 자연재해등 많은 위험이 대두되면서 국제 표준화 기구(ISO)에서 사회안전 분야의 표준화 작업에 착수하여 발간한 국제 표준 입니다. 정의 기업의 비즈니스 연속성을 위해 BCP 수립에서 도입, 운영, 검토까지 지속적인 개선에 대한 요구사항을 규정한 BCMS의 국제 표준 입니다. 기업의 BCM 역량에 대한 평가 지표로 영국 표준인 BS 25999를 기반으로 만들어졌습니다. 목적 조직의 요구사항 및 이해관계자들의 요구사항에 맞는 BCM을 설계하는 것이 목적으로 조직의 업무 연속성에 대한 요구사항 및 의무에 부합한 능력을 평가합니다. BCMS 적용 PDCA 모델 주요 내용 취득 효.. 2023. 11. 16.
디지털 가든 만들기 슬기로운 옵시디언 생활 블로그는 공개적인 글을 쓸 때 사용하고 개인적인 글은 노션을 사용하다가 작년부터인가 옵시디언으로 건너왔습니다. 옵시디언을 사용하면서 좋았던 부분이 로컬로 동작한다는 부분이였습니다. 온라인으로 되어 있으면 언제 어디서나 접속이 가능하다는 장점이 있지만 온라인 한정이라는 단점이 있어 조금은 아쉬웠습니다.(회사에서 노션 접속이 안되서 그렇습니다) 로컬이긴 하지만 아이클라우드를 이용하여 노트북과 아이폰 모두 사용가능해 전혀 불편함 없이 사용해 왔습니다. 회사에서는 회사 업무 용도인 옵시디언을, 개인적인 용도는 핸드폰이나 집의 노트북으로 분리해서 사용해 왔는데 기술사 공부를 하면서 문제가 발생하였습니다. 옵시디언을 통합하라 집에서 기술사 공부했던 내용을 정리한 것을 회사에서 보려면 핸드폰을.. 2023. 10. 31.
지지도, 신뢰도, 향상도 데이터 분석 연관성 규칙을 찾을 때 지지도, 신뢰도, 향상도라는 것을 사용합니다. 이것에 대해 알아보도록 하겠습니다. 정보관리기술사 119회에 나온 문제중 일부로 지지도, 신뢰도, 향상도를 구해 보도록 하겠습니다.문제아래 데이터를 참조하여 '기저귀 -> 맥주'의 지지도, 신뢰도, 향상도를 도출하시오거래번호구매한 상품1003기저귀, 맥주, 빵1056기저귀, 맥주1071기저귀, 빵, 음료수2005빵, 음료수, 커피지지도(Support)A상품과 B상품을 같이 구매한 횟수 / 전체 구매 횟수$$ 지지도 = P(A \cap B) $$지지도는 전체 구매에서 교집합의 비율을 보는 것입니다. 전체 거래 4건과 기저귀와 맥주를 동시에 구매한 1003, 1056번 2건에 대한 비율을 구해줍니다. 2 / 4로 50%가 됩니.. 2023. 10. 27.
ESG 경영 ESG 경영이란? ESG는 환경(Environment), 사회(Social), 지배구조(Governance)의 약자로 기업에서 비재무적 요소들의 지속가능성을 달성하기 위한 3가지 핵심 요소 입니다.기존의 기업들은 얼마를 벌었는가?를 중심으로 한 재무적 지표가 기준이였지만 최근 기후변화등으로 인해 비재무적 지표가 기업의 실질적인 가치평가에 있어 더 중요하다는 인식이 늘어나고 있습니다. ESG 등장배경 ESG 용어는 2004년 UNGC(UN 글로벌 콤팩트)가 발표한 'Who Cares Win'이라는 보고서에서 기업이 발전하기 위해서는 환경, 사회, 지배구조 측면에서 이슈를 관리해야 한다는 개념으로 처음 등장하였습니다. 이후 2006년 국제 투자기관 연합인 UN PRI가 금융 투자 원칙으로 ESG를 강조하면서.. 2023. 10. 26.
Data Mining 이란? Data Mining 이란? 광산에서 금을 채굴하듯이 수많은 데이터들 사이에서 숨겨져 있는 데이터간의 관계나 패턴을 찾아 이를 모형화 하여 업무에 적용할 수 있는 의미 있는 정보로 변환하는 것을 데이터 마이닝이라고 합니다. 기존에 사용하던 통계는 기존 모집단에서 표본을 샘플링하여 가설에 대한 검증/추론이 목적이였다면, 데이터 마이닝은 숨겨진 패턴이나 새로운 상관관계, 추세를 발견하는것이 다른점 입니다. 데이터 마이닝 수행 절차 데이터 마이닝의 방법론중 하나인 KDD(Knowledge Discovery in Database) 수행단계는 다음과 같습니다. Selection 데이터 셋을 선택하는 단계로 비즈니스를 이해하고, 프로젝트의 목표를 설정합니다. 이를통해 데이터를 선택하고 데이터 셋을 생성합니다. Pr.. 2023. 10. 24.
ITSM 이란? Information Technology Service Management의 약자인 ITSM에 대해 알아보겠습니다. 정의 고객과 합의된 SLA 수준에 맞게 품질을 유지하도록 인력, 조직, 기술, 프로세스의 종합적인 관리를 위한 선진 IT 서비스 관리 기법 입니다. 등장배경 예전에는 회사 내부에 IT 내부 운영 조직이 있어 IT를 통합 관리 하였습니다. 이러다보니 급변하는 IT 환경을 통제하기 힘든 수준에 이르렀습니다. 수준에 맞게 서비스를 하려면 IT 조직은 비대해질 수 밖에 없었고 비용이 늘어날 수 밖에 없었습니다. 기업들 입장에서는 TCO를 줄이고 ROI를 극대화 하기를 원할수 밖에 없었습니다. 이러다보니 IT 운영 관리를 아웃소싱하여 외부에서 수행하도록 하는 것이 더 전문적이고 비용이 절감될 수 밖.. 2023. 10. 22.
트리 정렬 129회 정보관리기술사 기출 문제로 트리 정렬을 설명하는 문제가 나왔습니다. 알고리즘 문제를 보니 반가운 느낌이 들었습니다. 트리 정렬은 이진 탐색 트리(Binary Search Tree)로 구성한 후 중위 순회 방법으로 순회하면서 오름차순으로 정렬하는 방법 입니다. 이렇게만 들으면 무슨 말인지 잘 이해가 안될 수 있습니다. 하나하나 정리해 보도록 하겠습니다. 트리(Tree) 구조란? 알고리즘에 익숙하다면 트리가 무엇인지 바로 알 수 있지만 알고리즘에 익숙하지 않다면 갑자기 나무가 나와 당황할 수 있습니다. 이런 식으로 데이터를 구성하는 방법을 트리 구조라고 합니다. 그림은 최소 공통 조상에 설명했던 그래프를 그냥 가져왔습니다. 색깔이 다른것에 대해 의문을 가질 필요가 없습니다. 숫자가 써 있는 부분이 .. 2023. 10. 20.
SOLID 원칙 정보관리 기술사 준비를 하면서 내가 잘 아는 분야부터 시작하기로 마음먹고 많이 들어봤지만 잘 기억나지 않았던 부분부터 정리해보려 합니다. 뭐가 있을까 고민해보니 객체지향 프로그래밍의 5가지 설계 원칙인 SOLID가 떠올랐습니다. 솔직히 SOLID는 기억났지만 SOLID가 뭐였는지 정확하게 기억은 나지 않았습니다. 이렇게 오늘도 또 아는것이 하나 늘어나네요 SOLID란? 로버트 마틴이 The Principles of OOD 에 소개한 객체지향 프로그래밍을 하면서 지켜야하는 5대 설계 원칙 SRP(단일 책임 원칙), OCP(개방-폐쇄 윈칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존 역전 원칙)의 앞글자를 따서 만들었습니다. Single Responsiblity Princ.. 2023. 10. 19.
반응형