의견.png

"스크립트 알고리즘"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
(알고리즘)
18번째 줄: 18번째 줄:
 
알고리즘에는 다음과 같은 매개 변수가 포함된다:
 
알고리즘에는 다음과 같은 매개 변수가 포함된다:
  
* Passpharse : 해시할 문자열.
+
* Passpharse : 해시할 문자열
* Salt : Rainbow 테이블 공격으로부터 보호하기 위해 해시를 수정하는 문자열.
+
* Salt : Rainbow 테이블 공격으로부터 보호하기 위해 해시를 수정하는 문자열
* N : CPU/메모리 비용 매개 변수.
+
* N : CPU/메모리 비용 매개 변수
* P : 병렬화 매개 변수, <math> p \le (2^{32}-1) * hLen/MFLen </math>을 만족하는 양의 정수.
+
* P : 병렬화 매개 변수, <math> p \le (2^{32}-1) * hLen/MFLen </math>을 만족하는 양의 정수
* dkLen : 파생 키의 옥텟에서 의도된 출력 길이, <math> dkLen \le (2^{32}-1)*hLen </math>을 만족하는 양의 정수.
+
* dkLen : 파생 키의 옥텟에서 의도된 출력 길이, <math> dkLen \le (2^{32}-1)*hLen </math>을 만족하는 양의 정수
* r : 순차 메모리 읽기 크기와 성능을 미세 조정하는 블록화 매개변수. 8이 일반적으로 사용된다.
+
* r : 순차 메모리 읽기 크기와 성능을 미세 조정하는 블록화 매개변수(8이 일반적으로 사용됨)
* hLen : 해시 함수의 8진수 길이.
+
* hLen : 해시 함수의 8진수 길이
* MFlen : 혼합 기능 출력의 8진수 길이. RFC7914에서 r*128로 정의된다.<ref>비트코인위키 - https://en.bitcoinwiki.org/wiki/Scrypt</ref>
+
* MFlen : 혼합 기능 출력의 8진수 길이(RFC7914에서 r*128로 정의됨)<ref>비트코인위키 - https://en.bitcoinwiki.org/wiki/Scrypt</ref>
  
 
{{각주}}
 
{{각주}}

2019년 7월 8일 (월) 17:13 판

스크립트(Scrypt)는 원래 Tarsnap 온라인 백업 서비스를 위해 2012년 9월 17일, 콜린 퍼시벌(Colin Percival)이 만든 암호 기반 키 추출기능이다. 대표적인 예로 라이트 코인에 적용이 되어있다.

개요

Scrypt는 많은 양의 메모리를 요구하여 대규모 사용자 하드웨어 공격을 수행하는 데에 있어서 많은 비용이 들도록 특별히 설계되어있다. 때문에 안전하지만 한편으로는, 메모리가 많기 때문에 수행하는데에 있어서 시간이 많이 든다는 단점도 있다. 본래 GPU에 의한 비트코인 채굴이 지나치게 중앙 집중적이라고 생각한 라이트 코인 개발자들이 내놓은 대안으로 GPU 채굴을 방지하기 위해 라이트코인에 적용되었지만, 어떤 이유에서인지 본래의 목적을 달성하지 못하였다.

등장배경

2016년, IETF(Internet Engineering Task Force)에 의해 RFC7914로 스크립트 알고리즘이 발표되었다. 단순화된 버전의 스크립트는 다수의 암호 해독기에 의해 업무 입증 계획으로 사용되었는데, 처음에는 테네브릭스에서 ArtForz라는 익명의 프로그래머에 의해 구현되었고 곧이어 페어브릭스(Fairbrix)와 라이트코인(Litecoin)에 의해 구현되었다. [1]

특징

  • 스크립트에 대한 공격자는 브루트 포스 공격 실행을 위해 메모리 사용량을 늘리거나 반대로 메모리 사용량을 줄이고 느린 공격을 실행할 수 밖에 없는데, 때문에 공격으로부터 매우 안전하다.
  • SHA-256에 비해 많은 메모리를 필요로 하지만 전력소모가 적다. 채굴장비의 전력소모량이 낮음에 따라 발열과 소음또한 적어진다.[2]

알고리즘

알고리즘에는 다음과 같은 매개 변수가 포함된다:

* Passpharse : 해시할 문자열
* Salt : Rainbow 테이블 공격으로부터 보호하기 위해 해시를 수정하는 문자열
* N : CPU/메모리 비용 매개 변수
* P : 병렬화 매개 변수, 을 만족하는 양의 정수
* dkLen : 파생 키의 옥텟에서 의도된 출력 길이, 을 만족하는 양의 정수
* r : 순차 메모리 읽기 크기와 성능을 미세 조정하는 블록화 매개변수(8이 일반적으로 사용됨)
* hLen : 해시 함수의 8진수 길이
* MFlen : 혼합 기능 출력의 8진수 길이(RFC7914에서 r*128로 정의됨)[3]

각주

참고자료


  의견.png 이 스크립트 알고리즘 문서는 알고리즘에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.