Перейти к содержанию

Spatium SDK > Crypto

Crypto

interface Crypto

Secure MPC signature algorithms for ECDSA and EDDSA systems

Describes both closed and open execution environments, where temporary and persistent data is stored within an environment itself and may not be imported or exported. For software implementations that means using StorageDrivers to keep data storage opaque and compatible with HSM/TEE implementations.

Inheritors

SpatiumCrypto

Functions

Name Summary
checkSecret [androidJvm]
abstract suspend fun checkSecret(secretId: String): Boolean
Check whether or not a secretId is occupied
createDistributedEcdsaKey [androidJvm]
abstract suspend fun createDistributedEcdsaKey(syncSessionId: String, keyDecommitment: String)
createDistributedEddsaKey [androidJvm]
abstract suspend fun createDistributedEddsaKey(syncSessionId: String, keyDecommitment: String): String
createEcdsaChallangeResponseDecommitment [androidJvm]
abstract suspend fun createEcdsaChallangeResponseDecommitment(syncSessionId: String, challengeDecommitment: String): String
createEcdsaChallengeCommitment [androidJvm]
abstract suspend fun createEcdsaChallengeCommitment(syncSessionId: String): String
createEcdsaChallengeDecommitment [androidJvm]
abstract suspend fun createEcdsaChallengeDecommitment(syncSessionId: String, challengeResponseCommitment: String): String
createEcdsaChallengeResponseCommitment [androidJvm]
abstract suspend fun createEcdsaChallengeResponseCommitment(syncSessionId: String, challengeCommitment: String): String
createEcdsaKeyCommitment [androidJvm]
abstract suspend fun createEcdsaKeyCommitment(secretId: String, syncSessionId: String, curve: EcdsaCurve, derivationCoin: UInt, derivationAccount: UInt): String
createEcdsaKeyDecommitment [androidJvm]
abstract suspend fun createEcdsaKeyDecommitment(syncSessionId: String, keyGenerationDataProof: String): String
createEcdsaKeyGenerationDataProof [androidJvm]
abstract suspend fun createEcdsaKeyGenerationDataProof(secretId: String, syncSessionId: String, curve: EcdsaCurve, derivationCoin: UInt, derivationAccount: UInt, keyCommitment: String): String
createEcdsaPartialSignature [androidJvm]
abstract suspend fun createEcdsaPartialSignature(signSessionId: String, signingKeyDecommitment: String): String
createEcdsaSignature [androidJvm]
abstract suspend fun createEcdsaSignature(signSessionId: String, partialSignature: String): EcdsaSignature
createEcdsaSigningKeyCommitment [androidJvm]
abstract suspend fun createEcdsaSigningKeyCommitment(secretId: String, syncSessionId: String, signSessionId: String, message: String): String
createEcdsaSigningKeyDecommitment [androidJvm]
abstract suspend fun createEcdsaSigningKeyDecommitment(signSessionId: String, signingKeyGenerationDataProof: String): String
createEcdsaSigningKeyGenerationDataProof [androidJvm]
abstract suspend fun createEcdsaSigningKeyGenerationDataProof(secretId: String, syncSessionId: String, signSessionId: String, message: String, signingKeyCommitment: String): String
createEddsaKeyCommitment [androidJvm]
abstract suspend fun createEddsaKeyCommitment(secretId: String, syncSessionId: String, curve: EddsaCurve, derivationCoin: UInt, derivationAccount: UInt): String
createEddsaKeyDecommitment [androidJvm]
abstract suspend fun createEddsaKeyDecommitment(syncSessionId: String, keyGenerationDataProof: String): Pair<String, String>
createEddsaKeyGenerationDataProof [androidJvm]
abstract suspend fun createEddsaKeyGenerationDataProof(secretId: String, syncSessionId: String, curve: EddsaCurve, derivationCoin: UInt, derivationAccount: UInt, keyCommitment: String): String
createEddsaPartialSignature [androidJvm]
abstract suspend fun createEddsaPartialSignature(signSessionId: String, signingKeyDecommitment: String): String
createEddsaSignature [androidJvm]
abstract suspend fun createEddsaSignature(signSessionId: String, partialSignature: String): EddsaSignature
createEddsaSigningKeyCommitment [androidJvm]
abstract suspend fun createEddsaSigningKeyCommitment(secretId: String, syncSessionId: String, signSessionId: String, message: String): String
createEddsaSigningKeyDecommitment [androidJvm]
abstract suspend fun createEddsaSigningKeyDecommitment(signSessionId: String, signingKeyGenerationDataProof: String): String
createEddsaSigningKeyGenerationDataProof [androidJvm]
abstract suspend fun createEddsaSigningKeyGenerationDataProof(secretId: String, syncSessionId: String, signSessionId: String, message: String, signingKeyCommitment: String): String
exportSecret [androidJvm]
abstract suspend fun exportSecret(secretId: String): String?
Export stored secret as string
generateSecret [androidJvm]
abstract suspend fun generateSecret(secretId: String)
Generate a new random secret under provided secretId
getCompoundEcdsaPublicKey [androidJvm]
abstract suspend fun getCompoundEcdsaPublicKey(secretId: String, syncSessionId: String): String
getCompoundEddsaPublicKey [androidJvm]
abstract suspend fun getCompoundEddsaPublicKey(secretId: String, syncSessionId: String): String
importSecret [androidJvm]
abstract suspend fun importSecret(secretId: String, secret: String)
Import an existing secret under specified secretId
removeDistributedEcdsaKey [androidJvm]
abstract suspend fun removeDistributedEcdsaKey(secretId: String, syncSessionId: String)
removeDistributedEddsaKey [androidJvm]
abstract suspend fun removeDistributedEddsaKey(secretId: String, syncSessionId: String)
removeSecret [androidJvm]
abstract suspend fun removeSecret(secretId: String)
Remove stored secret from storage
verifyEcdsaChallengeResponseDecommitment [androidJvm]
abstract suspend fun verifyEcdsaChallengeResponseDecommitment(syncSessionId: String, challengeResponseDecommitment: String): String