전체 글

AESGalois Field GF(p^n) => GF(2^8) 1Byte를 표현하는 0부터 2^8-1 까지의 2^8개의 원소에만 관심을 가짐        GF(2^8)에서 (+) 연산 Galosis Field에서의 덧셈은 역변환이 가능합니다.  GF(2^8)에서 (x) 연산   닫힌 연산으로 만들기 위해, 인수분해가 불가능한 다항식인 x^8 + x^4 + x^3 + x + 1로 나눕니다.     Add round key 변환앞의 Round의 마지막 4Byte를 왼쪽으로 Rotate합니다.sbox를 이용해 치환합니다.해당 Round의 상수값과 XOR합니다.앞 Round의 첫 4Byte와 XOR합니다. AES Encryption & Decryption AES Decryption [0 Round] Messag..
Elliptical Curve Diffie-Hellman EphemeralDHE과 ECDHE 모두 Key를 한번의 접속에만 사용하고 폐기합니다.도청자가 Key를 알아냈다고 하더라도, 그것으로 풀 수 있는 Message는 한번의 접속에만 해당합니다.계산식 => y^2 = x^3 + ax + b / 4a^3 + 27b^2 ≠ 0 [Step 01] 곡선 위의 임의의 점 P, Q를 선택합니다.                     P( x(p), y(p) )     Q( x(q), y(q) ) [Step 02] P, Q를 지나는 직선이 곡선과 만나는 직선을 정의합니다.                     y = sx + d [Step 03] P, Q, R을 지나는 직선의 기울기를 구합니다.             ..
RSA[Step 01] Prime Number인 p, q를 선택하고 K를 계산                     p, q    K = p X q [Step 02] (p−1)과 (q−1)의 LCM인 φ 를 계산합니다.                     φ=LCM((p−1)×(q−1)) [Step 03] φ와 서로소인 소수 e를 암호화키로 결정합니다.                     e [Step 04] 복호화 키인 d를 결정합니다.                     d×e mod φ = 1 [Step 05] Message Encryption & Decryption                Message Encryption =>  c = m^e mod K                Message ..
Modular InverseA X A^-1 ≡ 1 (modC)(A X A^-1) mod C = 1 mod C(A X A^-1) mod C = 1! C와 서로소인 수만 Modular Inverse (mod C)를 가질 수 있음[Step 01] B의 값을 0부터 C-1까지 설정 [Step 02] B값에 대해 A X B mod C 를 계산 [Step 03] A mod C의 Modular Inverse는 A X B mod C = 1 을 만족하는 B의 값임 ex) 3 (mod 7)       3 X 5 ≡ 15 ≡ 1 (mod 7)       B = 5 Fast Modular ExponentiationA^2 mod C = ((A mod C) × (A mod C)) mod C A mod C 의 결과를 이용하여 연산..
DiffieHellmanRFC 7917를 살펴보면 ffdhe2048의 p, g의 값이 명시되어 있습니다.p를 선택할 때, p가 g와 나눠 떨어지면 안됩니다.[Step01] Alice와 Bob이 하나의 Prime Number인 g를 선택합니다. [Step02] Alice와 Bob은 각각 자신의 비밀키로 사용할 임의의 Prime Number를 선택합니다.                 X(alice)    X(bob) [Step03] Alice와 Bob은 각각 공개키를 생성하며 해당 키를 상대에게 전송합니다.                 y(alice)=g^x(alice) mod p     y(bob)=g^x(bob) mod p [Step04] Alice와 Bob은 상대방의 공개키와 자신의 개인키를 이용하여 ..
통신의사소통 하는 것 네트워크유무선통신 기술을 이용하여 여러 기기를 하나로 연결한 것1세대 무선 전화망: 초기의 무선 전화망은 아날로그 신호만 전송했다.2세대 무선 전화망: 디지털 신호를 전송한다. 아날로그 신호보다 효율성이 좋다.3세대 무선 전화망: 기존의 전화 기능에 데이터 통신 기능이 추가되었다.4세대 무선 전화망: 데이터 통신에 대해 데이터 전송 속도를 높였다.5세대 무선 전화망: 초고속 무선 통신이 가능하다. 네트워크 구성 방식강결합 시스템네트워크로 연결된 모든 컴퓨터의 프로세서가 하나의 메모리를 공유하는 방식모든 컴퓨터는 메모리를 공유하면서 같은 운영체제를 사용하는데, 강결합 시스템은 약결합 시스템에 비해 속도가 빠르다.약결합 시스템둘 이상의 독립된 시스템을 연결한 것통신 오버헤드가 있기 때문..
파일 시스템파일시스템대신 파일을 보관하고 관리하는 파일 관리자를 두어 저장장치의 전체 관리를 맡기는 시스템파일 시스템에서 파일 관리자는 사용자의 요청에 따라 파일을 저장하거나 파일의 내용을 읽어온다.파일 관리자사용자가 직접 파일을 보관하거나 접근하지 못하도록 하고 대신해준다파일 디스럽터파일 접근 권한 파일 시스템의 기능파일을 생성디렉터리 구조를 제공파일 이름과 확장자를 만들어 관리블록과 파일 테이블데이터는 운영체제와 저장장치 간에 블록 단위로 전송된다. 블록저장장치에서 사용하는 가장 작은 단위한 블록에 주소 하나가 할당메모리는 바이트 단위로 저장하드디스크의 물리적인 구조상 가장 작은 저장 단위는 섹터섹터마다 주소를 부여하면 너무 많은 양의 주소가 필요하기에 섹터를 묶어 하나의 블록으로 만들고, 블록 하나..
입출력 장치와 채널저속 주변장치메모리와 주변장치 사이에 오고 가는 데이터의 양이 적어 데이터 전송률이 낮은 장치ex) 키보드, 프린터고속 주변장치대용량의 데이터가 오고가서 전송률이 높은 장치.ex) 그래픽카드, 하드디스크 등 입출력 버스의 구조  직접 메모리 접근(DMA)CPU 도움 없이도 메모리에 접근할 수 있도록 입출력 제어기에 부여된 권한 인터럽트CPU가 어떤 인터럽트를 받는지 확인하기 위해 각 장치에 IRQ라는 고유의 인터럽트 번호가 있다.외부 인터럽트입출력장치 뿐만 아니라 전원 이상이나 기계적인 오류때문에 발생하는 인터럽트내부 인터럽트프로세스의 오류와 관련된 인터럽트사용자가 직접 발생시키는 인터럽트는 시그널이라고 한다. (ctrl+c or kill 명령) 버퍼단일 버퍼보다 이중 버퍼를 사용하는 ..
요구 페이징의 개요메모리에는 꼭 필요한 프로세스만 유지하는 게 중요하다.그러기 위해서 프로세스의 일부만 메모리에 가져오는 방법을 사용한다.이 방법의 장점은 메모리를 효율적으로 관리할 수 있고, 응답 속도를 향상할 수 있다는 것이다. 요구 페이징사용자가 요구할 때 해당 페이지를 메모리로 가져오는 것미리 가져오기 필요할 것이라고 예상되는 페이지를 미리 가져오는 방식 페이지 테이블 엔트리의 구조페이지 테이블 엔트리의 구성페이지 번호 / a, m, v, r, w, x비트 / 프레임 번호접근 비트 = 참조 비트페이지가 메모리에 올라온 후 사용한 적이 있는지 알려주는 비트변경 비트 = 더티 비트페이지에서 데이터의 변경이 있었는지 알려주는 비트유효 비트실제 메모리에 있는지를 나타내는 비트1이라면 스왑 영역에 있다.읽..
가상 메모리 시스템가상 메모리는 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리를 제공하는 기술가상 메모리에서 메모리 관리자가 사용할 수 있는 메모리의 전체 크기 = 물리 메모리 + 스왑 영역가변 분할 방식 => 세그멘테이션 / 고정 분할 방식 => 페이징메모리를 관리할 때에는 매핑 테이블을 작성해서 관리 페이징 기법페이징 기법은 물리 주소 공간을 같은 크기로 나눠서 사용한다.이때 물리 메모리의 각 영역은 가상 주소의 페이지와 구분하기 위해 프레임이라고 부른다.가상 주소 = VA / 페이지 = P / 페이지의 처음 위치 ~ 해당 주소 거리(오프셋) = DVA = 라고 표현실제 물리 주소 = PA, 프레임 = FVA = --> PA = 라고 표현 페이지 테이블 매핑 방식직접 매핑페이지 테이블 전체..
메모리 관리의 복잡성메모리 관리는 메모리 관리 시스템이 담당한다. 메모리 관리의 이중성메모리 관리의 이중성은 프로세스 입장에서 작업의 편리함과 관리자 입장에서 관리의 편리함이 충돌을 일으키는 것 소스코드의 번역과 실행컴파일러소스코드를 컴퓨터가 실행할 수 있는 기계어로 번역한 후 한꺼번에 실행한다. C언어나 자바가 속한다.인터프리터소스코드를 한 행씩 번역하여 실행한다. 자바스크립트가 있다.컴파일러의 목적오류 발견, 코드 최적화를 위함이며, 실행하기 전에 코드를 점검하여 작고 빠른 실행 파일을 만들 수 있게 해준다.컴파일 과정사용자가 작성한 소스코드를 컴파일러가 1차로 번역해서 목적 코드(0 과 1)를 생성한다. 그 후 링커가 라이브러리에 있는 코드를 목적 코드에 삽입하여 최종 실행 파일을 만든다.실행파일을..
교착 상태의 정의2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태교착 상태는 아사 현상과 비슷해 보이지만아사 현상은 운영체제가 잘못된 정책을 사용하여 특정 프로세스의 작업이 지연되는 문제교착 상태는 여러 프로세스가 작업을 진행하다 보니 자연적으로 일어나는 문제 교착 상태의 발생시스템 자원다른 프로세스와 공유할 수 없는 자원을 사용할 때 발생공유 변수한 변수를 할당받은 상태에서 다른 변수를 기다리면 발생응용 프로그램데이터베이스는 일관성을 유지하기 위해 잠금을 사용하는데, 이때 교착 상태가 발생 가능. 자원 할당 그래프프로세스가 어떤 자원을 사용중이고 어떤 자원을 기다리고 있는지를 방향성이 있는 그래프로 표현한 것.프로세스 -> 원 / 자원 -> 사각형여러..
류가든
장난감정원