GOST 서명 타입

Proposal 134
Open
Author orignal
Created 2017-02-18
Last Updated 2017-03-31

개요

GOST R 34.10 타원 곡선 서명은 러시아에서 공무원 및 기업이 사용합니다. 이를 지원하면 기존의 앱(주로 CryptoPro 기반)의 통합을 쉽게 할 수 있습니다. 해시 함수는 32 또는 64바이트의 GOST R 34.11입니다. 기본적으로 EcDSA와 같은 방식으로 작동하며, 서명과 공개 키의 크기는 64 또는 128바이트입니다.

동기

타원 곡선 암호화는 완전히 신뢰받은 적이 없었으며, 백도어 가능성에 대한 많은 추측이 있습니다. 따라서 모든 사람이 신뢰할 수 있는 궁극적인 서명 타입은 없습니다. 하나의 서명 타입을 추가하면 사람들이 더 신뢰할 수 있는 것을 선택할 수 있는 보다 많은 옵션을 제공할 것입니다.

설계

GOST R 34.10은 자체 매개변수 세트를 가진 표준 타원 곡선을 사용합니다. 기존 그룹의 수학을 재사용할 수 있습니다. 하지만 서명 및 검증이 다르므로 구현해야 합니다. RFC 참조: https://www.rfc-editor.org/rfc/rfc7091.txt GOST R 34.10은 GOST R 34.11 해시와 함께 작동하는 것으로 간주됩니다. 우리는 GOST R 34.10-2012(steebog) 256 또는 512 비트를 사용할 것입니다. RFC 참조: https://tools.ietf.org/html/rfc6986

GOST R 34.10은 매개변수를 명시하지 않지만, 모두가 사용하는 좋은 매개변수 세트가 있습니다. 64 바이트 공개 키를 가진 GOST R 34.10-2012는 GOST R 34.10-2001의 CryptoPro 매개변수 세트를 상속합니다. RFC 참조: https://tools.ietf.org/html/rfc4357

그러나 128 바이트 키를 위한 새로운 매개변수 세트는 tc26.ru라는 특별 기술 위원회에 의해 작성되었습니다. RFC 참조: https://www.rfc-editor.org/rfc/rfc7836.txt

i2pd의 OpenSSL 기반 구현은 P256보다 빠르고 25519보다는 느리다고 나타났습니다.

명세

GOST R 34.10-2012 및 GOST R 34.11-2012만 지원됩니다. 두 가지 새로운 서명 타입: 9 - GOSTR3410_GOSTR3411_256_CRYPTO_PRO_A는 공개 키 및 서명 타입이 64바이트이고, 해시 크기가 32바이트이며, 매개변수 세트가 CryptoProA(CryptoProXchA)인 것을 나타냅니다. 10 - GOSTR3410_GOSTR3411_512_TC26_A는 공개 키 및 서명 타입이 128바이트이고, 해시 크기가 64바이트이며, TC26의 A 매개변수 세트를 나타냅니다.

마이그레이션

이 서명 타입은 선택적 서명 타입으로만 사용될 예정입니다. 마이그레이션은 필요하지 않습니다. 이미 i2pd에서 지원됩니다.