전자 서명이란, 문서에 사인이나 인감 날인에 해당하는 기능을 컴퓨터에서 똑같은 역할로 실현하기 위한 기술이다. 이름 그대로 디지털 세상에서 사인(서명) 하는 것을 말한다. 해시란, 해시 함수에 의해 얻어지는 값이 해시 값, 해시 코드, 해시 체크섬 등등 이라 불리는데 간단하게 해시 라고 부른다. 해시를 구하기 위해서는 해시 함수를 이용하는데, 이는 임의의 길이의 데이터를 고정된 길이의 데이터 값으로 변환 시키기 위해 함수를 사용하는 것이다. 그렇다면 왜 블록체인에서 전자 서명과 해시 기술이 중요한 역할을 할까? - 데이터 원본의 변경이나 거짓 행세를 검출 할 수 있다. - 부인을 방지 할 수 있다. 이 두가지가 전자 서명과 해시 에서 주의깊게 봐야 하는 핵심이다.(아래에서 설명하겠지만, 이 전자 서명과 ..
블록체인은 대표적으로 3가지 기술을 알아야 한다. ⊙ P2P 네트워크 ⊙ 합의 알고리즘 ⊙ 전자 서명과 해시 오늘은 합의 알고리즘에 대해 기술할 것이다. 합의 알고리즘이 무엇일까? 우리는 무엇을 할 때 일정한 규칙, 방법에 따라 움직인다.티비를 보고 싶으면 티비 수신료를 낼 것이고 콘센트에 코드를 꽃고 전원을 키는 등등 할 것이다. 규칙, 방법 등이 생겨나기 까지 수많은 대화 즉, 합의에 도달했을 것이다. 국가 대 국가, 개인 대 개인, 기업 대 기업 등등 서로간의 합의를 통해 일을 진행해간다. 블록체인 시스템도 마찬가지로 P2P 네트워크에서 여러 문제점을 풀기 위한 방법으로 참가자들이 하나의 결과에 대한 합의를 얻기 위해 이 알고리즘을 적용하게 되었다. 그런데 블록체인이 왜 최근에서야 화두가 되었는가?..
P2P (peer-to-peer network) 란 개인 대 개인 의 통신망 이다. (peer = 대등한 자, 동등한 자) P2P 네트워크란 '대등한 관계의 컴퓨터 그룹이 직접 통신을 수행하는, 중심이 없는 네트워크' 라는 의미이다.즉, 개개인의 컴퓨터를 네트워크에 연결하여 상호간의 정보들을 공유하는 방법이다. P2P 시스템 VS 클라이언트 · 서버형 시스템 ● 클라이언트 · 서버형 시스템- 서버 O / 중앙 집중식 관리 시스템- 중앙 서버가 있으므로 시스템 설계, 유지 쉬움- 서버에 장애가 발생하면 서비스 중지 문제- 고비용 발생 (동시 접속시 문제 해결을 위한 고사양 서버, 네트워크 대역폭 마련) ● P2P 시스템 - 서버 X / 분산 시스템- 상호 연결된 노드(피어)들이 서로 간에 자원 공유- 높은..
드디어 컴공 공부 #1~11 과정이 끝났다!컴퓨터공학(암호학) 이라는 분야의 가장 기본을 익히는 걸 목표로 하였다. 계획대로 순차적으로 완료하였지만 기본만 공부한 거라 궁금한게 나오면 꾸준히 공부해야겠다. 이번 컴퓨터공학의 암호학 관련 공부를 하면서 한가지 느낀점은 컴공 공부를 한 후, 블록체인, 비트코인 관련 책 또는 글들을 읽을 때 훨씬 수월하게 읽을 수 있다는 점이다.(막막했지만 공부해보길 정말 잘한 것 같다.) 이제 다음 파트로 넘어간다. 이전까지는 블록체인의 기술적 접근을 알기위해서 또는 단순 호기심을 해결하기 위해 ' 꼭 알아야 할 암호학(컴퓨터공학) ' 을 공부하였다면, 다음 글 부터는 ' 블록체인 기술편 ' 에 대해서 적어내려갈 것이다. 큰 타이틀은 P2P 네트워크 / 합의 알고리즘 / 전..
1. 난수가 사용되는 암호 기술 1) 난수 용도 ○ 키 생성- 대칭 암호 / 메시지 인증 코드 ○ 키 쌍 생성- 공개 키 암호 / 디지털 서명 ○ 초기화 벡터(IV) 생성- 블록 암호 모드인 CBC, CFB, OFB ○ Nonce 생성- 재전송 공격 방지나 블록 암호의 CTR 모드 ○ 솔트 (salt) 생성- 패스워드를 기초로 한 암호화(PBE) ○ 일회용 패드- 패딩에 사용되는 열을 생성 2) 난수 목적 문제: 아무리 강한 암호 알고리즘이라도 키가 공격자에게 알려져 버리면 아무 의미가 없음해결: 난수를 사용해서 키를 만들어, 공격자에게 키를 간파당하지 않도록 하는 것 2. 난수의 성질 난수의 성질 분류 (1) 무작위성 ▷ 통계적인 편중이 없이 수열이 무작위로 되어 있는 성질 ▷ [아무렇게] 로 보이는 ..