Many IP multicast-based applications, such as multimedia conferencing, multiplayer games, require controlling the group memberships of senders and receivers. One common solution is to encrypt the data with a session key shared with all authorized senders/receivers. To efficiently update the session key in the event of member removal, many rooted-tree based group key distribution schemes have been proposed. However, most of the existing rooted-tree based schemes are not optimal. In other words, given the O(logN) storage overhead, the communication overhead is not minimized. On the other hand, although Flat Table scheme  achieves optimality , it is rather dismissed due to the vulnerability to collusion attacks. In this paper, we propose a key distribution scheme - EGK that attains the same optimality as Flat Table without collusion vulnerability. Additionally, EGK provides constant message size and requires O(logN) storage overhead at the group controller, which makes EGK suitable for applications containing a large number of multicasting group members. Moreover, adding members in EGK requires just one multicasting message. EGK is the first work with such features and out-performs all existing schemes.