Skip to content

Conversation

@mkannwischer
Copy link
Contributor

@mkannwischer mkannwischer commented Jan 7, 2026

This PR works towards reducing memory consumption of key generation.

@mkannwischer
Copy link
Contributor Author

I can't get the CBMC proofs to work for at this point.
I tracked down the problem and isolated it in mld_compute_t0_t1_foo.

With this workaround, I can pass the CBMC proofs:

    mld_poly ttt0;
    mld_poly ttt1;
    const mld_polyvecl *row = mld_polymat_get_row(mat, i);
    mld_compute_t0_t1(&ttt1, &ttt0, row, s1, &s2->vec[i], t);
    t0->vec[i] = ttt0;
    t1->vec[i] = ttt1;

If I change that to the actual code, it spins forever:

    const mld_polyvecl *row = mld_polymat_get_row(mat, i);
    mld_compute_t0_t1(&t1->vec[i], &t0->vec[i], row, s1, &s2->vec[i], t);

@mkannwischer mkannwischer changed the title WIP: Eliminate t buffer from mld_compute_t0_t1_tr_from_sk_components WIP: Reduce memory footprint of key generation Jan 7, 2026
@mkannwischer mkannwischer force-pushed the keygen-stack branch 3 times, most recently from ad8df8e to 16c6cf0 Compare January 7, 2026 07:35
@mkannwischer
Copy link
Contributor Author

I'm running out of ideas for this one.
@rod-chapman, do you happen to have some spare cycles to take a look at it, please?

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