MCPcopy Create free account
hub / github.com/PurpleI2P/i2pd / CreateEncryptor

Method CreateEncryptor

libi2pd/Identity.cpp:462–482  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

460 }
461
462 std::shared_ptr<i2p::crypto::CryptoKeyEncryptor> IdentityEx::CreateEncryptor (CryptoKeyType keyType, const uint8_t * key)
463 {
464 switch (keyType)
465 {
466 case CRYPTO_KEY_TYPE_ELGAMAL:
467 return std::make_shared<i2p::crypto::ElGamalEncryptor>(key);
468 break;
469 case CRYPTO_KEY_TYPE_ECIES_X25519_AEAD:
470 case CRYPTO_KEY_TYPE_ECIES_MLKEM512_X25519_AEAD:
471 case CRYPTO_KEY_TYPE_ECIES_MLKEM768_X25519_AEAD:
472 case CRYPTO_KEY_TYPE_ECIES_MLKEM1024_X25519_AEAD:
473 return std::make_shared<i2p::crypto::ECIESX25519AEADRatchetEncryptor>(key);
474 break;
475 case CRYPTO_KEY_TYPE_ECIES_P256_SHA256_AES256CBC:
476 return std::make_shared<i2p::crypto::ECIESP256Encryptor>(key);
477 break;
478 default:
479 LogPrint (eLogError, "Identity: Unknown crypto key type ", (int)keyType);
480 };
481 return nullptr;
482 }
483
484 std::shared_ptr<i2p::crypto::CryptoKeyEncryptor> IdentityEx::CreateEncryptor (const uint8_t * key) const
485 {

Callers 2

EncryptMethod · 0.80
EncryptMethod · 0.80

Calls 1

LogPrintFunction · 0.85

Tested by

no test coverage detected