• 締切済み

C#での暗号化(AES)

初めてのプログラミングにて不明な部分があるので 知恵を貸して頂けませんでしょうか。 現在、C#にて16進で生成された値を 指定秘密鍵を使用してAES暗号化を行たいです。 C#での暗号化のサンプルは多数Webにて見ましたが 指定秘密鍵を使用しての方法がどうしてもわからなくて困っています。 どなたかサンプルURL等ご存知でしたら教えて頂けませんでしょうか、 よろしくお願い致します。

みんなの回答

  • onos
  • ベストアンサー率81% (127/155)
回答No.1

検索で次のサンプルがみつかったけど、どうかな? http://hibara.sblo.jp/article/43505136.html

関連するQ&A

  • AES暗号方式について

    AES暗号化方式では,秘密鍵(共通鍵)を用いてランダムに生成したセッション鍵で暗号化し,さらにそのセッション鍵を暗号化する. 復号化する場合は,逆の手順で平文に戻す と認識しています. これを踏まえて以下の質問に回答いただけると幸いです. 1.上の認識は間違っていないでしょうか? 2.暗号文を復号するには,暗号化時に生成したセッション鍵の値と秘密鍵が必要であると言えますか? 3.秘密鍵が漏れなければセッション鍵が漏れても問題ありませんか? 以上,3点についてご教授いただけると幸いです. よろしくお願いします.

  • opensslを使ったAES暗号化について

    opensslを使ったAES暗号化について教えて下さい。 AESは「鍵とブロックの長さはそれぞれ128ビット、192ビット、256ビットの中から指定できる。」とありました。 opensslのAESを使って鍵長とブロック長をともに256ビットで暗号化したい場合どのようにすれば宜しいでしょうか。 openssl enc -e -aes256 -in original.txt -out crypted.txt 上記コマンドを打った場合 -aes256 というのがブロック長(256ビット)の指定と思っていますがあってますでしょうか? 残りの鍵長を256ビットにするというのは どのように指定すれば宜しいでしょうか。 何卒 宜しくお願い致します。

  • 暗号アルゴリズム(DES,AESなど)について

    研究室の課題で暗号アルゴリズム(DES,AESなど)の勉強中なのですが、 少し分からないことがあるのでお詳しい方いらっしゃいましたら教えてください。 まず、DES, 3DES, AESのECBモードで暗号するときを考えます。 入力データ長と出力データ長が同じで、カギを変えない場合に 入力データと出力データは1対1になるのでしょうか? カギを変えずに、異なる入力データから同じデータが出力されることがあるかどうか知りたいです。 また、ある固定バイトのデータを同じ長さのデータに暗号化するときに どのような暗号方式が考えられる(世間的に強力とされている)のでしょうか? たとえば、4バイトのデータを暗号化して4バイトのデータを生成するような場合です。 条件として異なる入力データからは同じ出力データが生成されることがないとします。 アドバイスでも良いです。お願いします。

  • java(1.4) 暗号化

    暗号化鍵が16byteの文字列ではなく 各byte10進数で表現された鍵を利用してAESの暗号化を実装する場合、 鍵はどう変換させて文字列に変えればいいでしょうか。 また、変える必要はなくそのまま利用するものなのでしょうか。 ネット上のサンプルを拝見しても、 全て鍵の文字列を利用してのサンプルであったため どのような考え方で実装できるのかかご教授宜しくお願いします。 参考URL:http://www.masatom.in/pukiwiki/Java/%B0%C5%B9%E6%B2%BD/

    • ベストアンサー
    • Java
  • 公開鍵暗号について

    暗号について勉強しています。 公開鍵暗号で公開鍵と秘密鍵を決められた方式で生成するとあるのですが、鍵を生成するための式はあるのでしょうか?

  • 公開鍵暗号方式について

    公開鍵暗号方式について調べてるのですがわからないことがいくつかありますので教えてください。詳細なところまでは必要ありません(というか理解できません。。)ので素人向けに概観をご教授いただければ大変助かります。 共通鍵を使った方式は鍵自体の受け渡しに問題があるので、公開鍵と秘密鍵という一対の鍵を用意し、公開された公開鍵で暗号化し、秘密鍵で複合化する。このとき、例えばRSAなら素因数分解を利用した、「秘密鍵から公開鍵の生成は容易だが公開鍵から秘密鍵を割り出すことは困難」という特性が公開鍵を公開しても安全であるという根拠になっている、と理解してます。 ここまでは納得できるのですが、「公開鍵で暗号化したものは秘密鍵でしか複合できない」という仕組みがまったくイメージできません。 送信側だけを考えると、単に与えられたある値(公開鍵)を使ってそれを暗号化してるだけですよね??それでは第3者に暗号分を盗聴されたら公開鍵とともに解析されて(暗号化のアルゴリズムが同じであれば)いずれバレてしまうような気がするのですが・・ もちろん送信者側が秘密鍵まで知っているのなら、「公開鍵で暗号化して秘密鍵でしか複合できない」ような暗号文を作ることは可能でしょうけど、公開鍵から秘密鍵を知ることはできませんもんね・・?? 以上、お暇なときでけっこうですのでよろしくお願いいたします。

  • AES(Rijndael)、繰り返し変換

    AES-128、AES-256、すなわち Rijndael(ブロック長128bit)おける鍵長効果について教えてください。 仮に256bitの鍵があるとします。 AES-256を単純に用いる以外に、鍵を 128bit に二分して、AES-128の変換操作を二重に適用する方法も考えられます。 総ラウンド数からすれば後者の方が多いですが、強度も期待のものとなるのでしょうか。 さらに512bitなどの鍵があり、128bitで四回操作すれば、それに見合う暗号強度が得られるのでしょうか。 例え四回操作しても、実は一回操作で到達できる(置き換えられる)等価な128bit鍵が存在するというのであれば、総当り攻撃に関して原理上の価値は無いことになります。 128bitブロックの全単射の関数は、2^128 の階乗 通りもあると思います。 この内、128bit 鍵で指定できるのは、高々 2^128 種類にすぎません。 一回の変換操作では、ごく限られた関数しか使用できていない事になります。 二回の変換操作をまとめて一つの関数と見なした場合、「いかなる値の128bit鍵をもってしても一回操作では置き換えられない関数」になっていると期待したいところです。 そうなら鍵長とともに単純に暗号強度が高まることになります。 しかしどんなに多くの変換回数を費やしても到達できない関数があるかもしれません。 Rijndaelの場合、多重変換で関数(写像)の種類は増すでしょうか、どのような飽和傾向があるのでしょうか。

  • 暗号化・復号化のアルゴリズムにはどんなものがありますか?

    Cでプログラミングを勉強しており、20文字ほどの文字列を暗号化・復号化するプログラムを考えていますが、ネットを検索しても暗号化アルゴリズムでなかなかいいものが見つかりません。 私のリクエストとしては ・暗号化対象は半角英数字、半角記号のみ。 ・単に文字コードを1つずつずらしたような簡単な暗号ではなく、複雑なアルゴリズムを使用したい。 ・アルゴリズムは複雑でもプログラムは簡潔にできるものがいい。(長くても数百行程度)。 ・アルゴリズム自体の仕様が公開されている。 ・アルゴリズムは数学式で表せるものがいい。 ・スーパーコンピュータを使わなければ解けないほど時間がかかる暗号化アルゴリズムでなくてもいい。 ・暗号化のライブラリファイルは使わず、自前で全部コードを書きたい。 ・公開鍵や秘密鍵を使わなくてもいい。 上記の条件を満たす暗号化アルゴリズムでいいものがありましたら、教えてください。 以上、よろしくお願いします。

  • JavaからVBScriptへのAES暗号化によるデータ渡し

    javaで作られたサイトからVBScriptで作られたサイトへサイレントログインするシステムを構築しています。 その際にログインIDをAES(キー長128bit、ECBモード)で暗号化し渡そうと考えています。 javaではCipherクラスで暗号化し、aspではCAPICOMで復号化しようとしているのですが、うまくいきません。 そもそも同じ平文と鍵で暗号化しても同じ暗号文になりません。(javaはbase64に変換しています。CAPICOMが間違っているような気はしているのですが、参考になるものが少なくて困っています。) CAPICOMはhttp://apis.jpn.ph/fswiki/wiki.cgi?page=ScrapCode%2FVBS%2FConvertのサンプル通りにやっています。 CAPICOMでもjavaでも同じ暗号化方式ならば同じ結果が返ってくるべきだと思うのですが、認識違いますか? どうすれば、同じ暗号文が取得できるのでしょうか? また、java-VBScript間のAES暗号でのデータ渡しについて、 違う方式で可能ならば教えてください。 よろしくお願いします。

  • 公衆でWPA2-PSK-AESは暗号化なしと同じ?

    最近のニュースで公衆無線LANで使用する場合、WPA2-AES-PSKであってもその安全性は暗号化なしやWEPと大差ないことを知りました。 あかの他人と暗号鍵を共用してるなんて初めて知りました。 EAPのほうはほとんど普及していのも全然知りませんでした。 公衆無線LANはWPA2なら安全とか言ってたメディアや詳しい人は相当数いたと思うのですがなんでそんな重要なことをずっと黙ってたんですか。 というかこんなのが現実なら公衆無線LANサービスが暗号化なしばっかりなのも、WPA2はPSKでは安全ではないのですから理に適っています。 安全なWPA2-AES-EAPはごく最近の発明なのですか。あっちはお金いくらぐらいするのですか。 どう解釈すればいいのかわかりません。 詳しい方がいたらお願いします。

専門家に質問してみよう