일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 커밋 이력
- 스피커
- mqtt
- 오블완
- 보안
- ubuntu
- IOT
- 명령어
- bfg repo-cleaner
- 부팅 스크립트
- 가상머신
- 라즈베리파이5
- 네트워크
- Type of Attacks
- linux
- vm
- Git
- 마이크
- mosquitto
- 리눅스
- GitHub
- 공유기 포트포워딩
- 통신 프로토콜
- 티스토리챌린지
- Submodule
- virtualbox
- Principles of Security
- 라즈비안 os
목록분류 전체보기 (27)
신짱구의 개발일지

더보기1. BFS 알고리즘 개념2. BFS 알고리즘 동작 방식3. BFS 알고리즘 구현 코드BFS(Breadth First Search) 알고리즘이란?BFS 알고리즘은 너비 우선 탐색 알고리즘이다. 그래프 탐색 시, 가까운 인접 노드를 모두 방문한 후, 그 다음 가까운 인접 노드를 방문하는 방식이다. 일반적으로, 자료구조 큐(Queue)를 이용하여 문제를 해결한다. 동작 방식아래와 같은 방향이 없는 그래프에서 같은 레벨인 경우, 작은 번호 기준으로 방문한다고 가정한다.노드 1번부터 시작해서 노드 1번을 큐에 넣고 방문 처리한다.큐에서 노드 1번을 꺼내 인접한 노드들(2, 3, 8)을 확인하고, 방문하지 않은 노드들을 큐에 넣고 방문 처리한다.큐에서 2번 노드를 꺼내어 인접한 노드들인 8번과 6번을 확인하..

그래프 알고리즘네트워크 분석, 경로 찾기, 최적화 문제 등 다양한 문제를 해결할 수 있는 중요한 알고리즘이다.그래프는 노드와 노드를 연결하는 엣지로 구성된 자료구조를 말한다.그래프 기본 용어 정리정점(Vertex, Node)Vertex 또는 Node 라고 말한다. 간선(Edge, Link)Edge와 Link 두가지 용어를 사용한다.화살표 표시가 된 것도 있고 그냥 직선으로 표시된 것도 있는데, 둘 다 '간선' 이라고 말한다.가중치간선 위에 표시된 숫자이다.가중치가 있는 그래프가 있고 없는 그래프가 있는데, 가중치가 없다면 모두 동일한 가중치를 가진다고 보면 된다.해당 간선을 타고 이동할 때 필요한 비용 등을 표현하는 것에 사용된다. 그래프 종류방향 그래프(Directed Graph)무방향 그래프(Undi..

Public Key Certificate (PKC)Digital Certificate디지털 인증서는 종이 기반 여권의 디지털 버전이다.인터넷 상에서 개인이나 조직을 고유하게 식별하고, 사용자를 그들의 공개 키와 연결한다.Public Key Certificate공개 키 인증서는 사용자와 그들의 공개 키 간의 연결을 나타낸다.운전 면허증이나 여권과 같이 대조하여 맞는지 확인하는 용도이 연결은 신뢰할 수 있는 기관인 CA에 의해 승인된다.인증서의 내용은 X.509 표준을 따른다. Digital Certificate Contents인증서의 주요 내용은 사용자 이름, 유효성, 공개 키가 포함되며, CA에 의해 서명된다.여권과 디지털 인증서의 유사성Digital Certificates에서 CA의 역할CA는 digi..

Symmetric Key Distribution장점대칭 키 분배 방식은 용량이 큰 메세지를 암호화하는데 있어서 비대칭 키 암호화 방식보다 더 효율적이라 빠르다.한계점대칭 키 분배 방식은 두 구성원 사이에 공유된 비밀 키가 필요하다.그래서, n명의 사람이 있다면, n(n-1)/2 개의 비밀 키를 공유 한다.문제점The number of keys대칭 키 분배 방식: 각 통신 쌍마다 고유한 키가 필요예시: 100명의 사용자가 서로 안전하게 통신하기 위해서 100*(100-1)/2 개의 고유 키가 필요하다.비대칭 키 분배 방식: 각 사용자가 공개 키와 개인 키의 쌍을 가진다.예시: 100명의 사용자가 있으면 각자에게 2개의 키(비밀키, 공개키)가 필요하므로 총 200개의 키만 필요하다. 각 사용자가 자신의 공개..

Cryptography Algorithm Types and ModesCryptography Algorithms암호화 알고리즘은 메시지를 안전하게 전송하기 위한 암호화 및 복호화 과정을 정의하는 메커니즘Algorithm types modes는 알고리즘의 두 가지 주요 측면 Algorithm types: 알고리즘이 한 번에 몇 비트의 평문을 암호화하는지를 정의Algorithm modes: 알고리즘 유형이 결정된 후 암호화 알고리즘의 세부 사항을 정의 Algorithm TypesStream Cipher비트 단위로 암호화와 복호화를 수행하는 방식 (한 비트씩 암호화)stream key를 생성하여 plaintext XOR 연산을 수행하여 암호화함Block Cipher데이터를 블록 단위로 암호화하고 복호화하는 방..

TerminologyCryptography(암호학): 메세지를 읽을 수 없도록 만들기 위해서 인코딩하는 기술Cryptanalysis(암호해독학): 읽을 수 없는 형태의 메세지를 다시 읽을 수 있는 형태로 디코딩하는 기술Cryptology: Cryptography + CryptanalysisPlain Text and Cipher TextPlain Text(or Clear Text): 쉽게 이해할 수 있는 언어Cipher Text: 쉽게 이해할 수 없는 언어Plain text is transformed into cipher text to achieve securitySubstitution Ciphers (치환 암호)특정 글자를 다른 글자로 치환하는 암호화 기술Monoalphabetic cipher (단일문자..

Principles of SecurityConfidentiality(= privacy): 오직 발신자와 수신자만 정보에 접근할 수 있어야 한다.Integrity: 메시지의 변경 내용이 탐지 되도록 보장한다.Availability: 리소스/응용프로그램을 항상 인증된 사용자가 사용할 수 있어야 한다.Non-repudiation: 메시지의 발신자가 해당 메시지를 보내지 않았다는 주장을 허용하면 안된다.=> Security is PAIN; P(Privacy, Confidentiality), A(Availability), I(Integrity), N(Non-repudiation) Type of AttacksPassive attacks: 시스템 리소스에 영향을 미치지 않고 시스템 정보를 관찰한다.리소스가 변경되지..