public ActionResult <KeysModel> GetKeys() { Debug.WriteLine("[API]: GetKeys - return SEAL public and secret keys to client"); return(new KeysModel { PublicKey = SEALUtils.PublicKeyToBase64String(_keyGenerator.PublicKey), SecretKey = SEALUtils.SecretKeyToBase64String(_keyGenerator.SecretKey) }); }
public ActionResult ComputePrime([FromBody] PrimeItem request) { var prime = request.Prime; _prime = Convert.ToInt64(prime); for (long i = 2; i < _prime / 2; i++) { if (_prime % i == 0) { _answer[0] = i; _answer[1] = _prime / i; break; } } // TODO 此处添加对_answer和 _prime加密的功能 var plainprime = new Plaintext($"{_prime.ToString("X")}"); Console.WriteLine(_prime); var ciphertextprime = new Ciphertext(); _encryptor.Encrypt(plainprime, ciphertextprime); var base64Prime = SEALUtils.CiphertextToBase64String(ciphertextprime); var plainfactor1 = new Plaintext($"{_answer[0].ToString("X")}"); var ciphertextfactor1 = new Ciphertext(); _encryptor.Encrypt(plainfactor1, ciphertextfactor1); var base64Factor1 = SEALUtils.CiphertextToBase64String(ciphertextfactor1); var plainfactor2 = new Plaintext($"{_answer[1].ToString("X")}"); var ciphertextfactor2 = new Ciphertext(); _encryptor.Encrypt(plainfactor2, ciphertextfactor2); var base64Factor2 = SEALUtils.CiphertextToBase64String(ciphertextfactor2); var publicKey = SEALUtils.PublicKeyToBase64String(_keyGenerator.PublicKey); var secretKey = SEALUtils.SecretKeyToBase64String(_keyGenerator.SecretKey); _base64Prime = base64Prime; _base64Factor1 = base64Factor1; _base64Factor2 = base64Factor2; _publicKey = publicKey; _secretKey = secretKey; return(Ok()); }