docs: boolean check(IdemixIssuerPublicKey ipk) {
  
          if (nym == null ||
                  issuerNonce == null ||
                  proofC == null ||
                  proofS == null ||
                  ipk == null) {
              return false;
          }
  
          ECP t = ipk.getHsk().mul(proofS);
          t.sub(nym.mul(proofC));
  
          byte[] proofData = new byte[0];
          proofData = IdemixUtils.append(proofData, CREDREQUEST_LABEL.getBytes());
          proofData = IdemixUtils.append(proofData, IdemixUtils.ecpToBytes(t));
          proofData = IdemixUtils.append(proofData, IdemixUtils.ecpToBytes(ipk.getHsk()));
          proofData = IdemixUtils.append(proofData, IdemixUtils.ecpToBytes(nym));
          proofData = IdemixUtils.append(proofData, IdemixUtils.bigToBytes(issuerNonce));
          proofData = IdemixUtils.append(proofData, ipk.getHash());
  
  
          // Hash proofData to hproofdata
          byte[] hproofdata = IdemixUtils.bigToBytes(IdemixUtils.hashModOrder(proofData));
  
          return Arrays.equals(IdemixUtils.bigToBytes(proofC), hproofdata);
      }