Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Bolt8 #2

Merged
merged 18 commits into from
Mar 19, 2024
Merged

Implement Bolt8 #2

merged 18 commits into from
Mar 19, 2024

Conversation

nGoline
Copy link
Contributor

@nGoline nGoline commented Mar 19, 2024

C# implementation of Bolt8.

Using libsodium as a backend for cryptographic functions like:

  • crypto_aead_chacha20poly1305_ietf_encrypt
  • crypto_aead_chacha20poly1305_ietf_decrypt
  • crypto_hash_sha256_init
  • crypto_hash_sha256_update
  • crypto_hash_sha256_final

Using NBitcoin for secp256k1-related functions like:

  • Generation of Private and Public Keys
  • Exchange shared secret through ECDH

The following code is tested:

  • SHA256 functions
  • E2E Handshake and Message Exchange
  • Handshake and Transport Services

@nGoline nGoline self-assigned this Mar 19, 2024
Copy link

@jaonoctus jaonoctus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to be working after the last changes.

image

You got the tests cases from the spec, right?

@nGoline
Copy link
Contributor Author

nGoline commented Mar 19, 2024

It seems to be working after the last changes.

image

You got the tests cases from the spec, right?

Yes, and I just added a README file under test/NLightning.Bolts.Tests/BOLT8/IntegrationTests/README.md to clarify things up.

@nGoline nGoline merged commit 9626330 into main Mar 19, 2024
1 check passed
@nGoline nGoline deleted the feature/bolt8 branch March 19, 2024 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants