2012-05-11 9 views
0

CBCモードで3DESmメソッドを使用して暗号化されたCプログラムの暗号化されたメッセージを復号化する必要があります。 3DESメソッドから取得した暗号化されたメッセージとはかなり違って見えます。一般に、暗号化された後に取得される暗号文は、長さが16であり、0-9およびA-Fのような文字のみを含む16進数です。しかし、私が解読する必要がある暗号文は、長さが20文字以上で、A-Z、a-z、0-9のすべての文字を含み、 '+'や '='のような特殊文字もほとんど含まれていません。 必要な作業を行うために役立つライブラリはどれですか?トリプルDESm(3DESm)暗号化方式とは何ですか? 3DESとはまったく異なりますか?

+0

3DESmとは何ですか?それを聞いたことはありませんし、Googleは役に立たない何かを上げません。あなたは今までにトップグレードのGoogle検索結果です。 – CodesInChaos

答えて

1

通常のブロック暗号から得られる暗号文は、16進ではなく、生のバイト/バイナリデータで構成されます。 DESの場合、これらはブロックあたり8バイトです。

テキストをバイナリデータよりも優先する場合は、エンコードすることができます。あなたの暗号文がBase64で、16進数でエンコードされていないようです。しかし、それは暗号の選択から独立した選択です。入力は、6ビットの倍数でない場合

Base64では、データを符号化するために、すべてのASCII文字と数字ならびに+/を使用し、パディングとして=

+0

3DESmと呼ばれる暗号化方法は知っていますか? 3DESmについて語るGoogleからのリンクがあります。 http://www.ehow.com/how_7182202_encrypt-file-php.html しかし、それはPHPについて語っており、私のプログラムはC言語の大きなプログラムの一部でなければならないので、C言語のプログラムにしたい。 – Manas

+1

@Manas Itタイプミスのように見えます。 'm'と'、 'はキーボード上で隣り合っているので、偶然に作者が' m'を打つ可能性があります。 – CodesInChaos

+0

これが宿題でない場合は、なぜAESを使用していないのですか?この例ではECBモードを使用していますが、これは避けるべきです。 – CodesInChaos

関連する問題