본문 바로가기
반응형

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.
반응형