Skip to content

Conversation

@Chausseaumoine
Copy link
Contributor

This commit introduces a new HasGroupMorphism trait to allow SigmaProtocol implementations to expose their underlying group morphism structure.

A helper method absorb_morphism_structure was added to the trait, enabling a standard way to serialize and absorb the morphism constraints into a transcript codec during Fiat-Shamir initialization.

Changes include:

  • Definition of HasGroupMorphism with group_morphism() accessor
  • Default implementation of absorb_morphism_structure using term indices
  • Conditional impl block in NISigmaProtocol for protocols implementing HasGroupMorphism, enabling morphism-to-transcript absorption
  • Unit test in tests/morphism_preimage.rs to verify correctness

This prepares the ground for composable Fiat-Shamir transformations that include problem structure in the transcript, improving soundness under rewinding.

#14

GOURIOU Lénaïck added 3 commits June 3, 2025 15:11
This commit introduces a new `HasGroupMorphism` trait to allow SigmaProtocol
implementations to expose their underlying group morphism structure.

A helper method `absorb_morphism_structure` was added to the trait, enabling
a standard way to serialize and absorb the morphism constraints into a transcript
codec during Fiat-Shamir initialization.

Changes include:
- Definition of `HasGroupMorphism` with `group_morphism()` accessor
- Default implementation of `absorb_morphism_structure` using term indices
- Conditional `impl` block in `NISigmaProtocol` for protocols implementing
  `HasGroupMorphism`, enabling morphism-to-transcript absorption
- Unit test in `tests/morphism_preimage.rs` to verify correctness

This prepares the ground for composable Fiat-Shamir transformations that include
problem structure in the transcript, improving soundness under rewinding.
@Chausseaumoine Chausseaumoine merged commit 33793c8 into sigma-rs:main Jun 4, 2025
6 checks passed
@Chausseaumoine Chausseaumoine deleted the feat/absorb-morphism-transcript branch June 4, 2025 14:12
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.

1 participant