Tate-pairing implementations for tripartite key agreement