An authentication system used to authenticate a plurality of nodes (100A to 100D), wherein the nodes (100A to 100D) are connected to a network and transmit and receive communication data, wherein: the plurality of nodes (100A to 100D) are adapted to share and hold a key code, which is used to generate an authentication code used to verify a transmission source of the communication data, and a change code, which is used to change the authentication code and includes a predetermined random number, wherein the plurality of nodes (100A to 100D) includes an adding unit adapted to add the authentication code to the communication data, and an updating unit adapted to update the authentication code by performing a predetermined operation with the key code and the change code whenever communication of the communication data ends, wherein the updating unit is adapted to select a translation code (α), which includes a predetermined random number that serves as the change code, and to execute a recursive operation on the key code using the selected translation code (α) to update the key code from time to time and recursively generate the authentication code with the key code, which is updated from time to time, wherein the key code includes an initial key, which is held in advance in the plurality of nodes (100A to 100D) and used when initially generating the authentication code, and an update key, which is generated in an operation performed on the initial key and the translation code (α) from time to time whenever communication of the communication data ends, and wherein the updating unit is adapted to generate an authentication code used when initially communicating the communication data by performing an operation on the initial key and a random code, which includes a predetermined random number held in advance in the plurality of nodes (100A to 100D), and to update the generated authentication code using an update key that is generated from time to time. the plurality of nodes (100A to 100D) are adapted to share and hold a key code, which is used to generate an authentication code used to verify a transmission source of the communication data, and a change code, which is used to change the authentication code and includes a predetermined random number, wherein the plurality of nodes (100A to 100D) includes an adding unit adapted to add the authentication code to the communication data, and an updating unit adapted to update the authentication code by performing a predetermined operation with the key code and the change code whenever communication of the communication data ends, wherein the updating unit is adapted to select a translation code (α), which includes a predetermined random number that serves as the change code, and to execute a recursive operation on the key code using the selected translation code (α) to update the key code from time to time and recursively generate the authentication code with the key code, which is updated from time to time, wherein the key code includes an initial key, which is held in advance in the plurality of nodes (100A to 100D) and used when initially generating the authentication code, and an update key, which is generated in an operation performed on the initial key and the translation code (α) from time to time whenever communication of the communication data ends, and wherein the updating unit is adapted to generate an authentication code used when initially communicating the communication data by performing an operation on the initial key and a random code, which includes a predetermined random number held in advance in the plurality of nodes (100A to 100D), and to update the generated authentication code using an update key that is generated from time to time.