목록분류 전체보기 (112)
Shine's dev log
대칭키 암호에는 블록암호와 스트림 암호가 있는데, 앞서 살펴본 AES와 DES는 대표적인 블록암호이다. 이번에는 스트림 암호에 대하여 알아보자. 1. 스트림 암호 (Stream Cipher) 연속적인 비트/바이트/단어들을 순차적으로 암호화하는 방식 블록암호는 일정한 크기의 데이터를 하나의 블록으로 묶어서 암호화했다면, 스트림암호는 묶지 않고, 별개의 데이터들에 순차적으로 암호화를 적용해주는 방식이다. 주로 위의 그림과 같이 유사난수를 1비트 단위로 생성하고, 암호화하려는 데이터와 XOR하여 1비트의 암호문을 얻는 식으로 많이 사용된다. 스트림 암호는 블록암호만큼 안전하며, 더 빠르고 간단하다는 특징이 있다. 2. RC4 RC4는 SSL/TLS나 네트워킹 프로토콜에서 자주 사용되는 스트림 암호기법으로, 굉..
앞서 살펴보았던 기본적인 스케줄링 방법 이외에 한단계 더 심화된 스케줄링 방법에 대하여 알아보자. 오늘 알아볼 스케줄링 방법은 크게 두가지인데, 1)Proportional Share scheduling과 2) Real-time System의 스케줄링이다. 1. Proportional Share Scheduling 각 프로세스가 전체 Time share 중에 몇 퍼센트정도 가질지 결정하는 스케줄링 기법. 전체 CPU실행시간을 Time share라는 단위로 쪼갠 뒤, 각 프로세스에게 일정 퍼센트만큼 할당해주는 방법이라고 생각하면 된다. 전체 Time share을 T라고 했을 때, 각 프로세스는 N만큼의 시간을 할당받는다. (N 두가지 예시를 살펴보자. 예1) MQ에서 큐 끼..
1. CAN 프로토콜이란? CAN은 (Controller Area Network) 차량내에서 호스트 컴퓨터 없이 컨트롤러나 장치들끼리 통신하기 위해서 만들어진 표준 통신 규격 이다. 즉 CAN은 위의 그림과 같이 하나의 큰 버스 네트워크를 이용한다. 차량의 ECU들은 CAN 프로토콜을 사용하여 통신을 하는데, 최근에는 차량 뿐 아니라 다양한 분야에서 이용되기도 한다. 2. CAN의 특징 1) 메시지 지향성 (Message-oriented protocol) 메시지 지향성이란, 쉽게말하면, A라는 장치가 메시지를 보낼 때 목적지를 명확히 밝히고 보내는 것이 아니라 일단 보내는것이다. 이렇게 뿌려진 메시지들은, 받는 노드들이 각자 판단하여 필요하면 메시지를 받고, 아니면 그냥 흘려보내는 식으로 동작하는 것이다..
앞서 살펴본 DES는 컴퓨팅 파워가 증대되면서 더이상 안전하지 않은 암호시스템이 되었다. 이에 더 강력한 암호시스템을 만들고자 NIST (미국 국립 표준 연구소)에서 공모하였다. 그 결과 Rijndael 알고리즘이 채택 되었고, 그렇게 AES가 탄생하게 되었다. 1. AES (Advanced Encryption Standard) 기본정보 - 128비트 블록사용 - 128, 192, 256 비트 키 사용 (사용하는 키의 길이에 따라 라운드횟수가 다름 : 10, 12, 14) - SPN 구조이다 (Feistel 아님) - DES 보다 6배나 빠르다. 2. AES의 구조 즉, 간단하게 말하면, 처음 입력값을 1) Initial transformations 하고, 2) N번의 라운드를 진행하는것이다. State..
이때까지 프로세스 스케줄링에 대한 이론적인 개념을 배워보았다면, 오늘은 실제로 스케줄러에 적용되는 알고리즘을 하나씩 살펴보자. 1. FCFS / FIFO First-Come, First-Served 이름에서 알 수 있듯이 큐에 들어온 순서대로 실행시켜주는 것이다. 일반적으로 Non-preemptive 하다. 또한, 아무리 앞의 프로세스의 실행시간이 길다고 하더라도 어쨌든 모든 프로세스에게 순서가 돌아가므로 starvation도 없다. 이 알고리즘의 문제로는 convey effect가 있는데, 한마디로 굉장히 실행시간이 긴 프로세스가 앞에 있으면, 뒤에 있는 프로세스들의 turnaround time 이 길어진다는 것이다. 위의 그림에서 첫번째 경우가 대표적인 convoy ..
1. DES DES(Data Encryption Standard)는 Feistel 암호로 널리 사용되던 암호중에 하나였다. DES 대칭키 암호이고, 블록암호이다. DES의 과정을 대략적으로 살펴보면, 다음과 같은 세 단계를 거친다. 1) Initial permutaion 2) 16번의 라운드함수 3) Final permutaion 중요한 특징은 56비트 키를 이용한다는것과 매 라운드마다 48비트 키를 사용한다는 것이다. 그렇다면 암호화 과정을 한단계씩 자세히 살펴보자. 2. Initial, Final permutation 처음 64비트 평문이 들어왔을때와 마지막 64비트 암호문이 생성되기 직전에 수행되는 permutation 과정이다. 즉 straight P-box를 사용한다. 이 때, initial P..