Skip to content

Commit

Permalink
Add more testing
Browse files Browse the repository at this point in the history
  • Loading branch information
fpseverino committed Dec 22, 2024
1 parent 9f6d5b6 commit 5750f5a
Showing 1 changed file with 41 additions and 7 deletions.
48 changes: 41 additions & 7 deletions Tests/_CryptoExtrasTests/SLHDSATests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,34 +19,68 @@ import XCTest
final class SLHDSATests: XCTestCase {
func testSLHDSA_SHA2_128sSigning() throws {
let key = SLHDSA.SHA2_128s.PrivateKey()
let test = Data("Hello, World!".utf8)
let signature = try key.signature(for: test)
let context = Data("ctx".utf8)
let message = Data("Hello, World!".utf8)
let signature = try key.signature(for: message)

XCTAssertTrue(
key.publicKey.isValidSignature(
signature,
for: test
for: message
)
)

let context = Data("ctx".utf8)

XCTAssertFalse(
key.publicKey.isValidSignature(
signature,
for: test,
for: message,
context: context
)
)

try XCTAssertTrue(
key.publicKey.isValidSignature(
key.signature(for: test, context: context),
for: test,
key.signature(for: message, context: context),
for: message,
context: context
)
)
}

func testEmptyMessageAndContext() throws {
let key = SLHDSA.SHA2_128s.PrivateKey()
let emptyMessage = Data("".utf8)
let emptyContext = Data("".utf8)

try XCTAssertTrue(
key.publicKey.isValidSignature(
key.signature(for: emptyMessage, context: emptyContext),
for: emptyMessage,
context: emptyContext
)
)
}

func testMaxContextLenght() throws {
let key = SLHDSA.SHA2_128s.PrivateKey()
let message = Array("Hello, World!".utf8)

let context = [UInt8](repeating: 0, count: 255) // Maximum allowed context length
try XCTAssertTrue(
key.publicKey.isValidSignature(
key.signature(for: message, context: context),
for: message,
context: context
)
)

let tooLongContext = [UInt8](repeating: 0, count: 256)
XCTAssertThrowsError(
try key.signature(for: message, context: tooLongContext)
)
}

func testSignatureSerialization() throws {
let data = Array("Hello, World!".utf8)
let key = SLHDSA.SHA2_128s.PrivateKey()
Expand Down

0 comments on commit 5750f5a

Please sign in to comment.