simplified key agreement generation