CS 5

RSA 암호화

웹 서비스는 데이터를 손실 없이 정확한 순서로 전달하기 위해 연결 지향적인 TCP 프로토콜을 사용합니다. 이로써 통신의 신뢰성을 확보할 수 있으며, **CIA 보안 원칙(기밀성, 무결성, 가용성)**을 달성하기 위한 다양한 암호화 기법들이 사용됩니다. 그중 대표적인 것이 RSA 알고리즘으로, 이는 데이터를 안전하게 주고받기 위해 비대칭 암호화 방식을 채택하고 있습니다.비대칭 암호화에서는 공개키와 개인키라는 두 가지 키를 사용합니다:공개키는 누구에게나 공개할 수 있는 키로, 데이터를 암호화하는 용도로 사용됩니다.개인키는 소유자만 알고 있는 비밀 키로, 암호화된 데이터를 복호화하는 데 사용됩니다.이 방식으로 양방향 보안을 확립하여 기밀성과 무결성을 동시에 보장할 수 있습니다.암호화와 인증 절차1. 기밀성 유..

CS 2024.11.05

IP / TCP / UDP / 패킷 / URL

인터넷 통신이란?클라이언트와 서버가 직접 통신하지 않고 인터넷을 통해서 통신하는 것  IP (Internet Protocol)란?복잡한 인터넷 망에서  통신을 위해 요청을 주고받을 떄 규칙 보통 클라이언트 IP 주소에서 서버 IP 주소로 데이터를 보낼때 패킷 통신 단위로 전달하게 된다.*패킷 (package + bucket) : 데이터 덩어리를 넣은 박스 인터넷에서는 수많은 노드들이 있는데, 원하는 목적지까지 여러개의 노드를 타면서 목적지에 도착하게 된다.IP 패킷에는 출발지 IP 주소, 목적지 IP 주소, 전송 데이터 총 3가지의 정보를 가지고 있다.   IP의 한계점1. 비연결성패킷을 받을 대상이 없거나 서버가 꺼져있을때 무조건 전송함2. 비신뢰성패킷이 중간에 유실되어도 어떤 패킷이 유실되었는지, 순..

CS 2024.09.04

DFS

깊이 우선 탐색(DFS) Depth-First Search 탐색하려는 노드의 자식 노드부터 우선 탐색하는 방식 한개의 큐와 한개의 스택으로 구현 방문해야하는 노드 저장 스택(LIFO) 이미 방문한 노드를 저장하는 큐 (FIFO) 1. 탐색 노드 큐에 스택에 담기 2. 스택에 마지막 값을 추출해 큐에 존재하는지 확인 3. 큐에 존재하면 존재하지 않는게 나올때까지 확인 후 큐에 추가 4. 큐에 추가된 값의 연결된 간선들 모두 스택에 추가 * 스택이 빌때까지 2번부터 반복 func DFS(graph: [String: [String]], start: String) -> [String] { var queue: [String] = [] var stack: [String] = [start] while !stack.i..

CS 2023.12.13

[CS] 런타임 vs 컴파일타임

컴파일 (compile-time) - 우리가 작성한 소스코드를 컴퓨터가 이해하고 실행할 수 있는 형태로 변환하는 과정 - 변수 할당, 타입 확인 런타임(runtime) - 프로그램이 사용자 또는 시스템에서 실행되는 시간 - 사용자 입력 처리 , 메모리 할당, 동적 타입 확인 순서 -컴파일타임 1. 우리가 직접 소스코드 작성 2. 컴파일러에게 '컴파일 해줭' 2-1) 오류 검출 2-2) 코드 최적화 2-3) 기계어 코드로 변환 - 0, 1로 이루어짐 8B 45 FC mov eax,DWORD PTR [ebp-4] 83 C0 02 add eax,2 89 45 F8 mov DWORD PTR [ebp-8],eax 2-4) 실행가능한 파일로 생성 -런타임 3. 운영체제에서 실행해 컴파일된 파일이 실제 메모리에 올라..

CS 2023.06.28

[Swift] 메모리구조 - 코드, 데이터, 힙, 스택 (Code,Data,Heap,Stack)

우리가 작성하는 코드 덩어리들을 프로그램이라고 함 이 프로그램을 실행하면 운영체제(Operating System)에서 메모리(RAM)에 프로그램을 위한 공간을 할당해줌 이때 메모리 공간은 코드, 데이터, 힙, 스택 으로 나누어 공간을 할당 할 수 있도록 함 Code 코드영역 - 우리가 작성한 소스코드가 0,1로 이루어진 컴퓨터 밑단위 언어인 기계어 형태로 저장됨 - 실행파일을 구성하는 명령어들이 올라감 (함수, 제어문, 상수 등) - 컴파일 타입에 의해 결정 - 프로그램을 실행했는데 중간에 코드가 변경된다고 해서 프로그램이 변경 되면 안되어 Read-Only형태로 저장 Data 데이터영역 - 전역변수, static 변수가 저장됨 - 프로그램 시작과 동시에 할당되고 프로그램이 종료되어야 메모리가 해제됨 -..

CS 2022.09.20