private void validate(Value validation) {
		if(!validation.hasChildren(ValueIdentifiers.getMessage()) ||
		   !validation.hasChildren(ValueIdentifiers.getSignature())) {
			throw new BadValueException();
		}
		
		String message = validation.getFirstChild(ValueIdentifiers.getMessage()).strValue();
		byte[] signature = validation.getFirstChild(ValueIdentifiers.getSignature()).byteArrayValue().getBytes();
		String hashedMessage = Security.hash(message);
		if (!hashedMessage.equals(new String(Security.decryptRSA(signature, Security.getAuthorityRSAPublicKey())))) {
			throw new CorruptDataException("Validation error");
		}
	}