원문:
BLS12-381 For The Rest Of Us - HackMD
이 일을 시작하기 전에 내가 알고 싶었던 모든 것.
타원 곡선 BLS12-381은 최근 몇 년 동안 유명 인사가 되었습니다. Zcash, Ethereum 2.0, Skale, Algorand, Dfinity, Chia 등 많은 프로토콜에서 디지털 서명 및 영지식 증명에 사용하고 있습니다.
불행하게도 BLS12-381에 대한 기존 자료는 "육성 트위스트 인스턴스화" 및 "최적 확장 필드 타워"와 같은 모호한 주문으로 가득 차 있습니다. 고치러 왔어요 😃 [1]
타원 곡선과 흥미로운 그룹 속성에 대한 일반적인 소개는 하지 않겠습니다. 이미 몇 가지 훌륭한 입문서가 있으며 이러한 것들에 대한 기본 지식을 가정할 것입니다. 마찬가지로 여기에는 BLS12-381에만 국한되지 않고 다른 곡선에 적용되는 내용이 많이 있습니다.
BLS12-381은 페어링-친화적인 타원 곡선입니다.
페어링 기반 암호화는 지난 수십 년 동안 개발되어 효율적으로 집계할 수 있는 짧은 디지털 서명 , ID 기반 암호화 , 단일 라운드 다자간 키 교환 및 KZG 약정 와 같은 효율적인 다항식 약정 체계와 같은 유용한 새로운 애플리케이션을 가능하게 합니다.
페어링에 적합한 타원 곡선은 포함 정도( 아래에 설명됨 !)와 큰 소수 순서 하위 그룹( 아래 참조 )이 모두 있는 곡선입니다. 이들은 드물다. 무작위로 타원 곡선을 만들면 짝짓기 친화적일 가능성이 아주 적습니다. 그러나 이들은 구성될 수 있으며 BLS 곡선은 페어링 친화적으로 명시적으로 구성됩니다. 몇 가지 다른 페어링 친화적인 곡선군도 알려져 있습니다 .
페어링 기반 암호화에 대해 자세히 알고 싶다면 다음과 같은 좋은 자료를 참조하십시오.
이 내용을 정말로 이해하고 싶다면 Pairings for Beginners 가 최고입니다. 진행하면서 예제를 연구하면서 신중하게 작업하면 보이는 것보다 훨씬 덜 무섭다는 것이 밝혀졌습니다. 나는 이것을 정말로 추천한다(나는 그것을 통해 영구적으로 절반 방법입니다…).