2011-03-14 37 views
1

私は全く新しい暗号化ですので、この質問は簡単かもしれませんが、基本的な用語でさえも理解するには2時間Googleを使わなければなりませんでした。RubyでRijndaelの暗号化

送信する必要がある文字列は、暗号化されたJSONオブジェクトのBase64エンコードされた文字列です。ここで彼らが私を送ったスペックです:

  • 暗号化方式:ラインダール
  • 暗号モード:CBC
  • パディングモード:PKCS7
  • 我々は、カスタムBase64EncodedキーとIVを提供します。

私はcryptのRijndaelアルゴリズムをチェックしましたが、IVをどこに接続するのか分かりません... CBCとPKCS7がデフォルトであるかどうかわかりません - そうでない場合は、だから... ...どちらか

をこれらの変更:

  • が簡単にこのようなものをサポートするように変更クリプトことはできますか?
  • 暗号知識の完全な欠如が適切な使用を許可していないだけで、すでにそれをそのままサポートしているのでしょうか?
  • 上記のいずれでもない場合は、Rubyでこれを行うことは可能ですか?

答えて

3

私はかなり彼らが本当にRijndaelを使うのか疑いがあります。彼らはAESを使用する可能性が高い(これはRijndaelのサブセットであり、128ビットブロックサイズが固定され、3つの標準化されたキーサイズ(128,192および256ビット)のみ)。ブロックサイズとキーサイズを指定しなければ、とにかく確かめることはできませんが、おそらくAES-128と見なすことができますが、仕様は不完全です。

IVは、暗号アルゴリズムに関連するものではなく、CBCのチェーンモードに関連しています。

AES、CBC、PKCS7はRubyでOpenSSLで利用できますが、あまり問題にはなりません。

編集:これは今ルビーに含まれているHow to decode Rijndael in ruby (encoded in VB.net)

0

Crypt::Rijndael

と復号化を行うことができます:彼らはラインダールを使用する考えの人々は、私は、彼らがその質問には、あなたの問題を解決する必要があり、その場合には、.NETを使用して考えさせますRijndaelの簡単に。