人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

AES(Rijndael)の暗号化をPERLのOne-Linerで書いたという記事/ページ(具体的なコードがあると直よいです)を探しております。英語でも構いません。宜しくお願いします。

●質問者: tuchida
●カテゴリ:コンピュータ 趣味・スポーツ
✍キーワード:ONE Perl コード 暗号 英語
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Iwa
●25ポイント

http://www.hatena.ne.jp/1098792890#

AES(Rijndael)の暗号化をPERLのOne-Linerで書いたという記事/ページ(具体的なコードがあると直よいです)を探しております。英語でも構いません。宜しくお願いします。.. - 人力検索はてな

Rijndaelのアルゴリズムまで1行ではムリなので。-Mでモジュール使ってます。

というか1行と呼ぶにはちと厳しい気も・・・

perl -MCrypt::Rijndael -e ”$cipher = new Crypt::Rijndael ’a’ x 32, Crypt::Rijndael::MODE_ECB; print unpack(’H*’,$cipher->encrypt(’hogehogehogehoge’));”

perl -MCrypt::Rijndael -e ”$cipher = new Crypt::Rijndael ’a’ x 32, Crypt::Rijndael::MODE_ECB; print $cipher->decrypt(pack(’H*’,’8e38f1a91764aeb48841737499c299a6’));”

上がECBモード、keyがaを32個でhogeを4つ繋げたものを暗号化

下はその逆(復号化)です。

◎質問者からの返答

回答ありがとうございます。大変申し訳ございませんが、この方法は自分も考えておりました。

AES暗号化に関する授業中に教授がボソリと「最近海外のニュースサイトで1行で暗号化したのを観たんだ」と言っていたのが気になったので。うーん。もしかしたら眉唾かもしれません。。。


2 ● walrus
●25ポイント

http://perldoc.jp/docs/modules/Crypt-Rijndael_PP-0.04/Rijndael_P...

Crypt::Rijndael_PP - RijndaelのPerl実装

それらしい記事を見つけられませんでしたし、Rijndaelを実装しているPure Perlのモジュールのソースを見てもOne-Linerだけでできるようには思えませんでした。

モジュールを使うのは可なのでしょうか?

モジュールを使ってよければ、リンク先のものを使って次のようなOne-Linerで良いと思います。

perl -MCrypt::Rijndael_PP -e ”print Crypt::Rijndael_PP->new(pack(’H*’,’1234567890ABCDEF’x4),MODE_CBC)->encrypt(’暗号化対象データ’)”

「’1234567890ABCDEF’x4」は256bitのキーとして用意した文字列です。

http://search.cpan.org/~delta/Crypt-Rijndael_PP-0.04/Rijndael_PP...

Crypt::Rijndael_PP - Perl implementation of Rijndael - search.cpan.org

本家CPAN上の同モジュールのページです。

sourceを見ていただくと、モジュール抜きでこれだけの作業をするOne-Linerが難しそうだと判断したのがお分かりいただけるかと思います。

◎質問者からの返答

ありがとうございます。

授業で実装に関するディテールを勉強したので「無理でしょう」と思ったのですが、上のも書きましたとおり、教授の一言で気になって、お尋ねした次第です。うーん。どうなんだろう。。。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ