sponges

Implements sponge functions for cryptographic operations, supporting SHA-3, HMAC-SHA3, and KMAC algorithms. Offers separate Keccak state classes for various bit lengths.

JVMKotlin/NativeWasmJS
GitHub stars5
Open issues0
LicenseApache License 2.0
Creation dateabout 3 years ago

Last activity7 months ago
Latest release0.5.0 (7 months ago)

sponges

badge-license badge-latest-release

badge-kotlin

badge-platform-android badge-platform-jvm badge-platform-js badge-platform-js-node badge-platform-wasm badge-platform-linux badge-platform-macos badge-platform-ios badge-platform-tvos badge-platform-watchos badge-platform-windows badge-support-android-native badge-support-linux-arm

Sponge functions For Kotlin Multiplatform

Utilized by the hash repository sha3 implementation

Utilized by the MACs repository for hmac-sha3 and kmac implementations

Usage

// Keccak-p

fun main() {
    // Separate State classes for Keccak-f[200/400/800/1600]
    val state = F1600()
    
    state.addData(index = 0, 23452345254L)
    
    state.keccakP()
    
    state.forEach { println(it) }
    // ...
}

Get Started

The best way to keep KotlinCrypto dependencies up to date is by using the version-catalog. Alternatively, see below.

// build.gradle.kts
dependencies {
    implementation("org.kotlincrypto.sponges:keccak:0.5.0")
}
JVMKotlin/NativeWasmJS
GitHub stars5
Open issues0
LicenseApache License 2.0
Creation dateabout 3 years ago

Last activity7 months ago
Latest release0.5.0 (7 months ago)

sponges

badge-license badge-latest-release

badge-kotlin

badge-platform-android badge-platform-jvm badge-platform-js badge-platform-js-node badge-platform-wasm badge-platform-linux badge-platform-macos badge-platform-ios badge-platform-tvos badge-platform-watchos badge-platform-windows badge-support-android-native badge-support-linux-arm

Sponge functions For Kotlin Multiplatform

Utilized by the hash repository sha3 implementation

Utilized by the MACs repository for hmac-sha3 and kmac implementations

Usage

// Keccak-p

fun main() {
    // Separate State classes for Keccak-f[200/400/800/1600]
    val state = F1600()
    
    state.addData(index = 0, 23452345254L)
    
    state.keccakP()
    
    state.forEach { println(it) }
    // ...
}

Get Started

The best way to keep KotlinCrypto dependencies up to date is by using the version-catalog. Alternatively, see below.

// build.gradle.kts
dependencies {
    implementation("org.kotlincrypto.sponges:keccak:0.5.0")
}