Para fines generales, no puede estar 100% seguro. Si intentas la clave incorrecta, obtendrás una bolsa de bits aleatorios. Esos bits aleatorios pueden parecer algo válido, pero siguen siendo la clave incorrecta. Monos en una máquina de escribir perforando unas pocas líneas de Shakespere, y todo eso.
En teoría, podría diseñar un algoritmo de cifrado que intencionalmente le permita saber cuándo lo hace bien. Implicaría agregar un bloque de contenido conocido al mensaje y verificar que ese bloque sea correcto al descifrarlo. Sin embargo, deberías evitar a los monos en un problema de máquina de escribir de posibilidad aleatoria de que esté sucediendo para decodificar ese bloque correctamente. Tendría que adaptar el algoritmo de cifrado y el bloque de datos en sí mismo para que pueda probar matemáticamente que ninguna clave además de la clave correcta logra una coincidencia para ese bloque.
Normalmente, este tipo de comportamiento se considera una vulnerabilidad en el algoritmo de cifrado, por lo que no lo ves. Es demasiado arriesgado intentar agregar ese comportamiento demostrable en su algoritmo. Considere el ejemplo del Enigma, donde descubrieron que algunos patrones de salida simplemente no pudieron ocurrir debido a la disposición de los rotores, que fue un factor importante en la ruptura de Enigma. Tendría que elegir intencionalmente un algoritmo de cifrado que tenga una vulnerabilidad similar.