Also, while the Signal client is theoretically open-source, any client you build from the source will not work with the Signal network; only their blessed binary will, for reasons.
It's not inconceivable to consider a possible deal where they subtly modified their blessed binary to restrict its key range to something a Fort Meade-sized rainbow table could handle, or something similar.