AElga / GhostPeerShareApp

0 stars 0 forks source link

KeyExchange Manager UML #17

Open AElga opened 2 months ago

AElga commented 2 months ago
classDiagram

  KeyExchange <|-- RSAKeyExchange : implements
  KeyExchange <|-- DHKeyExchange : implements
  KeyExchange <|-- ECDHKeyExchange : implements

  class KeyExchange {
    <<Abstract>>
    KeyExchange keys[]; 
    generateKey(type): void
    deleteKey(key): void
    refreshKey(key): void
    retrieveKey(key): void
    sendKey(key): void
    recieveKey(key): void
  }

  class RSAKeyExchange {
    RSAKeyExchange  pubkey;
    RSAKeyExchange privkey;
    sendKey(key): void
    recieveKey(key): void
  }

  class DHKeyExchange {
    DHKeyExchange pubkey
    DHKeyExchange privekey
    sendKey(key): void
   recieveKey(key): void
  }

  class ECDHKeyExchange {
    ECDHKeyExchange pubkey
    ECDHKeyExchange privekey
    sendKey(key): void
    recieveKey(key): void 
  }

  KeyExchangeManager ..> Strategy: requires
  KeyExchangeManager --> KeyExchange: methodOfKeyExchange(strategy)

  class Strategy {
    <<Enumeration>>
   symmetric
   asymmetric
  }

  class KeyExchangeManager {
    -Strategy strategy
    methodOfKeyExchange(strategy): KeyExchange
  }
jeffmur commented 2 months ago

Topology: "Bigger Picture"

  1. Find Peers (Advertise / Discover) PeerManager
  2. Establish ( DHE / ECDHE / RSA ) KeyExchangeManager
  3. Communicate ( Symmetic / Asymmetic ) SessionManager