Well, d is an EC point hashed to an integer. So it can be implemented this way:
d=hash(A*c)=hash(C*a)
E=B+G*d
e=b+d
Here, hash is any hash function, and G is the base point.
Alternatively, a different key derivation function can be used:
E=B*d
e=b*d
I hope it's clearer now.
ok, that would work, thanks for explaining. Haven't thought of just using an (encoded) ec point as an integer, stupid of me
