끄적끄적 코딩
[IT] 클라우드 컴퓨팅
IT 2019. 10. 30. 21:43

클라우드 컴퓨팅은 4차 산업혁명을 주도하는 핵심 기술 중 하나입니다. 정의로는 IBM에서와 한국정보통신기술 협회에서의 정의가 있습니다. IBM 정의 웹 기반 응용 소프트웨어를 활용하여 대용량 DB를 인터넷 가상공간에 분산 처리하고, 이 데이터를 컴퓨터나 휴대전화, PDA 등 다양한 단말기에서 불러오거나 가공할 수 있게 하는 환경을 의미합니다. 한국정보통신기술협회에서의 정의 인터넷 기술을 활용하여 가상화 된 정보 기술 자원을 서비스로 제공하는 컴퓨팅, 사용자는 IT 자원을 필요한만큼 빌려서 사용하고, 서비스 부하에 따라서 실시간 확장성을 지원받으며, 사용한 만큼 비용을 지불하는 컴퓨팅을 의미합니다. 대표적으로는 네이버 N클라우드, 구글의 구글드라이브, 드롭박스 등이 있습니다. 클라우드 컴퓨팅의 이점 1. ..

[보안] 해킹 기초 (1)
보안 2019. 10. 30. 16:28

목록화 공격 대상의 정보를 하나도 모르는 상태 네트워크 해킹 시작전 준비단계 풋프린팅 발자국을 살펴보는방식 공격 대상의 정보를 모으는 방법 중 하나 해킹을 위한 사전 준비 작업 스캔 : 공격하려는 대상의 작동 여부 확인 - 핑 : 네트워크와 시스템이 정상적으로 작동하는지 확인하기 위한 간단한 유틸리티 - - ICMP-Echo Request - Echo Reply (대표적) - - TTL : 무한루프 막기 위함 스텔스 스캔 : 공격대상을 숨기는 스캔 TCP 단편화 : 방화벽을 뚫을 수 있는 방법 패킷을 나눠서 보내서 어디로 가는지 알 수 없게 가능 방화벽 : 침입자를 차단하는 1차 방어선, 접속에 대한 허용과 차단을 결정

[보안] 블록체인
보안 2019. 10. 30. 16:21

블록체인 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술| 특징 1. 분산 2. 무결성(조작X) 기술 1. 공개키 2. 해시 BitCoin = 서명들이 체인으로 연결되어 있는 전자화폐 마이닝 = 10분간 전세계의 모든 트랜잭션을 블록으로 만듦 보안적 문제 1. wallet 관리 문제 2. 51%

[보안] 암호화
보안 2019. 10. 30. 16:10

기본 단어 Message = Plaintext(평문) E = Encryption(암호화) C = Ciphertext(암호문) K = Key D = Decryption(복호화) 평문전송 = Alice --- message ---> Bob 대칭키 하나의 키로 암호화 복호화를 한다. 빠른 연산이 필요한 시스템에 사용하며, 키 관리가 어렵습니다. k로 암호화 = C=Ek(m) k로 복호화 = m = Dk(C) 공개키 하나의 개인키와 여러개의 공개키로 구성됩니다. 연산이 느리지만, 키 관리가 쉽습니다. 개인키로 암호화 = C=Esa(m) 공개키로 복호화 = m=Dpa(C) 공개키로 암호화 = C=Epa(m) 개인키로 복호화 = m=Dsa(C) 개인키로 암호화 한 것은 개인키를 가지고 있는 사람이라는 것을 인증하는..

article thumbnail
[C++] 백준 6086번 최대 유량
알고리즘 2019. 10. 30. 12:13

네트워크 플로우 문제입니다. A부터 Z까지 최대 유량을 구해야합니다. 주의해야할 점은 유량이 양방향으로 흐를 수 있으므로, A B 3이라고 입력 받았을 때 A->B 3 B->A 3 두 방향 전부 용량을 추가해야합니다. A에서 Z까지 BFS로 흐를 수 있는 길을 찾고 그 길에서 최소 유량을 구합니다. 최소 유량의 값을 result에 더해줍니다. 음의 유량도 고려해야하며, 어떤 배수관에서 왔는지 체크도 해주어야합니다. #include #include #include #include #include #define MAX 52 #define INF 987654321 using namespace std; int N; int result = 0; int p[MAX]; int c[MAX][MAX]; int f[MAX..

article thumbnail
[C++] 백준 1298번 노트북의 주인을 찾아서
알고리즘 2019. 10. 29. 23:22

이분 매칭으로 문제를 해결했습니다. 노트북과 사람을 매칭해줄 때 가장 많이 매칭한 경우 매칭한 수를 출력하는 문제입니다. 1. 원하는 노트북 탐색 2. 원하는 노트북이 비어 있다면 매칭 3. 원하는 노트북이 비어 있지 않다면 그 노트북과 매칭된 사람이 1. 으로 이동 (이 때 탐색된 노트북은 체크되서 루프 X) 4. 3번에서 원래 매칭된 주인이 다른 노트북으로 선택이 가능한 경우, 현재 노트북과 매칭 5. 3번에서 원래 매칭된 주인이 다른 노트북으로 선택이 불가능한 경우, 1. 으로 이동 6. 현재 사람이 노트북 매칭에 성공했다면 카운트 증가, 그렇지 않다면 다음 사람으로 위와 같은 순서로 동작합니다. 비어있다면 넣어주고, 비어있지 않다면 밀어내는 방식입니다. #include #include #inclu..

article thumbnail
[네트워크] 네트워크 계층
네트워크 2019. 10. 28. 18:03

네트워크 계층의 핵심은 크게 전달(forwarding)과 경로(Routing)입니다. 제어 평면 (Routing) S/W로 동작하며, 데이터 평면 (Forwarding) H/W로 동작합니다 SDN (Software define Network) 모든 라우터에 제어평면을 하나의 서버에 둬서 통제하는 방식입니다. 라우터는 세밀한 조절이 안되지만 SDN은 컨트롤이 가능합니다. 자율형 구조, 분산형 네트워크 계층은 ATM을 이용해서 여러가지를 보장해줄 수 있는데 가격이 비싸고 효율은 좋지 않습니다. 그에 반해 IP는 신뢰적 전송, 순서, 보안, 지연보장, 대역폭을 전부 보장하지 않지만 심플하다는 장점이 있습니다. 이를 Best effort Service라고 합니다. 라우터의 내부구조 라우터는 4가지로 구성이 됩니..

article thumbnail
[C++] 백준 16440번 제이크와 케이크
알고리즘 2019. 10. 28. 11:06

케이크를 잘라서 과일을 두명에게 공평하게 나누어주기 위해서 몇번의 칼질이 필요하고 어디를 잘라야하는지 찾는 문제입니다. 여기서 답은 1번 또는 2번만 나올 수 있습니다. 1번의 경우 가운데를 자르는 경우이며, 2번의 경우 가운데가 아닌 두 군데를 자르는 경우입니다. 1번은 가운데를 중심으로 왼쪽의 과일의 개수를 전부 더해서 각 과일의 개수가 동일하면 1번으로 처리합니다. 2번은 1번이 아닌경우 n/2개씩 과일의 개수의 합이 같은 경우를 찾습니다. 그리고 같은 경우에 왼쪽과 오른쪽 부분을 자르면 됩니다. #include #include #include using namespace std; int main(int argc, char* argv[]) { int n; int a = 0; int b = 0; st..

검색 태그