티스토리 뷰
1. 암호화의 종류
1.1 단방향 암호화(One-way encryption)
오직 암호화만이 가능하다
1.2 양방향 암호화(Two-way encryption)
- 평문을 암호화할 수 있고 암호문을 다시 복호화 가능
- 양방향 암호화의 경우 당사자 2명을 제외한 나머지 사람들이 몰라야 하기 때문에 비밀키(Private Key)를 정한다.
- 하지만 이 비밀키를 알 수 있기 때문에 당사자 2명 각각 서로 다른 키를 가지고 암호화와 복호화를 하도록한다면 이러한 문제는 일어나지 않을것이다! ---> 비대칭키 암호
2. 공개키 알고리즘(public key enryption)
- 비대칭키 암호는 서로 다른 키를 가지고 있음
- 공개키(Public key) 와 비밀키(Private Key)
- 공개키 알고리즘은 두가지 방식으로 분류가능한데 1. 소인수분해 문제 이용 2. 이산로그문제 이용해서 만들기
- 2번의 이산 로그 문제를 사용해서 만드는 방법이 바로 ECDSA알고리즘(타원곡선암호)
3. 디지털 서명(digital signature)
- 공개 키 암호 방식을 사용할 때 데이터 변조 여부와 데이터 송신자를 확인하기 위해서 사용되는 것이 '디지털 서명'
- 송신자가 데이터를 송신할 때에는 데이터 뿐만 아니라 디지털 서명을 추가한다.
- 디지털 서명 : 데이터로 계산한 '해시값'을 송신자의 비밀키로 암호화 한 것
- 해시값의 계산에서는 'MD5' (128비트) , 'SHA-1'(160비트) 등의 알고리즘을 사용한다
- 데이터를 수신한 수신자는 송신자의 공개키로 디지털 서명을 복호화 한 것과 디지털 서명을 복호화 한 해시값이 일치되면 데이터가 변조되지 않았다는 것을 알 수 있음
https://server-engineer.tistory.com/586
4. ECDSA 알고리즘 - Elliptic Curve Digital Signature Algorithm
- 타원 곡선 암호를 전자 서명에 접목시킨 암호 알고리즘
- 비트코인, 이더리움 등의 암호화폐 거래시 정당한 소유주만이 자금을 쓸 수 있도록 하기 위해 사용됨
- ECDSA 알고리즘은 비대칭키 암호에 해당
- 비트코인과 이더리움은 secp256k1라는 기준에 맞춰진 방정식을 사용
- 일반적인 인증 시스템에서 보안키의 보호가 어려워짐에 따라 보완하기 위해서 개발한 것으로, 이 방식에서는 발신자에 의한 서명시 사용되는 개인키와 수신자가 발신자의 서명을 사용하는 공개키 한쌍을 갖음
<출처>
1. 위키해시
'인공지능 > 블록체인' 카테고리의 다른 글
Solidity 문법 정리 (0) | 2020.03.25 |
---|---|
블록체인 합의알고리즘(Consensus algorithms) (0) | 2020.03.17 |
블록체인 - 이더리움 네트워크 구축 (0) | 2019.11.02 |
블록체인 개발환경 만들기 (0) | 2019.11.02 |
블록체인 개념 (0) | 2019.10.05 |
댓글