RSA 암호 방식 (소인수분해)
RSA 방식은 큰 수의 소인수분해에 엄청난 시간이 걸린다는 특성을 활용해 각 개인 키를 곱해 공개 키를 생성한다.
개인 키 * 개인 키 = 공개 키
즉 이렇게 생성된 공개 키는 역으로 개인 키들을 확인하기가 거의 불가능하다
타원 곡선 알고리즘
타원곡선 알고리즘은 비트코인의 비대칭키 알고리즘으로 RSA방식보다 짧은 키 길이와 빠른 연산속도를 가지면서도 동일한 보안 강도를 가지고 있어서 대안으로 사용된다
👉타원곡선 알고리즘(해시넷 위키)
A(임의의 점, 개인 키) * B(이동 횟수, 개인 키) = C(결과값, 공개 키)
타원곡선 그래프에 찍힌 임의의 점에 대한 이산 로그를 구하는 연산으로 타원곡선 암호화를 통해 10^77이란 경우의 수를 얻을 수 있고 이는 실제로 계산하기가 거의 불가능하다. 장점은 RSA가 2048비트의 동일한 보안수준을 타원곡선으로는 224비트로 구현할 수 있다는 것이며 한계점은 구현이 상대적으로 어렵기에 비트코인에 사용된 알고리즘 또한 아주 오랫동안 OpenSSL 모듈을 활용하다가 나중에서야 자체 알고리즘을 구현할 정도다.
비트코인에 사용된 대표적인 해시함수, SHA-256
SHA-256 해시 함수는 어떤 길이의 값을 입력하더라도 256비트의 고정된 결과값을 출력한다.
현재 블록체인에서 가장 많이 채택하여 사용되고 있는 암호 방식으로 출력속도가 빠른 장점이 있으며 단방성의 성질을 띄고 있는 방식으로 복호화가 불가능하다.
👉SHA-256(해시넷 위키)