Skip to content

Bibostin/Mukkava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a document outlining the key functions I expect to include in this new iteration of Mukkava:

  • Written in C++ (way better native lib support for the majority of the elements I used originally)
  • Using UDP rather then TCP
  • Capable of supporting numerous individual clients on a single public IP
  • Capable of connecting via both ipv6 and ipv4
  • Supports Lyra and or Opus
  • Has a GUI
  • Cross Platform

Persistancy for the following static elements should be achieved in line with the flaws found in the original version of Mukkava's PAKE method:

  • individual UUID
  • individual Public / Private asymetric key
  • hashed peer UUIDs
  • peer Public keys
  • peer previous addresses (use TOFU to make roaming acceptable

A combination of PAKE and TOFU are probably the best solution, as while PAKE defeats MITM, key weakness and a chance of impersonation is a significant problem. making PAKE keys "disposable" in that you only need to use a key once per authentication between yourself and another user is ideal as the key weakness is only present given a user reuses the key (which we can account for in the program) and for a small period where the inital key exchange occurs.)

I should look at what TOX does in regards for this (I'm pretty sure its STUN)


Suggested libraries:

  • portaudio
  • libsndfile
  • qt, deariamgui
  • libsodium
  • sockpp

About

Second version of Mukkava VOIP application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published