Kích thước phần tử
Khi chọn các tham số đường cong elip, có rất nhiều sự tự do. Đối với kích thước của các phần tử, hai tham số đáng chú ý là số nguyên tố, $p$và mức độ nhúng, $k$.
Nếu $\mathbb{G}_1$ là một đường cong elip trên $F_p$,1 sau đó $\mathbb{G}_2$ là một đường cong elip trên $F_{p^k}$, và $\mathbb{G}_T$ là một nhóm con của $F_{p^k}$.
Vậy các phần tử của $\mathbb{G}_2$ và $\mathbb{G}_T$ yêu cầu $k$ nhân với dung lượng lưu trữ như một phần tử của $\mathbb{G}_1$.
Tuy nhiên, tất cả các đường cong cho phép biểu diễn nhỏ gọn của $\mathbb{G}_2$, sử dụng độ xoắn của đường cong, sao cho một phần tử của $\mathbb{G}_2$ có thể được đại diện bởi một điểm trên $E'\left(F_{p^\frac{k}{d}}\right)$, ở đâu $d$ là 2, 3, 4 hoặc 6. Tất cả các đường cong đều hỗ trợ $d=2$. Các đường cong được sử dụng cho các hoạt động mật mã sẽ hỗ trợ lớn hơn $d$ bởi vì chi phí chuyển đổi giữa các biểu diễn là rẻ.
Kích thước khóa và Kích thước chữ ký
Chữ ký BLS dựa trên chức năng ghép nối $e: \mathbb{G}_1 \times \mathbb{G}_2 \rightarrow \mathbb{G}_T$.
Để cho $G_1$ là một máy phát điện cho $\mathbb{G}_1$ và $G_2$ một máy phát điện cho $\mathbb{G}_2$.
Khóa riêng, $x$, chỉ là một số nguyên giữa $0$ và $|\mathbb{G}_1|$, bằng với $|\mathbb{G}_2|$. Khóa công khai, $X$, hoặc là một phần tử của $\mathbb{G}_1$ hoặc $\mathbb{G}_2$. Để ký một tin nhắn, tin nhắn được băm thành một phần tử của nhóm khác, nhân với khóa riêng và được ghép nối với trình tạo, tức là $\sigma = e(G_1, xH(m))$. Chữ ký, $\sigma$, là một phần tử trong $\mathbb{G}_T$. Trình xác minh tính toán việc ghép nối hàm băm của tin nhắn với khóa chung là $e(X, H(m))$. Nếu điều này bằng $\sigma$, thì chữ ký hợp lệ.
Ngoài ra, lượng dữ liệu được truyền có thể giảm và khối lượng công việc mà người ký thực hiện có thể giảm do người xác minh phải làm nhiều việc hơn. Thay vì gửi $\sigma$, người ký chỉ cần gửi $xH(m)$và trình xác minh tính toán cả hai cặp.
Lựa chọn khóa công khai
Khóa công khai có thể nằm trong $\mathbb{G}_1$ hoặc $\mathbb{G}_2$. Các yếu tố trong $\mathbb{G}_1$ nhỏ hơn. Hoạt động trong $\mathbb{G}_2$ đắt hơn.
ví dụ
Lấy BLS12-3812, thường được trích dẫn là có bảo mật 128-bit. $p$ là 381 bit. Mức độ nhúng, $k$, là 12, làm cho $p^k$ có 4569 bit. Một yếu tố trong $\mathbb{G}_1$ mất 382 bit để biểu diễn (381 bit cho 1 tọa độ cộng với 1 bit cho dấu hiệu). Một yếu tố trong $\mathbb{G}_2$ mất 762 bit để biểu diễn vì có một biểu diễn nhỏ gọn của nó. Một yếu tố trong $\mathbb{G}_T$ mất 4596 bit để đại diện cho nó.
Từ cùng một trang2, MNT4-298 có bảo mật khoảng 77-bit. Đối với đường cong đó, một phần tử trong $\mathbb{G}_1$ sẽ yêu cầu 299 bit; Trong $\mathbb{G}_T$, 1192 bit.
1 về mặt kỹ thuật, $\mathbb{G}_1$ cũng được định nghĩa trên $F_{p^k}$, nhưng kể từ khi $E(F_p)$ là một nhóm con của $E(F_{p^k})$, nó không quan trọng lắm.
2 Những con số này đến từ https://members.loria.fr/AGuillevic/pairing-friendly-curves/. Có giải thích về một số tên cột bên dưới.
Tên cột
$k$ là mức độ nhúng.
$D$ là phân biệt phép nhân phức tạp (tôi nghĩ).
$u$ là phức tạp hơn. Tôi không hoàn toàn chắc chắn nếu điều này là chính xác. Mỗi họ đường cong này (ví dụ: BLS hoặc BN) liên quan $p$, $r$và các thông số khác cho tham số "hạt giống", $u$.
$p$ là kích thước của đặc trưng của trường và kích thước của một phần tử trong $\mathbb{G}_1$.
$r$ là kích thước của thứ tự của đường cong.
$p^\frac{k}{d}$ là kích thước của biểu diễn thu gọn của một phần tử trong $\mathbb{G}_2$
$p^k$ là kích thước của một phần tử trong $\mathbb{G}_T$.