generation of individual key