mirror of
https://github.com/bitwarden/mobile
synced 2025-12-10 05:13:31 +00:00
* add gcc_flags for libargon2.a * fix up ios proj * remove unused tag * add gcc_flags to ios projects * ios libargon2 binary * fix paths in ios project * update pathing on other projs * Argon2id primitive * fix typing issues * comment * remove ds store * [PS-2249] Implement Argon2 (#2293) * Implement Argon2 * Fix incorrect argon2 type on iOS * Switch argon2 implementation to native bindings * Change argon2 to save iterations instead of memory as 'kdfIterations' * Remove mistakenly added import * Remove unused library * cleanup * move android libs * move android libs * Revert "move android libs" This reverts commit0b91b22cd2. * Revert "move android libs" This reverts commit139839c469. * PR feedback Co-authored-by: Bernd Schoolmann <mail@quexten.com>
39 lines
2.6 KiB
C#
39 lines
2.6 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using Bit.Core.Enums;
|
|
|
|
namespace Bit.Core.Abstractions
|
|
{
|
|
public interface ICryptoFunctionService
|
|
{
|
|
Task<byte[]> Pbkdf2Async(string password, string salt, CryptoHashAlgorithm algorithm, int iterations);
|
|
Task<byte[]> Pbkdf2Async(byte[] password, string salt, CryptoHashAlgorithm algorithm, int iterations);
|
|
Task<byte[]> Pbkdf2Async(string password, byte[] salt, CryptoHashAlgorithm algorithm, int iterations);
|
|
Task<byte[]> Pbkdf2Async(byte[] password, byte[] salt, CryptoHashAlgorithm algorithm, int iterations);
|
|
Task<byte[]> Argon2Async(string password, string salt, int iterations, int memory, int parallelism);
|
|
Task<byte[]> Argon2Async(byte[] password, string salt, int iterations, int memory, int parallelism);
|
|
Task<byte[]> Argon2Async(string password, byte[] salt, int iterations, int memory, int parallelism);
|
|
Task<byte[]> Argon2Async(byte[] password, byte[] salt, int iterations, int memory, int parallelism);
|
|
Task<byte[]> HkdfAsync(byte[] ikm, string salt, string info, int outputByteSize, HkdfAlgorithm algorithm);
|
|
Task<byte[]> HkdfAsync(byte[] ikm, byte[] salt, string info, int outputByteSize, HkdfAlgorithm algorithm);
|
|
Task<byte[]> HkdfAsync(byte[] ikm, string salt, byte[] info, int outputByteSize, HkdfAlgorithm algorithm);
|
|
Task<byte[]> HkdfAsync(byte[] ikm, byte[] salt, byte[] info, int outputByteSize, HkdfAlgorithm algorithm);
|
|
Task<byte[]> HkdfExpandAsync(byte[] prk, string info, int outputByteSize, HkdfAlgorithm algorithm);
|
|
Task<byte[]> HkdfExpandAsync(byte[] prk, byte[] info, int outputByteSize, HkdfAlgorithm algorithm);
|
|
Task<byte[]> HashAsync(string value, CryptoHashAlgorithm algorithm);
|
|
Task<byte[]> HashAsync(byte[] value, CryptoHashAlgorithm algorithm);
|
|
Task<byte[]> HmacAsync(byte[] value, byte[] key, CryptoHashAlgorithm algorithm);
|
|
Task<bool> CompareAsync(byte[] a, byte[] b);
|
|
Task<byte[]> AesEncryptAsync(byte[] data, byte[] iv, byte[] key);
|
|
Task<byte[]> AesDecryptAsync(byte[] data, byte[] iv, byte[] key);
|
|
Task<byte[]> RsaEncryptAsync(byte[] data, byte[] publicKey, CryptoHashAlgorithm algorithm);
|
|
Task<byte[]> RsaDecryptAsync(byte[] data, byte[] privateKey, CryptoHashAlgorithm algorithm);
|
|
Task<byte[]> RsaExtractPublicKeyAsync(byte[] privateKey);
|
|
Task<Tuple<byte[], byte[]>> RsaGenerateKeyPairAsync(int length);
|
|
Task<byte[]> RandomBytesAsync(int length);
|
|
byte[] RandomBytes(int length);
|
|
Task<uint> RandomNumberAsync();
|
|
uint RandomNumber();
|
|
}
|
|
}
|