"Test234"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
Pythagoras0 (토론 | 기여) |
Pythagoras0 (토론 | 기여) |
||
1번째 줄: | 1번째 줄: | ||
− | == | + | ==메모== |
+ | * https://www.lmfdb.org/EllipticCurve/Q/21168/ce/2 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | == 노트 == | ||
+ | ===말뭉치=== | ||
+ | # Note that because secp256k1 is actually defined over the field Z p , its graph will in reality look like random scattered points, not anything like this.<ref name="ref_a7060df7">[https://en.bitcoin.it/wiki/Secp256k1 Bitcoin Wiki]</ref> | ||
+ | # Note that because secp256k1 is actually defined over the field Z, its graph will in reality look like random scattered points, not anything like this.<ref name="ref_a7060df7" /> | ||
+ | # Currently Bitcoin uses secp256k1 with the ECDSA algorithm, though the same curve with the same public/private keys can be used in some other algorithms such as Schnorr.<ref name="ref_a7060df7" /> | ||
+ | # secp256k1 was almost never used before Bitcoin became popular, but it is now gaining in popularity due to its several nice properties.<ref name="ref_a7060df7" /> | ||
+ | # The main difference between secp256k1 and secp256r1 is that secp256k1 is a Koblitz curve which is defined in a characteristic 2 finite field, while secp256r1 is a prime field curve.<ref name="ref_fe9925da">[https://dappworks.com/why-did-satoshi-decide-to-use-secp256k1-instead-of-secp256r1/ Why did Satoshi decide to use secp256k1 instead of secp256r1?]</ref> | ||
+ | # Secp256k1 curves are non-random while secp256r1 is pseudo-randomly structured.<ref name="ref_fe9925da" /> | ||
+ | # Secp256k1 is a pure SECG curve, while secp256r1 is a so-called NIST curve.<ref name="ref_fe9925da" /> | ||
+ | # Secp256k1 is the name of the elliptic curve used by Bitcoin to implement its public key cryptography.<ref name="ref_b47f1c0e">[https://river.com/learn/terms/s/secp256k1/ River Financial]</ref> | ||
+ | # When a user wishes to generate a public key using their private key, they multiply their private key, a large number, by the Generator Point, a defined point on the secp256k1 curve.<ref name="ref_b47f1c0e" /> | ||
+ | # Because the y component of the equation is squared, secp256k1 is symmetric across the x-axis, and for each value of x, there are two values of y, one of which is odd while the other is even.<ref name="ref_b47f1c0e" /> | ||
+ | # If it wasn’t for Satoshi Nakamoto, you probably would never have heard of the secp256k1 Elliptic Curve Cryptography (ECC) method.<ref name="ref_4a096d7a">[https://billatnapier.medium.com/a-bluffers-guide-to-secp256k1-404e423e612 A Bluffer’s Guide to secp256k1]</ref> | ||
+ | # Rust bindings for Pieter Wuille’s secp256k1 library, which is used for fast and accurate manipulation of ECDSA signatures on the secp256k1 curve.<ref name="ref_8d6e2d35">[https://docs.rs/secp256k1/ secp256k1]</ref> | ||
+ | # In rust-secp256k1 , this is caught at compile-time; in fact, it is impossible to compile code that will trigger any assertion failures in the upstream library.<ref name="ref_8d6e2d35" /> | ||
+ | # This library is intended to be the highest quality publicly available library for cryptography on the secp256k1 curve.<ref name="ref_6b419d52">[https://github.com/bitcoin-core/secp256k1 bitcoin-core/secp256k1: Optimized C library for EC operations on curve secp256k1]</ref> | ||
+ | # Use secp256k1's efficiently-computable endomorphism to split the P multiplicand into 2 half-sized ones.<ref name="ref_6b419d52" /> | ||
+ | # The secp256k1 elliptic curve is specified in Standards for Efficient Cryptography 1 (SEC 1) and Standards for Efficient Cryptography 2 (SEC 2).<ref name="ref_356e4efe">[http://www.cs.utexas.edu/users/moore/acl2/manuals/current/manual/index-seo.php/ECURVE____SECP256K1-DOMAIN-PARAMETERS Secp256k1-domain-parameters]</ref> | ||
+ | # Bitcoin uses a specic Koblitz curve secp256k1 dened by the Standards for Efcient Cryptography Group (SECG).<ref name="ref_9f585f4a">[http://koclab.cs.ucsb.edu/teaching/ecc/project/2015Projects/Bjoernsen.pdf Koblitz curves and its practical uses in bitcoin]</ref> | ||
+ | # I want to explore the different dened Koblitz curves from SECG and see why the specic curve secp256k1 was chosen by the creator of Bitcoin.<ref name="ref_9f585f4a" /> | ||
+ | # It is believed that because of security reasons the creator of Bitcoin preferred the non-random secp256k1 over the pseudo-randomly structured secp256r1.<ref name="ref_9f585f4a" /> | ||
+ | # This module provides native bindings to bitcoin-core/secp256k1.<ref name="ref_f0a4da92">[https://www.npmjs.com/package/secp256k1 secp256k1]</ref> | ||
+ | # randomBytes ( 32 ) let privKey do { privKey = randomBytes ( 32 ) } while ( ! secp256k1 .<ref name="ref_f0a4da92" /> | ||
+ | # privateKeyVerify ( privKey ) ) const pubKey = secp256k1 .<ref name="ref_f0a4da92" /> | ||
+ | # privateKeyVerify ( privKey ) ) return privKey } } const privKey = getPrivateKey ( ) const pubKey = secp256k1 .<ref name="ref_f0a4da92" /> | ||
+ | # This section describes the elliptic curve, E(0,7), also named as secp256k1, and the subgroup parameters, which are used in Bitcoin, Ethereum, and many other cryptocurrency apps.<ref name="ref_c859eab9">[http://www.herongyang.com/EC-Cryptography/EC-Key-Example-secp256k1.html EC Private Key Example]</ref> | ||
+ | # By the way, the named curve, secp256k1, refers to the elliptic curve, E(0,7), and those subgroup parameters together as EC domain parameters.<ref name="ref_c859eab9" /> | ||
+ | # This library provides secp256k1 bindings for Swift with Cocoapods, Carthage and Swift Package Manager on macOS and Linux.<ref name="ref_8979412f">[https://cocoapods.org/pods/secp256k1.swift secp256k1.swift]</ref> | ||
+ | # After that you can use all secp256k1 functions as described in the official headers.<ref name="ref_8979412f" /> | ||
+ | # How to generate an EC key pair on the secp256k1 curve?<ref name="ref_401bd13d">[https://connect2id.com/products/nimbus-jose-jwt/examples/jwt-with-es256k-signature JSON Web Token (JWT) with ES256K (secp256k1) signature]</ref> | ||
+ | # *; // Generate EC key pair on the secp256k1 curve ECKey ecJWK = new ECKeyGenerator(Curve.<ref name="ref_401bd13d" /> | ||
+ | # SECP256k1 ) public_key = secret_key .<ref name="ref_0c908e6d">[https://cryptography.io/en/3.4.7/development/custom-vectors/secp256k1.html SECP256K1 vector creation — Cryptography 3.4.7 documentation]</ref> | ||
+ | # This project contains Haskell bindings for the secp256k1 library.<ref name="ref_c0eeca12">[https://hackage.haskell.org/package/secp256k1-haskell secp256k1-haskell]</ref> | ||
+ | # This procedure explains how to generate a pair of ECDSA keys with the P-256 (secp256k1) curve that you can use to sign and verify your JWTs.<ref name="ref_6ae457d4">[https://learn.akamai.com/en-us/webhelp/iot/jwt-access-control/GUID-C3B1D111-E0B5-4B3B-9FF0-06D48CF40679.html Generate ECDSA keys with the P-256 (secp256k1) curve]</ref> | ||
+ | # This library wrap the secp256k1 EC(DSA) library into an OCaml library.<ref name="ref_d4a01561">[https://opam.ocaml.org/packages/secp256k1/ secp256k1]</ref> | ||
+ | # Bitcoin uses elliptic curve cryptography for its keys and signatures, but the specific secp256k1 curve used is rather unusual.<ref name="ref_a6b41412">[http://ijeecs.iaescore.com/index.php/IJEECS/article/view/15610 A comparison between the secp256r1 and the koblitz secp256k1 bitcoin curves]</ref> | ||
+ | # @staticmethod def new_random (): return Secp256k1PrivateKey ( secp256k1 .<ref name="ref_41841f62">[https://sawtooth.hyperledger.org/docs/sdk-python/nightly/master/_modules/sawtooth_signing/secp256k1.html signing.secp256k1 — Sawtooth latest documentation]</ref> | ||
+ | # catch_warnings (): # squelch secp256k1 warning warnings .<ref name="ref_41841f62" /> | ||
+ | # This paper develops an approach for arithmetic (point addition and doubling) on secp256k1 Koblitz curve over finite fields using one variable polynomial based on Euclidean division.<ref name="ref_49570a35">[https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3367674 Arithmetic of Koblitz Curve Secp256k1 Used in Bitcoin Cryptocurrency Based on One Variable Polynomial Division by Santoshi Pote, Virendra Sule, B.K. Lande :: SSRN]</ref> | ||
+ | # The resulting algorithm is tested on realistic secp256k1 Koblitz curve and is shown to be scalable to perform the computations.<ref name="ref_49570a35" /> | ||
+ | # Generate public keys from private keys for ed25519, secp256k1 and bls12-381.<ref name="ref_9ee3fc5d">[https://paulmillr.com/ecc/ Paul Miller — Elliptic curve calculator]</ref> | ||
+ | # The elliptic curve C is the secp256k1 curve.<ref name="ref_f352eb6e">[https://davidederosa.com/basic-blockchain-programming/elliptic-curve-keys/ Elliptic-curve keys]</ref> | ||
+ | # For your information, Bitcoin Core developers are slowly moving away from OpenSSL towards their own implementation of secp256k1 crypto.<ref name="ref_f352eb6e" /> | ||
+ | # Create a point in the secp256k1 curve.<ref name="ref_800a0408">[https://hexdocs.pm/caustic/0.1.13/Caustic.Secp256k1.html Caustic.Secp256k1 – Caustic v0.1.13]</ref> | ||
+ | # There is no check to confirm that the public key point passed into the derive function actually exists on the secp256k1 curve.<ref name="ref_91769caa">[https://nvd.nist.gov/vuln/detail/CVE-2020-28498 CVE-2020-28498]</ref> | ||
+ | # For the secp256k1 curve, the private key is 256-bit integer (32 bytes) and the compressed public key is 257-bit integer (~ 33 bytes).<ref name="ref_1f8c5ee5">[https://cryptobook.nakov.com/digital-signatures/ecdsa-sign-verify-messages ECDSA: Elliptic Curve Signatures]</ref> | ||
+ | # Was secp256k1 chosen to have better interop with bitcoin and for reuse of bitcoin libraries (like pybitcointools)?<ref name="ref_53a5b547">[https://www.reddit.com/r/ethereum/comments/30k4ry/elliptic_curve_choices_in_ethereum_secp256k1_vs/ Elliptic curve choices in Ethereum: secp256k1 vs Curve25519 : ethereum]</ref> | ||
+ | ===소스=== | ||
+ | <references /> | ||
− | == | + | == 메타데이터 == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | ===Spacy 패턴 목록=== |
− | + | * [{'LOWER': 'secp256k1'}] |
2022년 9월 16일 (금) 01:56 판
메모
노트
말뭉치
- Note that because secp256k1 is actually defined over the field Z p , its graph will in reality look like random scattered points, not anything like this.[1]
- Note that because secp256k1 is actually defined over the field Z, its graph will in reality look like random scattered points, not anything like this.[1]
- Currently Bitcoin uses secp256k1 with the ECDSA algorithm, though the same curve with the same public/private keys can be used in some other algorithms such as Schnorr.[1]
- secp256k1 was almost never used before Bitcoin became popular, but it is now gaining in popularity due to its several nice properties.[1]
- The main difference between secp256k1 and secp256r1 is that secp256k1 is a Koblitz curve which is defined in a characteristic 2 finite field, while secp256r1 is a prime field curve.[2]
- Secp256k1 curves are non-random while secp256r1 is pseudo-randomly structured.[2]
- Secp256k1 is a pure SECG curve, while secp256r1 is a so-called NIST curve.[2]
- Secp256k1 is the name of the elliptic curve used by Bitcoin to implement its public key cryptography.[3]
- When a user wishes to generate a public key using their private key, they multiply their private key, a large number, by the Generator Point, a defined point on the secp256k1 curve.[3]
- Because the y component of the equation is squared, secp256k1 is symmetric across the x-axis, and for each value of x, there are two values of y, one of which is odd while the other is even.[3]
- If it wasn’t for Satoshi Nakamoto, you probably would never have heard of the secp256k1 Elliptic Curve Cryptography (ECC) method.[4]
- Rust bindings for Pieter Wuille’s secp256k1 library, which is used for fast and accurate manipulation of ECDSA signatures on the secp256k1 curve.[5]
- In rust-secp256k1 , this is caught at compile-time; in fact, it is impossible to compile code that will trigger any assertion failures in the upstream library.[5]
- This library is intended to be the highest quality publicly available library for cryptography on the secp256k1 curve.[6]
- Use secp256k1's efficiently-computable endomorphism to split the P multiplicand into 2 half-sized ones.[6]
- The secp256k1 elliptic curve is specified in Standards for Efficient Cryptography 1 (SEC 1) and Standards for Efficient Cryptography 2 (SEC 2).[7]
- Bitcoin uses a specic Koblitz curve secp256k1 dened by the Standards for Efcient Cryptography Group (SECG).[8]
- I want to explore the different dened Koblitz curves from SECG and see why the specic curve secp256k1 was chosen by the creator of Bitcoin.[8]
- It is believed that because of security reasons the creator of Bitcoin preferred the non-random secp256k1 over the pseudo-randomly structured secp256r1.[8]
- This module provides native bindings to bitcoin-core/secp256k1.[9]
- randomBytes ( 32 ) let privKey do { privKey = randomBytes ( 32 ) } while ( ! secp256k1 .[9]
- privateKeyVerify ( privKey ) ) const pubKey = secp256k1 .[9]
- privateKeyVerify ( privKey ) ) return privKey } } const privKey = getPrivateKey ( ) const pubKey = secp256k1 .[9]
- This section describes the elliptic curve, E(0,7), also named as secp256k1, and the subgroup parameters, which are used in Bitcoin, Ethereum, and many other cryptocurrency apps.[10]
- By the way, the named curve, secp256k1, refers to the elliptic curve, E(0,7), and those subgroup parameters together as EC domain parameters.[10]
- This library provides secp256k1 bindings for Swift with Cocoapods, Carthage and Swift Package Manager on macOS and Linux.[11]
- After that you can use all secp256k1 functions as described in the official headers.[11]
- How to generate an EC key pair on the secp256k1 curve?[12]
- *; // Generate EC key pair on the secp256k1 curve ECKey ecJWK = new ECKeyGenerator(Curve.[12]
- SECP256k1 ) public_key = secret_key .[13]
- This project contains Haskell bindings for the secp256k1 library.[14]
- This procedure explains how to generate a pair of ECDSA keys with the P-256 (secp256k1) curve that you can use to sign and verify your JWTs.[15]
- This library wrap the secp256k1 EC(DSA) library into an OCaml library.[16]
- Bitcoin uses elliptic curve cryptography for its keys and signatures, but the specific secp256k1 curve used is rather unusual.[17]
- @staticmethod def new_random (): return Secp256k1PrivateKey ( secp256k1 .[18]
- catch_warnings (): # squelch secp256k1 warning warnings .[18]
- This paper develops an approach for arithmetic (point addition and doubling) on secp256k1 Koblitz curve over finite fields using one variable polynomial based on Euclidean division.[19]
- The resulting algorithm is tested on realistic secp256k1 Koblitz curve and is shown to be scalable to perform the computations.[19]
- Generate public keys from private keys for ed25519, secp256k1 and bls12-381.[20]
- The elliptic curve C is the secp256k1 curve.[21]
- For your information, Bitcoin Core developers are slowly moving away from OpenSSL towards their own implementation of secp256k1 crypto.[21]
- Create a point in the secp256k1 curve.[22]
- There is no check to confirm that the public key point passed into the derive function actually exists on the secp256k1 curve.[23]
- For the secp256k1 curve, the private key is 256-bit integer (32 bytes) and the compressed public key is 257-bit integer (~ 33 bytes).[24]
- Was secp256k1 chosen to have better interop with bitcoin and for reuse of bitcoin libraries (like pybitcointools)?[25]
소스
- ↑ 1.0 1.1 1.2 1.3 Bitcoin Wiki
- ↑ 2.0 2.1 2.2 Why did Satoshi decide to use secp256k1 instead of secp256r1?
- ↑ 3.0 3.1 3.2 River Financial
- ↑ A Bluffer’s Guide to secp256k1
- ↑ 5.0 5.1 secp256k1
- ↑ 6.0 6.1 bitcoin-core/secp256k1: Optimized C library for EC operations on curve secp256k1
- ↑ Secp256k1-domain-parameters
- ↑ 8.0 8.1 8.2 Koblitz curves and its practical uses in bitcoin
- ↑ 9.0 9.1 9.2 9.3 secp256k1
- ↑ 10.0 10.1 EC Private Key Example
- ↑ 11.0 11.1 secp256k1.swift
- ↑ 12.0 12.1 JSON Web Token (JWT) with ES256K (secp256k1) signature
- ↑ SECP256K1 vector creation — Cryptography 3.4.7 documentation
- ↑ secp256k1-haskell
- ↑ Generate ECDSA keys with the P-256 (secp256k1) curve
- ↑ secp256k1
- ↑ A comparison between the secp256r1 and the koblitz secp256k1 bitcoin curves
- ↑ 18.0 18.1 signing.secp256k1 — Sawtooth latest documentation
- ↑ 19.0 19.1 Arithmetic of Koblitz Curve Secp256k1 Used in Bitcoin Cryptocurrency Based on One Variable Polynomial Division by Santoshi Pote, Virendra Sule, B.K. Lande :: SSRN
- ↑ Paul Miller — Elliptic curve calculator
- ↑ 21.0 21.1 Elliptic-curve keys
- ↑ Caustic.Secp256k1 – Caustic v0.1.13
- ↑ CVE-2020-28498
- ↑ ECDSA: Elliptic Curve Signatures
- ↑ Elliptic curve choices in Ethereum: secp256k1 vs Curve25519 : ethereum
메타데이터
Spacy 패턴 목록
- [{'LOWER': 'secp256k1'}]