Non-Interactive Timed Commitment schemes (ePrint 2020/730) allow to open any commitment after a specified delay. This is useful for sealed bid auctions and as primitive for more complex protocols. Very briefly a NITC can be described by its five algorithms PGen, Com, ComVrfy, DecVrfy, FDecom and three properties.
PGen: Generates parameters and outputs a common reference string crs.
Com: Commits to a message and outputs a commitment, a commitment proof and a decommitment proof.
ComVrfy: Uses the commitment proof to verify that the commitment can be opened by force.
DecVrfy: Uses the decommitment proof to verify that the message corresponds to the commitment.
FDecom: Forcefully opens the commitment to recover the message in time at least the specified delay.
Practicality: ComVrfy, DecVrfy (and Com) should be fast and especially much faster than FDecom.
Hiding: The commitment should not leak information about the message (for the time of the specified delay).
Binding: A commitment should only open to a single message.
Supersingular Isogeny Graph Non-Interactive Timed Commitments use isogeny-based cryptography and are presumably quantum secure.
The main idea is to take a random endomorphism of E_0 with degree d_s^2 d_T and decompose it into two secret isogenies phi_s, psi of smooth degree d_s starting at E_0 and a delay isogeny phi_T of non-smooth degree d_T connecting the codomains E_s and E_T of phi_s and psi, respectively. The commitment contains E_s, a point on E_s generating the kernel of phi_T and the message masked by the j-invariant j_T of E_T. Com and ComVrfy can use the fast secret isogeny psi to compute E_T and its j-invariant j_T, but FDecom has to compute the slow delay isogeny phi_T to find j_T. More derails can be found in the ePrint 2024/1225.
This is a SageMath implementation of SIGNITC. The code for the auxiliary functions is based on the SageMath implementation of SQISign from the Learning to SQI project. There are two RepresentInteger functions. The original RepresentInteger taken from Learning to SQI and a new one based on FullRepresentInteger from ePrint 2022/234. The original one allows for faster commitment and decommitment, but its output is not fully random.