Размер элемента
При выборе параметров эллиптической кривой существует большая свобода. Что касается размера элементов, стоит отметить два основных параметра: $р$, а степень вложения, $к$.
Если $\mathbb{G}_1$ представляет собой эллиптическую кривую над $F_p$,1 тогда $\mathbb{G}_2$ представляет собой эллиптическую кривую над $F_{p^k}$, и $\mathbb{G}_T$ является подгруппой $F_{p^k}$.
Итак, элементы $\mathbb{G}_2$ и $\mathbb{G}_T$ требовать $к$ раз больше объема памяти как элемента $\mathbb{G}_1$.
Однако все кривые допускают компактное представление $\mathbb{G}_2$, используя скручивание кривой, так что элемент $\mathbb{G}_2$ можно представить точкой на $E'\влево(F_{p^\frac{k}{d}}\вправо)$, куда $д$ равно 2, 3, 4 или 6. Все кривые поддерживают $д=2$. Кривые, используемые для криптографических операций, будут поддерживать большие $д$ потому что стоимость преобразования между представлениями дешева.
Размер ключа и размер подписи
Подписи BLS основаны на функции сопряжения $e: \mathbb{G}_1 \times \mathbb{G}_2 \стрелка вправо \mathbb{G}_T$.
Позволять $G_1$ быть генератором для $\mathbb{G}_1$ и $G_2$ генератор для $\mathbb{G}_2$.
Закрытый ключ, $х$, это просто целое число между $0$ и $|\mathbb{G}_1|$, что равно $|\mathbb{G}_2|$. Открытый ключ, $Х$, является либо элементом $\mathbb{G}_1$ или же $\mathbb{G}_2$. Чтобы подписать сообщение, сообщение хэшируется в элемент другой группы, умножается на закрытый ключ и сопоставляется с генератором, т.е. $\sigma = e(G_1, xH(m))$. Подпись, $\сигма$, является элементом в $\mathbb{G}_T$. Верификатор вычисляет пару хэша сообщения с открытым ключом как $е(Х, Н(м))$. Если это равно $\сигма$, то подпись действительна.
В качестве альтернативы объем передаваемых данных может быть уменьшен, а объем работы, выполняемой подписывающей стороной, может быть уменьшен за счет того, что проверяющая сторона будет выполнять больше работы. Вместо отправки $\сигма$, подписывающий просто отправляет $хН(м)$, и верификатор вычисляет обе пары.
Выбор открытого ключа
Открытый ключ может находиться либо в $\mathbb{G}_1$ или же $\mathbb{G}_2$. Элементы в $\mathbb{G}_1$ меньше. Операции в $\mathbb{G}_2$ стоят дороже.
Примеры
Возьми BLS12-3812, который часто упоминается как имеющий 128-битную безопасность. $р$ составляет 381 бит. Степень вложения, $к$, равно 12, что делает $p^k$ иметь 4569 бит. Элемент в $\mathbb{G}_1$ для представления требуется 382 бита (381 бит для 1 координаты плюс 1 бит для знака). Элемент в $\mathbb{G}_2$ для представления требуется 762 бита, потому что это компактное представление. Элемент в $\mathbb{G}_T$ для его представления требуется 4596 бит.
С той же страницы2, MNT4-298 имеет примерно 77-битную безопасность. Для этой кривой элемент в $\mathbb{G}_1$ потребуется 299 бит; в $\mathbb{G}_T$, 1192 бит.
1 Технически, $\mathbb{G}_1$ также определяется над $F_{p^k}$, но с тех пор $E(F_p)$ является подгруппой $E(F_{p^k})$, это не совсем важно.
2 Эти цифры исходят из https://members.loria.fr/AGuillevic/pairing-friendly-curves/. Ниже приведены пояснения к названиям некоторых столбцов.
Имена столбцов
$к$ это степень вложения.
$Д$ комплексный дискриминант умножения (я думаю).
$u$ сложнее. Я не совсем уверен, что это правильно. Каждое из этих семейств кривых (например, BLS или BN) относится $р$, $г$, и другие в "начальный" параметр, $u$.
$р$ – размер характеристики поля и размер элемента в $\mathbb{G}_1$.
$г$ размер порядка кривой.
$p^\frac{k}{d}$ размер компактного представления элемента в $\mathbb{G}_2$
$p^k$ это размер элемента в $\mathbb{G}_T$.