
Modern cryptographic library enabling secure key generation, encryption, and digital signatures. Integrates platform-specific security features and offers a unified API for cryptographic operations.
A modern Kotlin Multiplatform cryptographic library for secure key generation, encryption, and digital signatures across Android and iOS platforms. This library provides a unified API for cryptographic operations while leveraging platform-specific security features like Android Keystore and iOS Keychain.
SDKForge-Crypto/
βββ app-android/ # Android sample application
βββ app-ios/ # iOS sample application
βββ app-shared/ # Shared sample UI components (Compose Multiplatform)
βββ shared/ # Main crypto library with all components
βββ shared-core/ # Core shared functionality
βββ shared-domain/ # Cryptographic domain models and operations
βββ shared-template/ # Template for shared modules
βββ build-logic/ # Gradle build logic and conventions
βββ internal-benchmark/ # Performance benchmarks
βββ internal-ktlint/ # Custom ktlint rules
Note: This project is currently in development and not yet published to any repository. Installation instructions will be available once the project is published.
Once published, you'll be able to install the SDK using:
dependencies {
implementation("dev.sdkforge.crypto:crypto:0.0.1")
implementation("dev.sdkforge.crypto:crypto-domain:0.0.1")
implementation("dev.sdkforge.crypto:crypto-core:0.0.1")
}dependencies {
implementation 'dev.sdkforge.crypto:crypto:0.0.1'
implementation 'dev.sdkforge.crypto:crypto-domain:0.0.1'
implementation 'dev.sdkforge.crypto:crypto-core:0.0.1'
}<dependency>
<groupId>dev.sdkforge.crypto</groupId>
<artifactId>crypto</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>dev.sdkforge.crypto</groupId>
<artifactId>crypto-domain</artifactId>
<version>0.0.1</version>
</dependency>Clone the repository:
git clone https://github.com/SDKForge/Crypto.git SDKForgeCrypto
cd SDKForgeCryptoBuild the project:
./gradlew buildRun tests:
./gradlew lint ktlintCheck dependencyGuard checkLegacyAbiGenerate documentation:
./gradlew dokkaHtmlThis library provides cryptographic functionality for Kotlin Multiplatform applications:
The library provides a unified interface for cryptographic operations across platforms:
// Common interface (shared-domain/src/commonMain/kotlin/dev/sdkforge/crypto/domain/KeyGenerator.kt)
expect object KeyGenerator {
suspend fun generate(
algorithm: KeyAlgorithm,
identifier: String,
keySize: Int,
): KeyPair
}
// Supported algorithms
enum class KeyAlgorithm {
RSA,
EC,
}// Generate a 2048-bit RSA key pair
val keyPair = KeyGenerator.generate(
algorithm = KeyAlgorithm.RSA,
identifier = "my-rsa-key",
keySize = 2048
)
println("Public Key: ${keyPair.publicKey.algorithm}")
println("Private Key: ${keyPair.privateKey.algorithm}")// Generate an EC key pair (typically 256-bit)
val ecKeyPair = KeyGenerator.generate(
algorithm = KeyAlgorithm.EC,
identifier = "my-ec-key",
keySize = 256
)The library automatically uses platform-specific security features:
Access library version information through the Library object:
// shared/src/commonMain/kotlin/dev/sdkforge/crypto/Library.kt
data object Library {
const val VERSION = "0.0.1"
}
// Usage
val sdkVersion = Library.VERSION./gradlew test# Android tests
./gradlew app-android:test
# iOS tests
./gradlew app-ios:test./gradlew internal-benchmark:connectedAndroidTestshared-* directorybuild.gradle.kts
shared module to export the new moduleThis project uses KtLint for code formatting. Run the following to check and fix code style:
./gradlew ktlintCheck
./gradlew ktlintFormatThe project uses dependency guard to prevent dependency drift:
./gradlew dependencyGuardWe welcome contributions! Please see our Contributing Guide for details.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
We take security seriously. Please report security vulnerabilities to volodymyr.nevmerzhytskyi@sdkforge.dev.
Do NOT create public GitHub issues for security vulnerabilities.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by the SDKForge Team
A modern Kotlin Multiplatform cryptographic library for secure key generation, encryption, and digital signatures across Android and iOS platforms. This library provides a unified API for cryptographic operations while leveraging platform-specific security features like Android Keystore and iOS Keychain.
SDKForge-Crypto/
βββ app-android/ # Android sample application
βββ app-ios/ # iOS sample application
βββ app-shared/ # Shared sample UI components (Compose Multiplatform)
βββ shared/ # Main crypto library with all components
βββ shared-core/ # Core shared functionality
βββ shared-domain/ # Cryptographic domain models and operations
βββ shared-template/ # Template for shared modules
βββ build-logic/ # Gradle build logic and conventions
βββ internal-benchmark/ # Performance benchmarks
βββ internal-ktlint/ # Custom ktlint rules
Note: This project is currently in development and not yet published to any repository. Installation instructions will be available once the project is published.
Once published, you'll be able to install the SDK using:
dependencies {
implementation("dev.sdkforge.crypto:crypto:0.0.1")
implementation("dev.sdkforge.crypto:crypto-domain:0.0.1")
implementation("dev.sdkforge.crypto:crypto-core:0.0.1")
}dependencies {
implementation 'dev.sdkforge.crypto:crypto:0.0.1'
implementation 'dev.sdkforge.crypto:crypto-domain:0.0.1'
implementation 'dev.sdkforge.crypto:crypto-core:0.0.1'
}<dependency>
<groupId>dev.sdkforge.crypto</groupId>
<artifactId>crypto</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>dev.sdkforge.crypto</groupId>
<artifactId>crypto-domain</artifactId>
<version>0.0.1</version>
</dependency>Clone the repository:
git clone https://github.com/SDKForge/Crypto.git SDKForgeCrypto
cd SDKForgeCryptoBuild the project:
./gradlew buildRun tests:
./gradlew lint ktlintCheck dependencyGuard checkLegacyAbiGenerate documentation:
./gradlew dokkaHtmlThis library provides cryptographic functionality for Kotlin Multiplatform applications:
The library provides a unified interface for cryptographic operations across platforms:
// Common interface (shared-domain/src/commonMain/kotlin/dev/sdkforge/crypto/domain/KeyGenerator.kt)
expect object KeyGenerator {
suspend fun generate(
algorithm: KeyAlgorithm,
identifier: String,
keySize: Int,
): KeyPair
}
// Supported algorithms
enum class KeyAlgorithm {
RSA,
EC,
}// Generate a 2048-bit RSA key pair
val keyPair = KeyGenerator.generate(
algorithm = KeyAlgorithm.RSA,
identifier = "my-rsa-key",
keySize = 2048
)
println("Public Key: ${keyPair.publicKey.algorithm}")
println("Private Key: ${keyPair.privateKey.algorithm}")// Generate an EC key pair (typically 256-bit)
val ecKeyPair = KeyGenerator.generate(
algorithm = KeyAlgorithm.EC,
identifier = "my-ec-key",
keySize = 256
)The library automatically uses platform-specific security features:
Access library version information through the Library object:
// shared/src/commonMain/kotlin/dev/sdkforge/crypto/Library.kt
data object Library {
const val VERSION = "0.0.1"
}
// Usage
val sdkVersion = Library.VERSION./gradlew test# Android tests
./gradlew app-android:test
# iOS tests
./gradlew app-ios:test./gradlew internal-benchmark:connectedAndroidTestshared-* directorybuild.gradle.kts
shared module to export the new moduleThis project uses KtLint for code formatting. Run the following to check and fix code style:
./gradlew ktlintCheck
./gradlew ktlintFormatThe project uses dependency guard to prevent dependency drift:
./gradlew dependencyGuardWe welcome contributions! Please see our Contributing Guide for details.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
We take security seriously. Please report security vulnerabilities to volodymyr.nevmerzhytskyi@sdkforge.dev.
Do NOT create public GitHub issues for security vulnerabilities.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by the SDKForge Team