public static byte[] ExtractEd25519SeedFromEd25519SecretKey(byte[] ed25519SecretKey) { if (ed25519SecretKey == null || ed25519SecretKey.Length != 64) { throw new KeyOutOfRangeException("ed25519SecretKey", (ed25519SecretKey == null) ? 0 : ed25519SecretKey.Length, string.Format("ed25519SecretKey must be {0} bytes in length.", 64)); } byte[] array = new byte[32]; if (SodiumLibrary.crypto_sign_ed25519_sk_to_seed(array, ed25519SecretKey) != 0) { throw new CryptographicException("Failed to extract seed from secret key."); } return(array); }