2013-11-09 4 views
1

비트 코 마이닝에서 SHA-256 알고리즘의 입력 크기에 상관없이 항상 256 비트 결과를 출력합니다.sha-256의 출력 결과가 항상 256 비트이고 실행 시간이 항상 같은 이유는 무엇입니까?

또한 입력의 크기에 관계없이 계산 시간은 항상 같습니다.

+0

Bitcoin은 각 시도에 대해 두 개의 블록을 압축합니다. 내부 마이닝 루프에서 가변 크기 입력을 사용하지 않습니다. – CodesInChaos

답변

2

첫 번째 질문에 대한 답은 의도적으로 설계된 것입니다. SHA-256 알고리즘은 임의의 양의 입력 데이터를 가져 와서 256 비트 출력을 생성하는 반면, 특정 properties은 효과적인 암호화 해시. 다른 해시 알고리즘은 서로 다른 출력 크기를 생성합니다 (예 : SHA-1은 160 비트 출력, SHA-512는 512 비트 출력 생성 등).

두 번째 질문은 잘못된 가정에 기초 - 계산 시간 은 입력의 크기에 따라 달라집니다 - 그것은 자연스럽게 단지 1킬로바이트 파일을 읽을 말하자면 그것보다 1메가바이트 파일을 것이다 읽을 이상도 걸릴 것입니다 , 그리고 해시가 입력의 모든 비트에 의존하기 때문에, 더 큰 입력은 더 작은 입력보다 해시에 더 오래 걸릴 것입니다.

+2

비트 코인에서는 SHA-256 해시 입력이 너무 작아 계산 시간도 적습니다. –

1

출력 크기는 알고리즘 (알고리즘)과 동일합니다.

입력 크기가 중요합니다. 1GB 파일과 1KB 파일의 해시를 계산하고 비교하면 속도 차이가 표시됩니다.