BN254는 중요한 키워드이다. 특히 이 곡선은 BLS12-381과 더불어 가장 널리 쓰이고 뭐든 이해하는데 기본이 된다. 간단한 조사를 하여 결과를 남기고,
BN254 is a pairing-friendly elliptic curve. It belongs to the Barreto-Naehrig (BN) family of curves, which are known for their efficiency in cryptographic pairings, particularly in protocols like zero-knowledge proofs, identity-based encryption, and attribute-based encryption. BN254 is specifically designed to support optimal pairing operations efficiently.
Prime Order Group: BN254 has a 254-bit prime order, which is why it's often referred to as "BN254". The prime order offers a high level of security while maintaining efficiency.
Weierstrass Equation: BN254 is defined over a finite field and typically takes the following form:
where is a constant.
Embedding Degree: BN254 has an embedding degree of 12, meaning that when you compute a pairing on this curve, you map the problem to a finite field extension of degree 12, which balances security and efficiency.
Optimal Ate Pairing: BN254 curves are particularly efficient for computing Ate pairings. The Ate pairing computation is faster compared to traditional Weil or Tate pairings, which is one reason the BN family is favored in many cryptographic schemes.
Cryptographic pairings are bilinear maps, typically denoted by:
Where:
For the BN254 curve, a common choice is:
A simplified example of how a pairing could be used with the BN254 curve is in identity-based encryption (IBE):
Setup: The trusted authority chooses a generator , a secret key , and computes .
Key Extraction: To generate a private key for a user with identity , the authority computes , where is a hash function mapping the identity into .
Encryption: Given a public key , a sender can encrypt a message by computing the pairing .
Decryption: The recipient can decrypt the message by leveraging the bilinearity property of the pairing, which allows them to recover the correct pairing result and decrypt the message.
Efficiency: BN254 supports optimal Ate pairings, which are much faster than traditional pairings.
Security: The 254-bit prime order and embedding degree of 12 offer 128-bit security, which is suitable for many cryptographic applications today.
Applications: BN254 is widely used in privacy-focused applications like zk-SNARKs (zero-knowledge succinct non-interactive arguments of knowledge) and various other blockchain technologies.
Assume you have two points and , and you want to compute a pairing:
The bilinearity property ensures:
This property is crucial for protocols like BLS signatures, where verifying a signature requires pairing operations.
BN254 is an efficient pairing-friendly elliptic curve, widely adopted due to its balance of security and speed. Its construction supports fast Ate pairings, making it a preferred choice in many cryptographic protocols.