В асимметричной криптографии на основе пар $\mathbb G_1$ обычно является подгруппой эллиптической кривой над простым полем $\mathbb F_q$. Элементы этой группы обычно выражаются парой чисел $(х,у)\в(\mathbb F_q)^2$. В вычислительном отношении необходимы оба значения, но поскольку $у$ можно восстановить из $х$ элементы до знака часто сжимаются до $х$ значение и дополнительный бит для целей передачи. Это требует $\lceil\lgq\rceil+1$ биты.
$\mathbb G_2$ обычно является подгруппой эллиптической кривой с тем же уравнением, но с точками $\mathbb F_{q^k}$ куда $к$ таков, что $\#\mathbb G_1|(q^k-1)$. Как правило, такие $к$ трудно найти, но существуют различные специальные конструкции, параметризующие подходящие $q$ и кривые для конкретных значений $к$. Есть особенно милая семья, найденная Баррето и Нериг за $к=12$ что позволяет использовать всю группу эллиптических кривых для $\mathbb G_1$, что особенно эффективно. Более ранняя более общая конструкция Баррето, Линн и Скотт почти так же эффективен с $к=12$ и $к=48$. Как в случае BN, так и в случае BLS элементы $\mathbb G_2$ можно выразить парой $(х,у)\в\mathbb (F_{q^k})^2$. Снова возможно сжатие, так что только $х$ и бит знака должен быть передан. Это потребует $k\lceil\lgq\rceil+1$ биты. В случаях BLS и BN мы можем выбрать $\mathbb G_2$ таким образом, что $х$ и $у$ и может быть получен из точки на связанной кривой над $\mathbb F_{q^{k/6}}$. В таких обстоятельствах достаточно передать один элемент $\mathbb F_{q^{k/6}}$ и знаковый бит. Это потребует $\frac k6\lceil\lgq\rceil+1$ биты. Однако этот выбор $\mathbb G_2$ является не совместим со всеми видами использования криптографии на основе сопряжения.
При таком выборе $\mathbb G_1$ и $\mathbb G_2$ различные криптографические пары все сопоставляются с $\mathbb G_T$ которая является мультипликативной подгруппой $\mathbb F_{q^k}$ порядка $\#\mathbb G_1$. Элементы этой группы можно записать как элементы $\mathbb F_{q^k}$ который занимает $k\lceil\lgq\rceil$ биты.
Выбор $q$ и $к$ будет зависеть от уровня безопасности, который вы хотите иметь в своей системе на основе сопряжения. Размер $\mathbb G_1$ должен быть достаточно большим, чтобы блокировать типичные ``атаки с квадратным корнем'', а размер/структура $\mathbb G_T$ должно быть достаточно, чтобы заблокировать атаку TNFS Ким и Барбалеску. А Проект 2019 года от IETF предлагает следующее в разделе 4.
Безопасность (в битах) |
Размер $\mathbb G_1$ (некомп./комп.) |
Размер $\mathbb G_2$ (некомп./комп./BN-BLS комп.) |
Размер $\mathbb G_T$ |
100 |
512/257 |
6144/3073/513 (БН256, $к=12$) |
3072 |
128 |
924/463 |
11088/5545/925 (БН462, $к=12$) |
5544 |
128 |
922/462 |
11064/5533/923 (БЛС12-461, $к=12$) |
5532 |
128 |
762/382 |
9144/4573/763 (БЛС12-381, $к=12$) |
4572 |
256 |
1162/582 |
55776/27889/4649 (БЛС48-581, $к=48$) |
27888 |
Обратите внимание, что это чисто классическая оценка безопасности, и, как и все системы сопряжения, их следует считать уязвимыми для криптоаналитически релевантного квантового компьютера.