/** * generate a signature for the loaded message using the key we were * initialised with. */ public virtual byte[] GenerateSignature() { CreateSignatureBlock(); BigInteger t = new BigInteger(1, cipher.ProcessBlock(block, 0, block.Length)); ClearBlock(block); t = t.Min(kParam.Modulus.Subtract(t)); return BigIntegers.AsUnsignedByteArray((kParam.Modulus.BitLength + 7) / 8, t); }