{
	"name": "NativeCryptoFacade",
	"type": "facade",
	"senders": ["web"],
	"receivers": ["ios", "desktop", "android"],
	"methods": {
		"rsaEncrypt": {
			"arg": [
				{
					"publicKey": "RsaPublicKey"
				},
				{
					"data": "bytes"
				},
				{
					"seed": "bytes"
				}
			],
			"ret": "bytes"
		},
		"rsaDecrypt": {
			"arg": [
				{
					"privateKey": "RsaPrivateKey"
				},
				{
					"data": "bytes"
				}
			],
			"ret": "bytes"
		},
		"aesEncryptFile": {
			"doc": "Encrypt file specified by the `fileUri`. Returns URI of the encrypted file.",
			"arg": [
				{
					"key": "bytes"
				},
				{
					"fileUri": "string"
				},
				{
					"iv": "bytes"
				}
			],
			"ret": "EncryptedFileInfo"
		},
		"aesDecryptFile": {
			"doc": "Decrypt file specified by the `fileUri`. Returns URI of the decrypted file.",
			"arg": [
				{
					"key": "bytes"
				},
				{
					"fileUri": "string"
				}
			],
			"ret": "string"
		},
		"argon2idGeneratePassphraseKey": {
			"arg": [
				{
					"passphrase": "string"
				},
				{
					"salt": "bytes"
				}
			],
			"ret": "bytes"
		},
		"generateKyberKeypair": {
			"arg": [
				{
					"seed": "bytes"
				}
			],
			"ret": "KyberKeyPair"
		},
		"kyberEncapsulate": {
			"arg": [
				{
					"publicKey": "KyberPublicKey"
				},
				{
					"seed": "bytes"
				}
			],
			"ret": "KyberEncapsulation"
		},
		"kyberDecapsulate": {
			"arg": [
				{
					"privateKey": "KyberPrivateKey"
				},
				{
					"ciphertext": "bytes"
				}
			],
			"ret": "bytes"
		},
		"generateEd25519Keypair": {
			"arg": [],
			"ret": "IPCEd25519KeyPair"
		},
		"ed25519Sign": {
			"arg": [
				{
					"privateKey": "IPCEd25519PrivateKey"
				},
				{
					"data": "bytes"
				}
			],
			"ret": "IPCEd25519Signature"
		},
		"ed25519Verify": {
			"arg": [
				{
					"publicKey": "IPCEd25519PublicKey"
				},
				{
					"data": "bytes"
				},
				{
					"signature": "IPCEd25519Signature"
				}
			],
			"ret": "boolean"
		}
	}
}
