class PublicSharing implements Serializable {

	public long getSize() {
		long size = 0;
		for (final EcPoint pedersenCommitment : this.pedersenCommitments) {
			size += pedersenCommitment.getX().toByteArray().length + 1; // Assumes point compression
		}
		for (final BigInteger encryptedShare1 : this.encryptedShares1) {
			size += encryptedShare1.toByteArray().length;
		}
		for (final BigInteger encryptedShare2 : this.encryptedShares2) {
			size += encryptedShare2.toByteArray().length;
		}
		for (final PedersenEqRangeProof proof : this.proofs) {
			size += proof.getSize();
		}
		return size;
	}

	public  PublicSharing(final EcPoint[] pedersenCommitments, final BigInteger[] encryptedShares1,
			final BigInteger[] encryptedShares2, final PedersenEqRangeProof[] proofs);

}