A system 100 for implementing a secure software update, comprising: a target device, and a software update medium, wherein the target device comprises an update utility comprising a private decryption key from a first asymmetrical cryptographic key pair; a public signature key from a second asymmetrical cryptographic key pair; and a checksum algorithm; the software update medium stores an executable update file which is granted execution control once a secure software update verification process has completed; an encrypted symmetrical session key, which has been encrypted with a public encryption key from the first asymmetrical cryptographic key pair; a digital signature, which is formed with the encrypted symmetrical session key and a private signature key from the second asymmetrical cryptographic key pair; an encrypted checksum for the executable update file which has been encrypted with the symmetrical session key; and the update utility is operative to: authenticate the encrypted symmetrical session key using the digital signature and the public signature key; if said authenticating is successful decrypt the encrypted symmetrical session key using the private decryption key to obtain the symmetrical session key; decrypt the encrypted checksum with the symmetrical session key to obtain a first checksum; process the executable update file using the checksum algorithm to calculate a second checksum; and grant execution to the executable update file if the first checksum matches the second checksum. a target device, and a software update medium, wherein the target device comprises an update utility comprising a private decryption key from a first asymmetrical cryptographic key pair; a public signature key from a second asymmetrical cryptographic key pair; and a checksum algorithm; a private decryption key from a first asymmetrical cryptographic key pair; a public signature key from a second asymmetrical cryptographic key pair; and a checksum algorithm; the software update medium stores an executable update file which is granted execution control once a secure software update verification process has completed; an encrypted symmetrical session key, which has been encrypted with a public encryption key from the first asymmetrical cryptographic key pair; a digital signature, which is formed with the encrypted symmetrical session key and a private signature key from the second asymmetrical cryptographic key pair; an encrypted checksum for the executable update file which has been encrypted with the symmetrical session key; an executable update file which is granted execution control once a secure software update verification process has completed; an encrypted symmetrical session key, which has been encrypted with a public encryption key from the first asymmetrical cryptographic key pair; a digital signature, which is formed with the encrypted symmetrical session key and a private signature key from the second asymmetrical cryptographic key pair; an encrypted checksum for the executable update file which has been encrypted with the symmetrical session key; and the update utility is operative to: authenticate the encrypted symmetrical session key using the digital signature and the public signature key; if said authenticating is successful decrypt the encrypted symmetrical session key using the private decryption key to obtain the symmetrical session key; decrypt the encrypted checksum with the symmetrical session key to obtain a first checksum; process the executable update file using the checksum algorithm to calculate a second checksum; and grant execution to the executable update file if the first checksum matches the second checksum. authenticate the encrypted symmetrical session key using the digital signature and the public signature key; if said authenticating is successful decrypt the encrypted symmetrical session key using the private decryption key to obtain the symmetrical session key; decrypt the encrypted checksum with the symmetrical session key to obtain a first checksum; process the executable update file using the checksum algorithm to calculate a second checksum; and grant execution to the executable update file if the first checksum matches the second checksum.