메모리 하드 기능

Memory-hard function

암호학에서 메모리 하드 함수(MHF)는 평가하는 데 상당한 의 메모리가 필요한 함수입니다.메모리 바인딩 함수와는 다릅니다.메모리 바인딩 함수는 메모리 지연에 의한 연산을 늦춤으로써 비용이 발생합니다.MHF는 작업 증명서의 형태로 사용됩니다.

메모리 하드 측정

함수의 메모리 경도를 측정하는 방법에는 여러 가지가 있습니다.일반적으로 볼 수 있는 척도는 CMC(Cumulative Memory complexity ( Cumulative memory complexity ) 。병렬 모델에서 CMC는 각 스텝의 모든 입력을 합산하여 메모리 경도를 측정합니다.[1]

또 다른 실행 가능한 방법은 물리적 [2]시간에 대한 메모리 통합입니다.

또 다른 척도는 메모리 [3]버스에서의 메모리 대역폭 소비량입니다.이 범주의 함수를 "대역폭-하드 함수"라고도 합니다.

동기

예를 들어 CPU 사이클이 아닌 MHF에 많은 메모리가 소요되는 이유가 있습니다.BitcoinSHA-2 함수의 반복적인 평가를 작업 증명으로 사용했지만, 현대의 범용 프로세서, 즉 기성 CPU는 고정 함수를 여러 번 계산해야 할 때 비효율적인 것으로 드러났다.예를 들어, 광부들은 애플리케이션별 집적회로(ASIC)를 채택하여 10^16 속도 향상을 달성했습니다.이것은 Bitcoin이 어떤 용도로 좋은지는 괜찮지만, 좀 더 "평등한" 경도 측정이 필요했다.즉, 이들은 ASIC를 가지고 있더라도 함수 계산에 있어 모든 사람이 똑같이 비효율적이기를 원했다.기능을 효율적으로 평가할 수 있는 사람도 있고 그렇지 않은 사람도 있기 때문에 숏컷 사용자에게는 상대적으로 기능을 어렵게 하기 위해 일반 사용자에게는 기능을 너무 어렵게 했습니다.모든 사용자가 비효율적인 경우 모든 사용자가 적당히 딱딱한 함수를 평가할 수 있습니다.

시간이 지남에 따라 메모리 비용은 전반적으로 거의 동일하다는 것이 인식되었습니다.따라서 MHF입니다.

변종

MHF는 평가 패턴에 따라 데이터 의존형(dMHF)과 데이터 의존형(iMHF)의 두 가지 진영으로 나눌 수 있습니다.dMHF는 이후의 계산에 필요한 정보를 알 수 없는 MHF이며, IHF는 그러한 모호성이 없습니다.dMHF의 예로는 스크립트Argon2d가 있습니다.iMHF의 예로는 Argon2icatena가 있습니다.이들 MHF의 대부분은 메모리 경도 때문에 패스워드 해싱 기능으로 사용할 수 있도록 개발되어 있습니다.

dMHF에는 캐시 타이밍 등의 사이드 채널 공격이 발생하기 쉽다는 중대한 문제가 있습니다.이러한 이유로 사람들은 특히 비밀번호 해시를 위해 iMHF를 선호합니다.단, iMHF는 dMHF보다 메모리 경도 특성이 약한 것으로 수학적으로 증명되었습니다.

건설

심도 변화 그래프

병렬 랜덤 오라클 모델(pROM)의 iMHF의 경우 누적 페블링 복잡성이 그래프의 깊이-강도에 의해 하한 및 상한이라는 것은 알려진 사실이다.

스크리프

비트 그래픽스

레퍼런스

  1. ^ (AS15) Alwen, Serbineko, High Parallel Complexity Graphs and Memory-Hard Functions, 2015
  2. ^ (MO16) Moran, Orlov, Simple Proofs of Space-Time and Rational Proofs of Storage, 2016년
  3. ^ (BR18) Blocki, Ren, Bandwidth-Hard 함수: 감소하한, 2018