En cryptographie, un secret partagé (en anglais : shared secret) est une donnée connue seulement des parties impliquées dans une communication sécurisée. Le secret partagé peut être un mot de passe, une phrase secrète, un grand nombre ou une suite aléatoire de bits.
Le secret partagé est soit partagé à l'avance entre les parties communicantes, auquel cas il peut également être appelé une clé prépartagée, soit il est créé au début de la session de communication en utilisant un protocole d'accord de clé, par exemple en utilisant la cryptographie asymétrique comme l'échange de clés Diffie-Hellman ou en utilisant la cryptographie symétrique comme le protocole Kerberos.
Le secret partagé peut être utilisé pour l'authentification d'une personne (par exemple lors de la connexion à un système distant) en utilisant des méthodes telles que l'authentification par question-réponse ou il peut être fourni à une fonction de dérivation de clés pour produire une ou plusieurs clés à utiliser pour le chiffrement ou l'authentification de messages.
Pour créer des clés de session ou de message uniques, le secret partagé est habituellement combiné à un vecteur d'initialisation. Un exemple de cela est la clé unique dérivée par transaction.
Il est également souvent utilisé comme mesure d'authentification dans les API[1].