Patent ID: 8873758

Claim:
A method for use in a wireless controller device, the method comprising: at the wireless controller device: performing a search to identify nearby wireless accessory devices; receiving, responsive to the search, identifying information for one or more wireless accessory devices; displaying the identifying information in a graphical user interface; receiving user input that selects a wireless accessory device from the one or more wireless accessory devices; communicating with the selected wireless accessory device to establish an encrypted wireless connection with the selected wireless accessory device, wherein communicating further comprises : exchanging messages to perform a dynamic key negotiation for generating an encryption key and an authentication key; or exchanging messages to generate the encryption key and the authentication key using a password by: receiving a first message from the selected wireless accessory device that includes a random salt and a first public key that was generated based on the password; transmitting a second message to the selected wireless accessory device, wherein the second message is responsive to the first message, and wherein the second message includes a second public key; computing a shared secret using the first public key, the second public key, and the random salt; and computing encryption and authentication keys from the shared secret; transmitting network credentials to the selected wireless accessory device via the encrypted wireless connection, wherein the network credentials include an identifier of a wireless network and a password for connecting to the wireless network, wherein the network credentials are usable by the selected wireless accessory device to connect to the wireless network; joining the wireless network; and communicating with the selected wireless accessory device via the wireless network.