I am having a first look at the TLS key exchange using Diffie Hellman and try to understand the Elliptic Curve variant of it.
So if a client and a server agree on using ECDH for key exchange and they use the secp256r1 curve, it seems like the base point G is given and they take it from the standard (
04 6B17D1F2 E12C4247 F8BCE6E5 63A440F2 77037D81 2DEB33A0F4A13945 D898C296 4FE342E2 FE1A7F9B 8EE7EB4A 7C0F9E16 2BCE33576B315ECE CBB64068 37BF51F5)
From my understanding, i could use an arbitrary base point G and obtain a group which i can use for my key-exchange. Whats the advantage of using a fixed one? Knowing the base point, wouldnt it be possible to create some kind of rainbow-table and thus crack some connections?
To me it seems more intuite that picking a new base point G every time would increase security. But as far as i understand it, it's not whats done in TLS. Can anyone tell why we pick a fixed base point instead of generating a new one for each key-exchange?