EIP-198은 큰 정수의 모듈러 지수 연산(base^exp mod modulus)을 위한 프리컴파일 컨트랙트를 도입합니다. RSA 서명 검증, Miller-Rabin 소수 판별 등 암호학적 연산을 EVM에서 효율적으로 수행하기 위해 설계되었습니다.
개요
주소 0x05의 프리컴파일은 임의 크기의 정수 base, exp, modulus를 입력받아 base^exp mod modulus를 계산합니다. 이는 EVM의 256비트 제한을 우회하여 RSA와 같은 큰 정수 기반 암호화를 지원합니다.
기술 세부 사항
입력 형식은 base, exponent, modulus 각각의 길이(바이트)와 실제 값으로 구성됩니다. 가변 크기 입력을 지원하므로 512비트, 1024비트, 2048비트 등 다양한 RSA 키 크기를 처리할 수 있습니다.
활용 사례
RSA 서명 검증, 소수 판별 알고리즘, 그리고 다양한 암호화 프로토콜에서 활용됩니다. 특히 영지식 증명에서 큰 정수 연산이 필요한 경우에도 사용됩니다.
가스 비용
가스 비용은 입력 크기와 지수 크기에 따라 동적으로 계산됩니다. EIP-2565에서 가스 비용 공식이 개정되어 더 공정한 비용 체계가 마련되었습니다.