영지식 스타크 편집하기
최신판 | 당신의 편집 | ||
15번째 줄: | 15번째 줄: | ||
# 충돌저항성 해시함수 : 해시함수에 서로 다른 두 개의 입력값을 넣을 때 동일한 출력값이 나오는 상황이다. 이는 해시함수가 무한한 가짓수의 입력값을 받아 유한한 가짓수의 출력값을 생성하는 비둘기집 원리(Pigeonhole principle)를 기반으로 하며 해시충돌을 없애는 것은 매우 어렵다.<ref>JOKERGT, 〈[https://jokergt.tistory.com/189 해시 함수? 해시 충돌?]〉, 《티스토리》, 2015-04-26</ref> 해시충돌은 알고리즘, 자료구조의 효율성을 해치는데, 특히 [[암호화]]된 해시함수는 그 안정성을 해치기 때문에 더욱 해시충돌 발생을 예방해야 한다. 이렇게 해시충돌에 저항을 갖는 함수를 충돌저항성 해시함수라 한다.<ref name="코인논객오공">코인논객오공, 〈[https://www.blockchainhub.kr/bbs/board.php?bo_table=goku&wr_id=4339 (Privacy)’영지식증명‘의 진화(zk-SNARK vs. zk-STARK) v1.0]〉, 《블록체인허브》, 2019-05-06</ref> | # 충돌저항성 해시함수 : 해시함수에 서로 다른 두 개의 입력값을 넣을 때 동일한 출력값이 나오는 상황이다. 이는 해시함수가 무한한 가짓수의 입력값을 받아 유한한 가짓수의 출력값을 생성하는 비둘기집 원리(Pigeonhole principle)를 기반으로 하며 해시충돌을 없애는 것은 매우 어렵다.<ref>JOKERGT, 〈[https://jokergt.tistory.com/189 해시 함수? 해시 충돌?]〉, 《티스토리》, 2015-04-26</ref> 해시충돌은 알고리즘, 자료구조의 효율성을 해치는데, 특히 [[암호화]]된 해시함수는 그 안정성을 해치기 때문에 더욱 해시충돌 발생을 예방해야 한다. 이렇게 해시충돌에 저항을 갖는 함수를 충돌저항성 해시함수라 한다.<ref name="코인논객오공">코인논객오공, 〈[https://www.blockchainhub.kr/bbs/board.php?bo_table=goku&wr_id=4339 (Privacy)’영지식증명‘의 진화(zk-SNARK vs. zk-STARK) v1.0]〉, 《블록체인허브》, 2019-05-06</ref> | ||
+ | |||
# 대칭 및 비대칭 암호화 : A가 B에게 데이터를 전송할 때 A는 해당 데이터에 암호를 설정하여 해독키를 만든다. 그 후 B가 A로부터 데이터를 받으면 A는 그 해독키를 B에게 알려줘 암호를 풀게 하는데, 이것이 [[대칭 암호화]]이다. 대칭 암호화의 가장 큰 문제점은 데이터에 담긴 암호를 안전하게 송수신시키기 위해 추가적인 보안계층이 필요하다는 것이다. 반면에 A와 B가 각자 [[공개키]]와 [[개인키]]를 갖고 있으며 서로의 공개키는 알지만 개인키는 비밀인 상황에서, A가 B에게 데이터를 송신했을 때 B의 공개키를 사용하여 암호를 설정하고, B는 자신의 공개키를 사용하여 암호를 푸는데 이것이 [[비대칭 암호화]]이다. 이 비대칭 암호화의 가장 큰 단점은 공개키 암호화 시 여러 연산 때문에 높은 컴퓨팅 능력이 필요하며 현재까지는 대규모 데이터를 전송하는 기술이 개발되지 않았다.<ref name="코인논객오공"></ref> | # 대칭 및 비대칭 암호화 : A가 B에게 데이터를 전송할 때 A는 해당 데이터에 암호를 설정하여 해독키를 만든다. 그 후 B가 A로부터 데이터를 받으면 A는 그 해독키를 B에게 알려줘 암호를 풀게 하는데, 이것이 [[대칭 암호화]]이다. 대칭 암호화의 가장 큰 문제점은 데이터에 담긴 암호를 안전하게 송수신시키기 위해 추가적인 보안계층이 필요하다는 것이다. 반면에 A와 B가 각자 [[공개키]]와 [[개인키]]를 갖고 있으며 서로의 공개키는 알지만 개인키는 비밀인 상황에서, A가 B에게 데이터를 송신했을 때 B의 공개키를 사용하여 암호를 설정하고, B는 자신의 공개키를 사용하여 암호를 푸는데 이것이 [[비대칭 암호화]]이다. 이 비대칭 암호화의 가장 큰 단점은 공개키 암호화 시 여러 연산 때문에 높은 컴퓨팅 능력이 필요하며 현재까지는 대규모 데이터를 전송하는 기술이 개발되지 않았다.<ref name="코인논객오공"></ref> | ||