Skip to content

Conversation

@allanbrondum
Copy link
Contributor

Purpose

_Describe the purpose of the pull request, link to issue describing the problem, etc.

Changes

_Describe the changes that were needed.

Checklist

  • My code follows the style of this project.
  • The code compiles without warnings.
  • I have performed a self-review of the changes.
  • I have documented my code, in particular the intent of the
    hard-to-understand areas.
  • (If necessary) I have updated the CHANGELOG.

@allanbrondum allanbrondum marked this pull request as draft November 26, 2025 13:27
@allanbrondum allanbrondum self-assigned this Nov 26, 2025
Base automatically changed from ar/cor-2022-implement-transcript-pres to ar/cor-1939-verifiable-presentations-from-id-credentials-feature November 26, 2025 20:30
@allanbrondum allanbrondum changed the title fix trace Nov 27, 2025

/// Test prove and verify presentation for identity credentials.
#[test]
fn test_transcript_trace_identity() {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Trace:

ConcordiumContextInformationV1
given, 33 bytes
requested, 33 bytes
GlobalContext, 24684 bytes
ProofVersion, 1 bytes
CreationTime, 8 bytes
ConcordiumIdBasedCredential
Issuer, 4 bytes
Statements, 105 bytes
Network, 1 bytes
IdentityAttributesCredentials
IdentityAttributeValues, 730 bytes
GlobalContext, 24684 bytes
PsSigKnown
blinded_sig, 96 bytes
messages, 388 bytes
ps_pub_key, 3128 bytes
comm_key, 96 bytes
, 5 messages
cipher, 96 bytes
commitment, 48 bytes
pub_key, 96 bytes
cmm_key, 96 bytes
cipher, 96 bytes
commitment, 48 bytes
pub_key, 96 bytes
cmm_key, 96 bytes
cipher, 96 bytes
commitment, 48 bytes
pub_key, 96 bytes
cmm_key, 96 bytes
cipher, 96 bytes
commitment, 48 bytes
pub_key, 96 bytes
cmm_key, 96 bytes
cipher, 96 bytes
commitment, 48 bytes
pub_key, 96 bytes
cmm_key, 96 bytes
point, 1548 bytes
<extract raw challenge>
response, final prover message, 948 bytes
ValidFrom, 3 bytes
ValidTo, 3 bytes
EncryptedIdentityCredentialId, 511 bytes
SetMembershipProof
G, 200 bytes
H, 200 bytes
v_keys, 96 bytes
V, 48 bytes
theSet, 136 bytes
A, 48 bytes
S, 48 bytes
y, extract scalar challenge
z, extract scalar challenge
T1, 48 bytes
T2, 48 bytes
x, extract scalar challenge
tx, 32 bytes
tx_tilde, 32 bytes
e_tilde, 32 bytes
w, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
a, final prover message, 32 bytes
b, final prover message, 32 bytes
SetNonMembershipProof
G, 200 bytes
H, 200 bytes
v_keys, 96 bytes
V, 48 bytes
theSet, 136 bytes
A, 48 bytes
S, 48 bytes
y, extract scalar challenge
z, extract scalar challenge
T1, 48 bytes
T2, 48 bytes
x, extract scalar challenge
tx, 32 bytes
tx_tilde, 32 bytes
e_tilde, 32 bytes
w, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
a, final prover message, 32 bytes
b, final prover message, 32 bytes
AttributeRangeProof
a, 32 bytes
b, 32 bytes
G, 6152 bytes
H, 6152 bytes
v_keys, 96 bytes
n, 1 bytes
Vj, 48 bytes
Vj, 48 bytes
A, 48 bytes
S, 48 bytes
y, extract scalar challenge
z, extract scalar challenge
T1, 48 bytes
T2, 48 bytes
x, extract scalar challenge
tx, 32 bytes
tx_tilde, 32 bytes
e_tilde, 32 bytes
w, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
a, final prover message, 32 bytes
b, final prover message, 32 bytes
AttributeRangeProof
a, 32 bytes
b, 32 bytes
G, 6152 bytes
H, 6152 bytes
v_keys, 96 bytes
n, 1 bytes
Vj, 48 bytes
Vj, 48 bytes
A, 48 bytes
S, 48 bytes
y, extract scalar challenge
z, extract scalar challenge
T1, 48 bytes
T2, 48 bytes
x, extract scalar challenge
tx, 32 bytes
tx_tilde, 32 bytes
e_tilde, 32 bytes
w, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
Lj, 48 bytes
Rj, 48 bytes
uj, extract scalar challenge
a, final prover message, 32 bytes
b, final prover message, 32 bytes
RevealedAttribute, 11 bytes

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated by @tschudid :

-l-> ConcordiumContextInformationV1     
-m-> given                                  33 bytes
-m-> requested                              33 bytes
-m-> GlobalContext                       24684 bytes
-m-> ProofVersion                            1 bytes
-m-> CreationTime                            8 bytes
-l-> ConcordiumIdBasedCredential        
-m-> Issuer                                  4 bytes
-m-> Statements                            105 bytes
-m-> Network                                 1 bytes
-l-> IdentityAttributesCredentials      
-m-> IdentityAttributeValues               730 bytes
-m-> GlobalContext                       24684 bytes
-l-> PsSigKnown                         
-m-> blinded_sig                            96 bytes
-m-> messages                              388 bytes
-m-> ps_pub_key                           3128 bytes
-m-> comm_key                               96 bytes
     --- start append each message ---  
-m->                                         5 items
     - start message -                  
-m-> cipher                                 96 bytes
-m-> commitment                             48 bytes
-m-> pub_key                                96 bytes
-m-> cmm_key                                96 bytes
     - end message -                    
     - start message -                  
-m-> cipher                                 96 bytes
-m-> commitment                             48 bytes
-m-> pub_key                                96 bytes
-m-> cmm_key                                96 bytes
     - end message -                    
     - start message -                  
-m-> cipher                                 96 bytes
-m-> commitment                             48 bytes
-m-> pub_key                                96 bytes
-m-> cmm_key                                96 bytes
     - end message -                    
     - start message -                  
-m-> cipher                                 96 bytes
-m-> commitment                             48 bytes
-m-> pub_key                                96 bytes
-m-> cmm_key                                96 bytes
     - end message -                    
     - start message -                  
-m-> cipher                                 96 bytes
-m-> commitment                             48 bytes
-m-> pub_key                                96 bytes
-m-> cmm_key                                96 bytes
     - end message -                    
     --- end append each message ---    
-m-> point                                1548 bytes
<-c-                                                 (extract raw challenge)
-m-> response                              948 bytes (final prover message)
-m-> ValidFrom                               3 bytes
-m-> ValidTo                                 3 bytes
-m-> EncryptedIdentityCredentialId         511 bytes
-l-> SetMembershipProof                 
-m-> G                                     200 bytes
-m-> H                                     200 bytes
-m-> v_keys                                 96 bytes
-m-> V                                      48 bytes
-m-> theSet                                136 bytes
-m-> A                                      48 bytes
-m-> S                                      48 bytes
<-c- y                                               (extract scalar challenge)
<-c- z                                               (extract scalar challenge)
-m-> T1                                     48 bytes
-m-> T2                                     48 bytes
<-c- x                                               (extract scalar challenge)
-m-> tx                                     32 bytes
-m-> tx_tilde                               32 bytes
-m-> e_tilde                                32 bytes
<-c- w                                               (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> a                                      32 bytes (final prover message)
-m-> b                                      32 bytes (final prover message)
-l-> SetNonMembershipProof              
-m-> G                                     200 bytes
-m-> H                                     200 bytes
-m-> v_keys                                 96 bytes
-m-> V                                      48 bytes
-m-> theSet                                136 bytes
-m-> A                                      48 bytes
-m-> S                                      48 bytes
<-c- y                                               (extract scalar challenge)
<-c- z                                               (extract scalar challenge)
-m-> T1                                     48 bytes
-m-> T2                                     48 bytes
<-c- x                                               (extract scalar challenge)
-m-> tx                                     32 bytes
-m-> tx_tilde                               32 bytes
-m-> e_tilde                                32 bytes
<-c- w                                               (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> a                                      32 bytes (final prover message)
-m-> b                                      32 bytes (final prover message)
-l-> AttributeRangeProof                
-m-> a                                      32 bytes
-m-> b                                      32 bytes
-m-> G                                    6152 bytes
-m-> H                                    6152 bytes
-m-> v_keys                                 96 bytes
-m-> n                                       1 bytes
-m-> Vj                                     48 bytes
-m-> Vj                                     48 bytes
-m-> A                                      48 bytes
-m-> S                                      48 bytes
<-c- y                                               (extract scalar challenge)
<-c- z                                               (extract scalar challenge)
-m-> T1                                     48 bytes
-m-> T2                                     48 bytes
<-c- x                                               (extract scalar challenge)
-m-> tx                                     32 bytes
-m-> tx_tilde                               32 bytes
-m-> e_tilde                                32 bytes
<-c- w                                               (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> a                                      32 bytes (final prover message)
-m-> b                                      32 bytes (final prover message)
-l-> AttributeRangeProof                
-m-> a                                      32 bytes
-m-> b                                      32 bytes
-m-> G                                    6152 bytes
-m-> H                                    6152 bytes
-m-> v_keys                                 96 bytes
-m-> n                                       1 bytes
-m-> Vj                                     48 bytes
-m-> Vj                                     48 bytes
-m-> A                                      48 bytes
-m-> S                                      48 bytes
<-c- y                                               (extract scalar challenge)
<-c- z                                               (extract scalar challenge)
-m-> T1                                     48 bytes
-m-> T2                                     48 bytes
<-c- x                                               (extract scalar challenge)
-m-> tx                                     32 bytes
-m-> tx_tilde                               32 bytes
-m-> e_tilde                                32 bytes
<-c- w                                               (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> Lj                                     48 bytes
-m-> Rj                                     48 bytes
<-c- uj                                              (extract scalar challenge)
-m-> a                                      32 bytes (final prover message)
-m-> b                                      32 bytes (final prover message)
-m-> RevealedAttribute                      11 bytes

@allanbrondum allanbrondum changed the title trace proof transcript trace Jan 2, 2026
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.

3 participants