prop 134 update
This commit is contained in:
@ -5,7 +5,7 @@ GOST Sig Type
|
||||
:author: orignal
|
||||
:created: 2017-02-18
|
||||
:thread: http://zzz.i2p/topics/2239
|
||||
:lastupdated: 2017-02-18
|
||||
:lastupdated: 2017-03-31
|
||||
:status: Open
|
||||
|
||||
.. contents::
|
||||
@ -14,32 +14,51 @@ GOST Sig Type
|
||||
Overview
|
||||
========
|
||||
|
||||
Elliptic curve signature used by officials and businesses in Russia.
|
||||
Elliptic curve signature GOST R 34.10 used by officials and businesses in Russia.
|
||||
Supporting it could simplify integration of existing apps (usually CryptoPro based).
|
||||
Hash function is GOST R 34.11 of 32 bytes.
|
||||
Basially works the same way as EcDSA, signature and public key size is 64 bytes.
|
||||
Hash function is GOST R 34.11 of 32 or 64 bytes.
|
||||
Basially works the same way as EcDSA, signature and public key size is 64 or 128 bytes.
|
||||
|
||||
|
||||
Motivation
|
||||
==========
|
||||
|
||||
TBD
|
||||
Elliptic curve cryptography was never been trusted completely and produce a lot of speculation about possible backdoors.
|
||||
Hence there is no ultimate signature type trusted by everybody.
|
||||
Adding one more signature type will give people more choice what they trust more.
|
||||
|
||||
|
||||
Design
|
||||
======
|
||||
|
||||
TBD
|
||||
GOST R 34.10 uses standard ellicptic curve with own parameters sets.
|
||||
Existsing groups's math can be reused
|
||||
However signing and verification is different and must be implemented.
|
||||
See RFC: https://www.rfc-editor.org/rfc/rfc7091.txt
|
||||
GOST R 34.10 is supposed to work together with GOST R 34.11 hash.
|
||||
We will use GOST R 34.10-2012 (aka steebog) either 256 or 512 bits.
|
||||
See RFC: https://tools.ietf.org/html/rfc6986
|
||||
|
||||
GOST R 34.10 doesn't specify parameters however there are some good parameters sets used by everybody.
|
||||
GOST R 34.10-2012 with 64 bytes public keys inherits CryptoPro's parameter sets from GOST R 34.10-2001
|
||||
See RFC: https://tools.ietf.org/html/rfc4357
|
||||
|
||||
However newer parameter sets for 128 bytes keys are created by specical technical committee tc26 (tc26.ru).
|
||||
See RFC: https://www.rfc-editor.org/rfc/rfc7836.txt
|
||||
|
||||
Openssl-based implementation in i2pd shows it faster than P256 and slower than 25519.
|
||||
|
||||
Specification
|
||||
=============
|
||||
|
||||
TBD
|
||||
|
||||
Only GOST R 34.10-2012 and GOST R 34.11-2012 are supported
|
||||
Two new signature types:
|
||||
8 - GOSTR3410_GOSTR3411_256_CRYPTO_PRO_A stands for public key and signture type of 64 bytes, hash size of 32 bytes and parameters set CryptoProA (aka CryptoProXchA)
|
||||
9 - GOSTR3410_GOSTR3411_512_TC26_A stands for public key and signature type of 128 bytes, hash size of 64 bytes and parameters set A from TC26.
|
||||
|
||||
Migration
|
||||
=========
|
||||
|
||||
TBD
|
||||
These signature types are supposed to be used as optional signature type only.
|
||||
No migration is required. i2pd supports it already.
|
||||
|
||||
|
Reference in New Issue
Block a user