분류 전체보기 439

#8강. 신뢰성과 해시의 관계

공인인증서는 A가 B에게 데이터를 보냈는데 이게 진짜 A가 보낸 건지 인증할 수가 없기 때문에 A라는 사람이라는 것을 보증해주는 문서라고 보면 된다. 하지만 아무나 이 인증서를 발급할 수 있으면 A 행세를 아무나 낼 테니까 인증된 기관(CA)으로부터 적절한 절차를 거쳐 인증서를 발급받을 수 있다. CA(Certificate Authority) 기관 : 암호학에서 인증 기관은 다른 곳에서 사용하기 위한 디지털 인증서를 발급하는 하나의 단위 * 공인인증서 발급 과정 A와 B가 CA 은행에서 공인인증서 발급을 받을 때 A와 B의 공개 키를 은행에서 가져간다. 발급받은 인증서는 자신의 개인키로 1차 암호화를 한 후 비밀번호를 따로 설정해 2중 암호화한다. 그리고 은행의 개인키로 암호화하여 그 은행이 발급해준 인..

#7강. 신뢰성을 위한 가장 완벽한 암호화(RSA) (2/2)

공개 키 암호화(public-key cryptography) : 비밀 키 암호 방식과 달리 암호화와 복호화에 이용하는 키가 다른 방식 - public key : 공개 키 - private key : 비밀 키 RSA 암호 : 공개 키 암호 시스템의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘 A가 B에게 10시라는 자료를 보낼 때 무결성(I)까지 만족할 수 있는 방법이 RSA 암호화를 사용하는 것이다. 중간에 이브의 방해를 막기위해 B만이 확인할 수 있도록 B의 공개키로 1차 암호화를 한다. 이후 A가 보냈음을 확실히 할 수 있도록 A의 비밀키로 2차 암호화를 한다. 이렇게 보내면 B는 A의 공개키로 복호화를 함으로써 A가 보냈다는 사실을 확인하고 자신의 비밀키로 받은 자료를 복호화 해 확..

#7강. 신뢰성을 위한 가장 완벽한 암호화(RSA) (1/2)

대칭 키 암호(symmetric-key algorithm) : 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘 앨리스가 밥에게 10시라는 메시지를 A키로 암호화하여 보내도 A키가 없는 밥은 열지 못한다. 이 때 트루디가 중간에서 가로채지 못하고 A키를 알려줄 수 있는 방법이 있다 디피헬만 알고리즘(Diffie-Hellman Algorithm) : 두 사용자가 사전에 어떤 비밀 교환 없이도 공통 키를 교환하게 해주는 알고리즘 디피헬만 알고리즘의 핵심은 상대방의 공개키와 나의 개인키를 이용하여 계산을 하면 비밀키가 나온다는 것이다. 그 후 나와 상대방은 비밀키를 사용하여 데이터를 암호화한 후 전달하면 된다. 앨리스의 개인키는 3, 밥의 개인키는 4이다. 서로의 공개키가 5라고 했을 때, 앨리스와 밥은 서로의..

#5강. 청군 vs 홍군 전쟁에 승리하는 군대는 어디일까 / #6강. TCP통신이 무엇이죠

전쟁의 상황에 통신하는 방법을 알아보자 왼쪽 홍군이 오른쪽 홍군에게 말을 타고 "10시에 돌격 앞으로 !" 라는 메시지를 전달을 했다. 이때, 오른쪽 홍군에게서 알겠다는 답장이 돌아오지 않는다면 왼쪽 홍군은 10시에 움직일 수 없을 것이다. 오른쪽 홍군에게서 알겠다는 답장을 왼쪽 홍군이 받았더라도, 왼쪽 홍군이 답장을 받았는지 모르는 왼쪽 홍군은 10시에 움직일 수 없을 것이다. 따라서 다시 왼쪽 홍군이 오른쪽 홍군에게 답장을 잘 받았다는 답장을 보내는 것 까지 총 3번의 통신이 기본적으로 필요하다. 이 것을 우리는 3 way handshake, TCP 통신(Transmission Control Protocol)이라고 부른다. TCP 통신은 신뢰성 있는 통신이다. 3 way handshake : TCP ..

#4강. I/O란 무엇인가요

CPU -> RAM -> HDD (하드디스크) ----------------------------------------- ------------------------- 핵심장치 주변장치 하드 디스크(Hard Disk Drive, HDD) : 비휘발성, 순차 접근이 가능한 컴퓨터의 보조 기억장치 CPU와 RAM은 컴퓨터의 핵심장치이고 HDD는 주변장치이다. RAM은 데이터를 전류로 저장하기 때문에 휘발성 메모리이다. 따라서 컴퓨터를 종료하면 RAM의 데이터가 날아가기 때문에 영구적인 저장이 필요한 데이터같은 경우에는 HDD에 물리적인 저장을 해줘야 하고 이를 COMMIT이라고 한다. CPU에서 RAM에 데이터를 요청하고, RAM에 데이터가 없는 경우 HDD에서 데이터를 가지고 오며, 이 작업을 Input이..

#3강. 컴퓨터는 어떤 구조로 만들어졌을까

CPU의 아래 붙어있는 R은 레지스터를 가리킨다. 레지스터(Register) : CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치 실제로 컴퓨터에서 데이터를 영구적으로 저장하기 위해서는 하드디스크를 이용해야 하고, 임시적으로 저장하는 장소를 메모리(RAM)이라고 알고 있는 경우가 많다. 하지만 메모리로 연산의 결과를 보내고 영구적으로 저장할 데이터를 하드디스크에 저장해야 하는 등의 명령을 처리하기 위해서는 이들에 대한 주소와 명령의 종류를 저장할 수 있는 기억 공간이 하나 더 필요하다. 그리고 이 공간은 무리 없이 명령을 수행하기 위해 메모리보다 빨라야 한다. 바로 이런 역할들을 하는 것이 CPU 옆에 붙어있는 레지스터이다. 워드(word) : 하나의 기계어 명령이나 연산을 통해 ..

#2강. 메모리의 하나의 번지에 저장할 수 있는 데이터 양은 왜 8bit 일까

* 부호화 과정 : 2진수 -> 10진수 1 0 1 0 1 0 -> 기계어(2진수) 32 8 2 -> 10진수 42 -> 핵 발사! 통신의 시작은 유럽에서 시작되었다. A.D 1896년 영국의 Marconi가 무선통신 실험을 했다. 영국의 소르스 페리에서 무선전신을 이용하여 3km 떨어진 두 곳에서 전파가 전달되는 것을 증명했다. 1900년도 10월 약 360km 떨어진 영국과 아일랜드에서 통신이 성공 1900년도 12월 약 2800km 떨어진 대서양 횡단(미국 - 영국) 통신 성공 통신을 위해 필요했던 코드들이 있다. 이 중 ASCII 코드에 대해 알아보자. ASCII (American Standard Code for Information Interchange, 미국 정보 교환 표준 부호) 유럽에서 시..

#1강. 전자와 2진수의 관계

* 메모리 반도체와 비메모리 반도체의 차이점 - 메모리 반도체 : 메모리 반도체는 반도체 기반의 집적 회로 위에 추가된 컴퓨터 메모리이다. 메모리 반도체의 예로 트랜지스터 기반의 에스램, 비트를 저장하기 위한 축전기 기반의 디램이 있다. (RAM) - 비메모리 반도체 : 컴퓨터 중앙처리장치(CPU)와 같이 데이터를 해석하고 처리하는 기능을 한다. S램, D램, 롬 등의 메모리 반도체 외에 모든 반도체가 비메모리 반도체에 속한다. (CPU, 마이크로 프로세서, 파워 반도체, 멀티미디어 반도체 등) 예를 들어, 아래 사진과 같이 로봇이 앞으로 걸어가다가 장애물을 만났을 때 50cm 앞에서 레이더로 장애물을 인식하고, 방향 전환을 해야 한다. 이때, 메모리 반도체는 50cm 앞에 장애물이 있다는 것을 기억하고..