all features are implemented except transffering the keys and tested in k bit where k is 3