#143 BaseクラスでDiffie Hellman的なものを一般化した