private EMSA_PKCS1_V1_5(final IMessageDigest hash) {
      super();

      this.hash = hash;
      hLen = hash.hashSize();
      final String name = hash.name();
      if (name.equals(Registry.MD2_HASH)) {
         prefix = MD2_PREFIX;
      } else if (name.equals(Registry.MD5_HASH)) {
         prefix = MD5_PREFIX;
      } else if (name.equals(Registry.SHA160_HASH)) {
         prefix = SHA160_PREFIX;
      } else if (name.equals(Registry.SHA256_HASH)) {
         prefix = SHA256_PREFIX;
      } else if (name.equals(Registry.SHA384_HASH)) {
         prefix = SHA384_PREFIX;
      } else if (name.equals(Registry.SHA512_HASH)) {
         prefix = SHA512_PREFIX;
      } else {
         throw new UnsupportedOperationException(); // should not happen
      }
   }