* @param {i32} mlen Byte length of message to be signed, up to 32768
*/
export function sign (mlen: i32): void {
- if (mlen < 0 || mlen > MESSAGE_BUFFER_BYTES) throw new Error()
+ if (mlen < 0 || mlen > MESSAGE_BUFFER_BYTES) {
+ INPUT_BUFFER.fill(0)
+ MESSAGE_BUFFER.fill(0)
+ throw new Error('invalid message length')
+ }
// Clear local buffers
sign_msg.fill(0)
* @returns {boolean} True if message was signed by public key's private key
*/
export function verify (mlen: i32): i32 {
- if (mlen < 0 || mlen > MESSAGE_BUFFER_BYTES) throw new Error('invalid message length')
+ if (mlen < 0 || mlen > MESSAGE_BUFFER_BYTES) {
+ INPUT_BUFFER.fill(0)
+ MESSAGE_BUFFER.fill(0)
+ throw new Error('invalid message length')
+ }
// Clear local buffers
verify_msg.fill(0)