Class: MlDsa::VerifyRequest

Inherits:
Struct
  • Object
show all
Defined in:
lib/ml_dsa/requests.rb

Overview

Describes a single verify operation for verify_many.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#contextString?

Returns optional FIPS 204 context (0..255 bytes).

Returns:

  • (String, nil)

    optional FIPS 204 context (0..255 bytes)



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/ml_dsa/requests.rb', line 46

VerifyRequest = Struct.new(:pk, :message, :signature, :context,
  keyword_init: true) do
  # Validates field types before entering C.
  # @return [self]
  # @raise [ArgumentError] if any field has an invalid type
  def validate!
    unless pk.is_a?(MlDsa::PublicKey)
      raise ArgumentError,
        "VerifyRequest :pk must be a MlDsa::PublicKey, got #{pk.class}"
    end
    unless message.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :message must be a String, got #{message.class}"
    end
    unless signature.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :signature must be a String, got #{signature.class}"
    end
    if !context.nil? && !context.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :context must be a String or nil, got #{context.class}"
    end
    self
  end
end

#messageString

Returns the message that was signed.

Returns:

  • (String)

    the message that was signed



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/ml_dsa/requests.rb', line 46

VerifyRequest = Struct.new(:pk, :message, :signature, :context,
  keyword_init: true) do
  # Validates field types before entering C.
  # @return [self]
  # @raise [ArgumentError] if any field has an invalid type
  def validate!
    unless pk.is_a?(MlDsa::PublicKey)
      raise ArgumentError,
        "VerifyRequest :pk must be a MlDsa::PublicKey, got #{pk.class}"
    end
    unless message.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :message must be a String, got #{message.class}"
    end
    unless signature.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :signature must be a String, got #{signature.class}"
    end
    if !context.nil? && !context.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :context must be a String or nil, got #{context.class}"
    end
    self
  end
end

#pkPublicKey

Returns the verification key.

Returns:



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/ml_dsa/requests.rb', line 46

VerifyRequest = Struct.new(:pk, :message, :signature, :context,
  keyword_init: true) do
  # Validates field types before entering C.
  # @return [self]
  # @raise [ArgumentError] if any field has an invalid type
  def validate!
    unless pk.is_a?(MlDsa::PublicKey)
      raise ArgumentError,
        "VerifyRequest :pk must be a MlDsa::PublicKey, got #{pk.class}"
    end
    unless message.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :message must be a String, got #{message.class}"
    end
    unless signature.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :signature must be a String, got #{signature.class}"
    end
    if !context.nil? && !context.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :context must be a String or nil, got #{context.class}"
    end
    self
  end
end

#signatureString

Returns the signature to verify.

Returns:

  • (String)

    the signature to verify



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/ml_dsa/requests.rb', line 46

VerifyRequest = Struct.new(:pk, :message, :signature, :context,
  keyword_init: true) do
  # Validates field types before entering C.
  # @return [self]
  # @raise [ArgumentError] if any field has an invalid type
  def validate!
    unless pk.is_a?(MlDsa::PublicKey)
      raise ArgumentError,
        "VerifyRequest :pk must be a MlDsa::PublicKey, got #{pk.class}"
    end
    unless message.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :message must be a String, got #{message.class}"
    end
    unless signature.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :signature must be a String, got #{signature.class}"
    end
    if !context.nil? && !context.is_a?(String)
      raise ArgumentError,
        "VerifyRequest :context must be a String or nil, got #{context.class}"
    end
    self
  end
end

Instance Method Details

#validate!self

Validates field types before entering C.

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if any field has an invalid type



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/ml_dsa/requests.rb', line 51

def validate!
  unless pk.is_a?(MlDsa::PublicKey)
    raise ArgumentError,
      "VerifyRequest :pk must be a MlDsa::PublicKey, got #{pk.class}"
  end
  unless message.is_a?(String)
    raise ArgumentError,
      "VerifyRequest :message must be a String, got #{message.class}"
  end
  unless signature.is_a?(String)
    raise ArgumentError,
      "VerifyRequest :signature must be a String, got #{signature.class}"
  end
  if !context.nil? && !context.is_a?(String)
    raise ArgumentError,
      "VerifyRequest :context must be a String or nil, got #{context.class}"
  end
  self
end