Comment décrypter un message à l'aide de la CLI d'OpenSL?

8

J'ai un message, je connais le mot de passe et le chiffre qui a été utilisé pour le crypter, mais je ne sais pas comment demander à openssl de le décrypter.

Je vois le chiffre dans la sortie de la cipherscommande, et la page de manuel répertorie une enccommande pour Encoding with Ciphers, mais je ne trouve pas comment je ferais le contraire, décoder un message.

user50849
la source
1
Quel programme est utilisé pour crypter le fichier? Il est très probable que le programme de cryptage ajoute des métadonnées au contenu crypté, comme le vecteur d'initialisation, le sel, la version du programme, etc. Si vous traitez l'ensemble comme des bits cryptés, vous obtiendrez des ordures.
Siyuan Ren
Tard mais: openssl ciphersrépertorie les suites de chiffrement pour SSL / TLS, qui en pratique n'est jamais basé sur un mot de passe, et ne laisse pas de messages où que vous puissiez déchiffrer plus tard (c'est-à-dire si vous avez un fichier, ce n'est pas SSL / TLS). openssl encest un schéma de chiffrement basé sur un mot de passe couramment utilisé, mais il existe des CMS et (rarement) PBE S / MIME et un PBE PGP commun, ainsi que des schémas PBE pour des clés qui ne sont pas décrites avec précision comme des messages, ainsi que d'autres PBE.
dave_thompson_085

Réponses:

1

Je pense que vous cherchez quelque chose comme ça:

openssl yourcipher -d < yourfile

Par exemple, si le fichier a été chiffré à l'aide de des3chiffrement et que le fichier est /path/to/file.des3alors:

openssl des3 -d < /path/to/file.des3

Il vous demandera la phrase secrète.

Si le fichier est encodé en base64, vous devriez pouvoir décoder et décrypter comme ceci:

openssl enc -base64 -d < /path/to/file | openssl yourcipher -d
janos
la source
En essayant cela, après avoir entré la phrase secrète, j'obtiens un "mauvais numéro magique". Je ne sais pas comment interpréter cela.
user50849
Cette erreur est courante lorsque le fichier n'est pas vraiment un fichier crypté ... Peut-être que vous devez d'abord le décompresser?
janos
1
Si j'ai bien compris mes instructions, mon fichier est encodé en base64 (il ressemble également à base64, bien que ce ne soit pas une garantie bien sûr). Mais j'ai essayé de le passer base64 -d [input] > [output], puis openssl [cipher] -d < [output]de déchiffrer le fichier tel quel , et j'obtiens le même "mauvais numéro magique" dans les deux cas.
user50849
@ user50849 J'ai mis à jour ma réponse en pensant qu'il semble que vous le fassiez déjà ... Après avoir décodé depuis base64, que vous dit la filecommande? Le fichier est-il binaire?
janos
J'ai essayé votre commande base64 ajoutée, et malheureusement j'obtiens la même erreur. Le fichier indique datale fichier décodé. Je suppose que votre réponse est correcte et que quelque chose ne va pas de mon côté. J'ai peut-être corrompu l'entrée ou similaire. Je vais essayer de régler ça et de revenir.
user50849