Post-quantum signature algorithms