A disclosed gaming machine may securely communicate with devices over a
public network such as the Internet. The gaming machine utilizes a
combination of symmetric and asymmetric encryption that allows a single
gaming machine to securely communicate with a remote server using a
public network. The secure communication methods may be used to transfer
gaming software and gaming information between two gaming devices, such
as between a game server and a gaming machine. For regulatory and
tracking purposes, the transfer of gaming software between the two gaming
devices may be authorized and monitored by a software authorization
agent.