docs: def __generateSPK(self):
          """
          Generate a new PK and sign its public key using the IK, add the timestamp aswell
          to allow for periodic rotations.
          """
  
          key = self.__KeyPair.generate()
  
          key_serialized = self.__PublicKeyEncoder.encodePublicKey(
              key.pub,
              self.__curve
          )
  
          signature = self.__XEdDSA(mont_priv = self.__ik.priv).sign(key_serialized)
  
          self.__spk = {
              "key": key,
              "signature": signature,
              "timestamp": time.time()
          }