Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/KotlinCrypto/sponges

Sponge functions for Kotlin Multiplatform
https://github.com/KotlinCrypto/sponges

android android-library cryptographic-hash-functions cryptography cryptography-algorithms cryptography-library hash hashing hashing-algorithm keccak keccak-sponge kotlin kotlin-library kotlin-multiplatform kotlin-multiplatform-library kotlin-multiplatform-mobile

Last synced: 6 days ago
JSON representation

Sponge functions for Kotlin Multiplatform

Awesome Lists containing this project

README

        

# sponges
[![badge-license]][url-license]
[![badge-latest-release]][url-latest-release]

[![badge-kotlin]][url-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-apple-silicon]
![badge-support-js-ir]
![badge-support-linux-arm]

[Sponge functions][url-sponge-functions] For Kotlin Multiplatform

Utilized by the [hash][url-hash] repository `sha3` implementation

Utilized by the [MACs][url-macs] repository for `hmac-sha3` and `kmac` implementations

### Usage

```kotlin
// Keccak-p

fun main() {
// Separate State classes for Keccak-f[200/400/800/1600]
val state = F1600()

state.addData(index = 0, 23452345254L)

KeccakP(state)

state.forEach {
println(it)
}
// ...
}
```

### Get Started

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

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

[badge-latest-release]: https://img.shields.io/badge/latest--release-0.3.1-blue.svg?style=flat
[badge-license]: https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat

[badge-kotlin]: https://img.shields.io/badge/kotlin-1.9.24-blue.svg?logo=kotlin

[badge-platform-android]: http://img.shields.io/badge/-android-6EDB8D.svg?style=flat
[badge-platform-jvm]: http://img.shields.io/badge/-jvm-DB413D.svg?style=flat
[badge-platform-js]: http://img.shields.io/badge/-js-F8DB5D.svg?style=flat
[badge-platform-js-node]: https://img.shields.io/badge/-nodejs-68a063.svg?style=flat
[badge-platform-linux]: http://img.shields.io/badge/-linux-2D3F6C.svg?style=flat
[badge-platform-macos]: http://img.shields.io/badge/-macos-111111.svg?style=flat
[badge-platform-ios]: http://img.shields.io/badge/-ios-CDCDCD.svg?style=flat
[badge-platform-tvos]: http://img.shields.io/badge/-tvos-808080.svg?style=flat
[badge-platform-watchos]: http://img.shields.io/badge/-watchos-C0C0C0.svg?style=flat
[badge-platform-wasm]: https://img.shields.io/badge/-wasm-624FE8.svg?style=flat
[badge-platform-windows]: http://img.shields.io/badge/-windows-4D76CD.svg?style=flat
[badge-support-android-native]: http://img.shields.io/badge/support-[AndroidNative]-6EDB8D.svg?style=flat
[badge-support-apple-silicon]: http://img.shields.io/badge/support-[AppleSilicon]-43BBFF.svg?style=flat
[badge-support-js-ir]: https://img.shields.io/badge/support-[js--IR]-AAC4E0.svg?style=flat
[badge-support-linux-arm]: http://img.shields.io/badge/support-[LinuxArm]-2D3F6C.svg?style=flat
[badge-support-linux-mips]: http://img.shields.io/badge/support-[LinuxMIPS]-2D3F6C.svg?style=flat

[url-latest-release]: https://github.com/KotlinCrypto/sponges/releases/latest
[url-license]: https://www.apache.org/licenses/LICENSE-2.0.txt
[url-kotlin]: https://kotlinlang.org
[url-hash]: https://github.com/KotlinCrypto/hash
[url-macs]: https://github.com/KotlinCrypto/MACs
[url-version-catalog]: https://github.com/KotlinCrypto/version-catalog
[url-sponge-functions]: https://en.wikipedia.org/wiki/Sponge_function