/** * To save from Attacks on Parameter Authentication one can send hash of parameters to other party * * @return byte[] of what??? */ @Override public byte[] getParametersHash() { byte[] parms = NativeLib.getECParameters(ecGroup); SHA1 sha1 = new SHA1(BLOCK_SIZE); sha1.update(parms, 0, parms.length); sha1.generate(); byte[] digest = sha1.getDigest(); return digest; }
@Override public boolean checkParametersHash(byte[] hash) { if (hash == null || hash.length != BLOCK_SIZE) return false; byte[] parms = NativeLib.getECParameters(ecGroup); SHA1 sha1 = new SHA1(BLOCK_SIZE); sha1.update(parms, 0, parms.length); sha1.generate(); byte[] digest = sha1.getDigest(); for (int i = 0; i < digest.length; i++) if (digest[i] != hash[i]) return false; return true; }