Delivery-date: Tue, 01 Apr 2025 07:49:14 -0700 Received: from mail-yb1-f185.google.com ([209.85.219.185]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tzcvR-0002R9-CX for bitcoindev@gnusha.org; Tue, 01 Apr 2025 07:49:14 -0700 Received: by mail-yb1-f185.google.com with SMTP id 3f1490d57ef6-e6dee8e8b37sf158492276.2 for ; Tue, 01 Apr 2025 07:49:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1743518947; x=1744123747; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:sender:from :to:cc:subject:date:message-id:reply-to; bh=+VlC6jLSzCBVhWytbtnhV7bSrN/k52m0QNll6AIBuTA=; b=OyqwMK9Tqj93G7kkOBU/+7qTnmE1sV22B49raCbb/1Jm8Y7nOUe4Wg3CADHra5hIYp /p2DrIJvsEXfaZk0jvwMV1sxQyPTC03pK2Em2hYA+mV3N4t8gpv9QYrtGGu4uRUzEzdk AOYqe387f/bbbX4H81m+eOie6hzBRbXI4Ojeydl9tuhnpyaH3IJmb0qaOlICjZ4eSxYL uRFaufw7XqqozqX1Lx2g5is2T0UTKH8Lj05PZwY0UoLPjeyVRIGWTJNBAMWf7yJGnQLf hpl8X2D7v2cMhU8VGJQiLks/FdxPuz+eb5G/YX/yghlzR2UUuBW9eqM1Zns03Qrklrkl Y2JA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743518947; x=1744123747; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=+VlC6jLSzCBVhWytbtnhV7bSrN/k52m0QNll6AIBuTA=; b=RvIkLW94xESGXJXdSbJwyBB9OTfD4Qw858x7F3em86iWBPNmXdloQWdJjMFcbTPCld 1B/5X9HNFMuFGT+ylrv1rJehFA4wpeZW/LeY46mpF3Iva+QpS20la3JxpUimSwy1zs+1 JvIVe5kWYz1r6nKLFPkSRHh4LXLd6xDYBech7m0RO+4ytFP1IMujemEDIsBDIHhBMPAR lsQzbbFDL9rtJxPlKDS7DFe5Gik2N9hWuUsFDM326nYyKpfQebdz69TSbJi3HlV9f6mh FEjwayau9YBR8G3WQnDHChzanzsEg+xcBm8fmz/XOnCYRa9XJbgh54GzrJUsq2coXm8u uzSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743518947; x=1744123747; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=+VlC6jLSzCBVhWytbtnhV7bSrN/k52m0QNll6AIBuTA=; b=Z7ZvwNVEwujVCs40jstAybz4Ip7cU1EHCknkzpLuJ+KYwvB5Kw1LBU+N9Yudyje1A9 y/1VfhXtnhUG1YD3nOXQaFW32ez1QptsZ5AzpgHKISPKdH42d9H/73v4ouzSD53OxI6T ytgRUOK+i6nLbRnHwVHJ+LpwVenusVP1JJh41ScNkZEsWOrmb5c/kN2Q7j12RVx3Kb1x W91I1bEsfD9Ekz5bptjVwtGC5tdtsemHhcA1qxgoiauETNe9XY3B8M04sIuskS+Mn5qE Xq8Q2Icj7OCw8x0BAahWu3uAKAKUq5DHGLpjd+om11h5A9Xa6B/+wk38raYGHeoXgZAn QpIQ== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=1; AJvYcCUCITJZWyqPMN0UNAMD/DKdog8wLcCwYxx5yudEDO0F9yPaGuQNwe5/jD9Roc8tfqqXAjTsIIjf1FDQ@gnusha.org X-Gm-Message-State: AOJu0YwhkVWf9ZbLMYi90U+/C+R5IKEVM3cXg9efRen+YQe8OikAtNKu RfxH4kr6VNeT29TxQYHwla+RUxpUPfrnSfA9Rr+XbyPLKj5B0ZRE X-Google-Smtp-Source: AGHT+IHVf7UQxmnkxPDmG2MUZgEMrKqcnvrKbkYF1ZmX51+gFX3qnAhFF06HQ/zcpmuVKsOwn2il8w== X-Received: by 2002:a05:6902:2309:b0:e64:9dc:b8a1 with SMTP id 3f1490d57ef6-e6b8391d815mr17123397276.15.1743518947366; Tue, 01 Apr 2025 07:49:07 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h=ARLLPAKVMZXNsq4b2WkA9qocq2mfr3dLl3Q6Cr8EL5Gv+PlU6Q== Received: by 2002:a25:3f01:0:b0:e6d:e6df:b3c3 with SMTP id 3f1490d57ef6-e6de6dfb670ls563774276.1.-pod-prod-08-us; Tue, 01 Apr 2025 07:49:03 -0700 (PDT) X-Received: by 2002:a05:690c:4881:b0:6fd:4670:80c6 with SMTP id 00721157ae682-70257327b84mr191615507b3.37.1743518943145; Tue, 01 Apr 2025 07:49:03 -0700 (PDT) Received: by 2002:a05:690c:9a05:b0:6ef:590d:3213 with SMTP id 00721157ae682-70210946374ms7b3; Tue, 1 Apr 2025 06:01:45 -0700 (PDT) X-Received: by 2002:a05:690c:6202:b0:6fd:4072:2c5b with SMTP id 00721157ae682-702572d60b6mr183227907b3.24.1743512504100; Tue, 01 Apr 2025 06:01:44 -0700 (PDT) Date: Tue, 1 Apr 2025 06:01:43 -0700 (PDT) From: waxwing/ AdamISZ To: Bitcoin Development Mailing List Message-Id: In-Reply-To: References: Subject: [bitcoindev] Re: secp256k1lab: a Python library for prototyping MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_44020_1279097027.1743512503775" X-Original-Sender: ekaggata@gmail.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) ------=_Part_44020_1279097027.1743512503775 Content-Type: multipart/alternative; boundary="----=_Part_44021_377990646.1743512503775" ------=_Part_44021_377990646.1743512503775 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks for this. Seems like a great initiative for, as you say, prototyping and education.= =20 (though iiuc your primary motive was standardising proposal "reference"=20 code). I'm guessing that things like MuSig2 and/or adaptors would be out of scope= =20 of this project? (i.e. you are only supplying the foundational ECC=20 operations here.. except you are providing Schnorr signatures). Those are= =20 things that ate up time for me when I was prototyping stuff (like=20 "pathcoin" for example), hence the Q. Regards, AdamISZ/waxwing On Tuesday, April 1, 2025 at 5:51:37=E2=80=AFAM UTC-3 Jonas Nick wrote: > Hello list, > > We're pleased to announce the initial release of secp256k1lab, an INSECUR= E > implementation of the secp256k1 elliptic curve and related cryptographic= =20 > schemes > written in Python, intended for prototyping, experimentation and educatio= n. > > https://github.com/secp256k1lab/secp256k1lab > > Features: > > - Low-level secp256k1 field and group arithmetic. > - Schnorr signing/verification and key generation according to BIP-340. > - ECDH key exchange. > > We developed secp256k1lab as part of our work on the ChillDKG=20 > work-in-progress > BIP [0]. It is based on the secp256k1 implementation in the Bitcoin Core= =20 > test > framework. > > Our goal was to avoid including yet another custom Python implementation= =20 > of the > secp256k1 curve in the ChillDKG reference code. Several existing BIPs=20 > (340, 324, > 327, and 352) already contain custom and sometimes subtly diverging > implementations of secp256k1. This library aims to provide a single,=20 > consistent > interface for secp256k1-related cryptographic specifications. > > At the moment, secp256k1lab is included in the ChillDKG repository as a= =20 > subtree. > It remains an open question what would be the best approach for including= =20 > ChillDKG > (with the secp256k1lab dependency) into the bips repository [1]. > > We welcome your feedback and contributions to this project. > > Best regards, > The current secp256k1lab maintainers: Sebastian Falbesoner, Jonas Nick, T= im > Ruffing > > [0] https://github.com/BlockstreamResearch/bip-frost-dkg > [1] https://groups.google.com/g/bitcoindev/c/HE3HSnGTpoQ/m/Y2VhaMCrCAAJ > (We renamed secp256k1proto to secp256k1lab) > --=20 You received this message because you are subscribed to the Google Groups "= Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/= c9e7b769-b35f-4e3e-93b3-afdcd9470cd4n%40googlegroups.com. ------=_Part_44021_377990646.1743512503775 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for this.

Seems like a great initiat= ive for, as you say, prototyping and education. (though iiuc your primary m= otive was standardising proposal "reference" code).

<= div>I'm guessing that things like MuSig2 and/or adaptors would be out of sc= ope of this project? (i.e. you are only supplying the foundational ECC oper= ations here.. except you are providing Schnorr signatures). Those are thing= s that ate up time for me when I was prototyping stuff (like "pathcoin" for= example), hence the Q.

Regards,
AdamI= SZ/waxwing

On Tuesday, April 1, 2025 at 5:51:37=E2=80=AFAM UTC-3 Jonas Ni= ck wrote:
Hel= lo list,

We're pleased to announce the initial release of secp256k1lab, an I= NSECURE
implementation of the secp256k1 elliptic curve and related cryptographi= c schemes
written in Python, intended for prototyping, experimentation and educat= ion.

https= ://github.com/secp256k1lab/secp256k1lab

Features:

- Low-level secp256k1 field and group arithmetic.
- Schnorr signing/verification and key generation according to BIP-340.
- ECDH key exchange.

We developed secp256k1lab as part of our work on the ChillDKG work-in-p= rogress
BIP [0]. It is based on the secp256k1 implementation in the Bitcoin Cor= e test
framework.

Our goal was to avoid including yet another custom Python implementatio= n of the
secp256k1 curve in the ChillDKG reference code. Several existing BIPs (= 340, 324,
327, and 352) already contain custom and sometimes subtly diverging
implementations of secp256k1. This library aims to provide a single, co= nsistent
interface for secp256k1-related cryptographic specifications.

At the moment, secp256k1lab is included in the ChillDKG repository as a= subtree.
It remains an open question what would be the best approach for includi= ng ChillDKG
(with the secp256k1lab dependency) into the bips repository [1].

We welcome your feedback and contributions to this project.

Best regards,
The current secp256k1lab maintainers: Sebastian Falbesoner, Jonas Nick,= Tim
Ruffing

[0] https://github.com/BlockstreamResearch/bip-frost-dkg
[1] https://groups.google.com/g/bit= coindev/c/HE3HSnGTpoQ/m/Y2VhaMCrCAAJ
(We renamed secp256k1proto to secp256k1lab)

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoind= ev/c9e7b769-b35f-4e3e-93b3-afdcd9470cd4n%40googlegroups.com.
------=_Part_44021_377990646.1743512503775-- ------=_Part_44020_1279097027.1743512503775--