Class: MlDsa::SignRequest

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

Overview

Describes a single sign operation for sign_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)



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ml_dsa/requests.rb', line 14

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

#deterministicBoolean?

Returns use deterministic signing (zero rnd).

Returns:

  • (Boolean, nil)

    use deterministic signing (zero rnd)



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ml_dsa/requests.rb', line 14

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

#messageString

Returns the message to sign.

Returns:

  • (String)

    the message to sign



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ml_dsa/requests.rb', line 14

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

#skSecretKey

Returns the signing key.

Returns:



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ml_dsa/requests.rb', line 14

SignRequest = Struct.new(:sk, :message, :context, :deterministic,
  keyword_init: true) do
  # Validates field types before entering C.
  # @return [self]
  # @raise [ArgumentError] if any field has an invalid type
  def validate!
    unless sk.is_a?(MlDsa::SecretKey)
      raise ArgumentError,
        "SignRequest :sk must be a MlDsa::SecretKey, got #{sk.class}"
    end
    unless message.is_a?(String)
      raise ArgumentError,
        "SignRequest :message must be a String, got #{message.class}"
    end
    if !context.nil? && !context.is_a?(String)
      raise ArgumentError,
        "SignRequest :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



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/ml_dsa/requests.rb', line 19

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