CS

    [논문 리뷰] ProGraph: Robust Network Traffic Identification With Graph Propagation

    [논문 리뷰] ProGraph: Robust Network Traffic Identification With Graph Propagation

    Authors: W. Li, X. -Y. Zhang, H. Bao, H. Shi and Q. Wang Journal/Conference: IEEE/ACM Transactions on Networking, 2022 Source: https://ieeexplore.ieee.org/document/9933044 Presentation materials: Abstract Network traffic identification is critical for effective network management. Existing methods mostly focus on invariant network environments with stable attribute distributions. Unfortunately, ..

    타원곡선암호 연산 파이썬 구현(ECC, P-192)

    Implementing Elliptic Curve Cryptography operation in Python on the Curve P-192 P-192 곡선 파라미터 선언 # define P-192 parameters p = 2 ** 192 - 2 ** 64 - 1 a = -3 b = 0x64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1 n = 0xFFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831 gx = 0x188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012 gy = 0x07192B95FFC8DA78631011ED6B24CDD573F977A11E794811 WeierStrass Form de..

    [컴퓨터 보안] 수업 필기

    [컴퓨터 보안] 수업 필기

    CIA와 접근제어 DLP와 소인수분해 문제 & 고전암호 유한체와 AES block cipher Block Cipher Mode와 Stream Cipher 웹 해킹과 Dos 공개키 (RSA, Diffie-Hellam, Elgamal, ECC) Hash Function과 MAC 전자서명과 인증서 네트워크, 시스템 보안 & 보안장비, 솔루션 AI 보안 & 블록체인

    [전공생이 설명하는 OS] 메모리 관리 - (2) Virtual Memory

    [전공생이 설명하는 OS] 메모리 관리 - (2) Virtual Memory

    1. 가상메모리란? 각 프로세스에게 큰 전용 메모리를 제공하는 기술. 2. 부분적재 에러코드, 자주 접근되지 않는 코드들까지 한번에 적재할 필요가 있나? Locality, Knuth's estimation : 10%의 코드가 90% 실행시간을 갖는다. 가상메모리도 일종의 캐시. 디스크와 메모리 사이의 캐시 (fetch policy) 그러면 필요한 부분을 언제 올릴건데? (resident set policy) 메모리에 올라와 있는 각 프로세스의 조각들을 어떻게 효율적으로 관리할 것인가? (replacement policy) 메모리가 부족해서 다른 조각들을 쫓아내야할때 어떤 조각들을 쫓아낼것인가? 매핑테이블을 어떻게 관리할 것인가? 보통 paging 과 segmentation 기법을 사용 - 프로세스를 조각..

    [전공생이 설명하는 OS] 메모리 관리 - (1) Partition/Page/Segment

    [전공생이 설명하는 OS] 메모리 관리 - (1) Partition/Page/Segment

    1. Memory Management 란? 메모리는 (1) OS(resident monitor, kernel) (2) user 두 부분으로 나뉜다. Uni-programming 환경에서는 user part 에 1개의 프로그램만 적재되고, multi-programming 환경에서는 다수의 프로그램이 적재될 수 있다. Memory management 라는 말은 OS 가 user 가 사용하는 메모리를, 프로세스의 요청에 맞게 분할 및 분배하는 것을 포함한다. 메모리를 할당하는 방식은 프로세스 실행 시점에 따라 크게 두 가지로 분류할 수 있다. static allocation : 프로그램 실행 이전에 미리 메모리를 할당하는 방식 (예, global 변수나 상수 등) dynamic allocation : runt..

    [전공생이 설명하는 OS] 동기화 - (6) 식사하는 철학자 문제 (코드 포함)

    [전공생이 설명하는 OS] 동기화 - (6) 식사하는 철학자 문제 (코드 포함)

    Dining Philosopher Problem 식사하는 철학자 문제는 다익스트라 선생님께서 논문을 통해 제시하신 대표적인 데드락 상황이다. 위와 같이 원형의 탁자에 5개의 포크가 놓여있다. 스파게티를 먹기 위해서는 2개의 포크를 사용해야한다는 규칙이 있다. 이 상황에서 5명의 철학자가 포크를 한 개씩 잡고 데드락에 빠지면 모두가 굶어 죽는 starvation 이 발생한다..! 철학자가 다 굶어죽는 c++ 코드는 다음과 같다. 더보기 #include #include #include #include #define NUM 5 sem_t forks[NUM]; // forks void *philosopher(void*); int main(){ pthread_t threads[NUM]; for(int i=0; i

    [전공생이 설명하는 OS] 동기화 - (5) Deadlock

    [전공생이 설명하는 OS] 동기화 - (5) Deadlock

    Review 쓰레드(Thread)와 동기화 문제 동기화 - (1) 용어 및 개념정리 동기화 - (2) 상호배제 전략(Mutex) 동기화 - (3) 조건동기화 (pthread 예시) 동기화 - (4) 생산자 소비자 문제 지금까지 race condition 이 발생하는 이유와, 이를 해결하기 위해 다양한 동기화 기법이 필요하다는 점을 설명했다. 특히 이전 포스팅에서는 할당 가능한 자원의 개수를 (0~MAX)개로 제한하는 web server request buffer 를 살펴보면서 `생산자-소비자 문제`(bounded buffer problem) 를 해결해보았다. 이번에는 동기화로 인해 발생할 수 있는 심각한 문제인 교착상태(deadlock)을 알아보도록 한다. 1. Deadlock 이란? 다수의 스레드 또는..

    [전공생이 설명하는 OS] 동기화 - (4) 생산자 소비자 문제

    Reviews 쓰레드(Thread)와 동기화 문제 동기화 - (1) 용어 및 개념정리 동기화 - (2) 상호배제 전략(Mutex) 동기화 - (3) 조건동기화 (pthread 예시) 여태까지, 멀티프로세스 또는 멀티쓰레드 환경에서 공유자원을 사용하다보면 race condition 이 발생할 수 있고 이를 해결하기 위해서는 동기화가 필요함을 설명했다. 동기화에는 상호배제(Mutual Exclusion) 전략과 조건 동기화(Condition Synchronization) 전략이 있다. 상호배제는 공유자원을 한번에 하나씩 사용하는데 집중한다. 비슷하지만 조건동기화는 다수의 실행흐름을 제어하는데 더 유리하다. Critical Section에 대기하는 프로세스(또는 쓰레드)를 Ordering 하는 전략이다. 지난..