암호화

블록체인 로드맵 - Cryptography

Posted by Hebi on November 18, 2022

블록체인을 학습

암호화(Cryptography)

암호화

  • 암호화 알고리즘0과 1로 이루어진 이진수 데이터수학적 계산을 통한 비트 변경을 수행하는 과정을 통해 어떤 정보를 의미 없는 문자의 나열로 바꾸는 것을 뜻한다.
  • 단방향

  • 양방향

암호화(Encrypt)

  • 사용자가 입력한 데이터를 알아볼 수 없는 데이터로 변경하는 과정

복호화(Decrypt)

  • 암호화된 데이터를 정상적인 데이터로 변경하는 과정

단방향

암호

  • 단방향 암호(해시)는 암호화를 수행하고 나온 데이터를 다시 원래의 데이터로 돌릴 수 없는 암호화 방식을 말한다.
  • 또한 단방향 암호화에서 나오는 데이터는 원래 데이터의 1bit만 바뀌어도 전혀 다른 암호문으로 변하기 때문에, 보통 데이터가 변조되지 않았음을 나타낼때 사용한다.
  • 누군가의 신원을 증명할 때 인증의 방법으로 사용하는 비밀번호는 위와 같은 단방향 암호화를 사용
  • 비밀번호를 저장하기 전에 암호화하여 저장한다.
  • 예를 들어 비밀번호를 ‘password’라 만들었다면 이를 암호화하여 ‘WaBauZ2.Hnt2’라 저장한다.
  • 평문 ‘password’와 암호문 ‘WaBauZ2.Hnt2’ 사이에는 아무런 유사성을 찾을 수 없어야 한다.
  • 이러한 단방향 암호화는 역변할수 없으며 어떠한 방법으로도 암호문을 원래의 평문으로 바꿀수가 없다.
  • 입력한 비밀번호를 다시 암호화하여 저장된 비밀번호와 일치하는지를 비교하여 신원을 인증한다.

  • MDC,MAC

  • SHA256

단방향:MD5

  • 해시 값의 크기는 128bit, 즉 32Byte이다.
  • 해시의 특징을 그대로 가지고 있어서, 입력한 값의 크기에 종속되지 않는다.
  • 따라서 어떠한 입력값을 받더라도 해시값은 일정한 크기를 유지한다.
  • 해시 값은 입력받은 데이터가 1bit 라도 다르게 되면, 전혀 다른 값이 나타나게 된다.

단방향:SHA

sha

  • 해시 값의 크기는 SHA 알고리즘에 따라오는 bit 수 만큼 달라지게 된다.
  • SHA 해시 알고리즘bit는 128, 256, 384, 512가 있으며.각 숫자에 맞는 비트 수의 해시 값이 출력된다
  • 해시 함수의 버전은 SHA 0 ~ SHA 3까지 있으며, 현재는 SHA2가 사용 가능하고, SHA3가 권장되고 있다.(SHA 0 ~ 1 은 현재 미사용)
  • 비트코인에서는 SHA256이 사용되었다.

양방향

  • 양방향 알고리즘은 암호화된 암호문을 복호화 할 수 있는 알고리즘을 의미한다.
  • 양방향 암호 알고리즘은 주로3DESAES가 잘 알려져 있다.
  • 이러한 알고리즘은 키의 성질에 따라 구분되는데, 크게 대칭키 암호 알고리즘과 비대칭키 암호 알고리즘으로 구분할 수 있다.
  • 대칭: DES,3DES,AES

  • 비대칭 :RSA 알고리즘,ElGamal:이산대수,ECDSA

양방향(대칭키):DES or 3DES

  • DES(Data Encryption Standard) 혹은 3DES(Triple Data Encryption Standard)는 대칭키 암호 알고리즘이다.
  • 평문을 64비트로 나누어 56비트 키를 이용해 다시 64비트의 암호문을 만들어내는 알고리즘이다.

양방향(대칭키):AES

  • DES의 안전성에 대해 여러가지 공격 방법들이 발표되며 미국의 NIST 기관에서 고안한 암호 알고리즘이다.

양방향(비대칭키):RSA

  • RSA(Rivest Shamir Adleman)암호 알고리즘은 대표적인 비대칭키 암호 알고리즘이다.

양방향(비대칭키):ECDSA

지갑

  • 타원곡선 암호를 전자 서명에 접목시킨 암호 알고리즘
  • 비트코인 ,이더리움등의 암호 화폐 거래시 정당한 소유주 만이 자금을 쓸수 있도록 하기 위해 사용된다.
  • 비트코인과 이더리움 secp256k1이란 방정식을 사용한다.