<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>暗号</title><link>http://blogs.wankuma.com/yamada/category/1517.aspx</link><description>暗号関係</description><managingEditor>やまだ</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>やまだ</dc:creator><title>暗号の話（６） － DES の後継</title><link>http://blogs.wankuma.com/yamada/archive/2007/12/18/113407.aspx</link><pubDate>Tue, 18 Dec 2007 03:56:00 GMT</pubDate><guid>http://blogs.wankuma.com/yamada/archive/2007/12/18/113407.aspx</guid><wfw:comment>http://blogs.wankuma.com/yamada/comments/113407.aspx</wfw:comment><comments>http://blogs.wankuma.com/yamada/archive/2007/12/18/113407.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yamada/comments/commentRss/113407.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yamada/services/trackbacks/113407.aspx</trackback:ping><description>&lt;p&gt;あー、お久しぶりです。ほぼ一カ月ぶりですね。前回の暗号の話からすると、さらに。&lt;/p&gt; &lt;p&gt;まあ、平日は会社から真夜中に帰って疲れきってて、休日は文字通りひっくり返ってましたので、いつエントリ書くんだ、という状態だったわけですが……。&lt;br&gt;まあ、そういうことをいつまでも、ぐだぐだぐだぐだぐだぐだぐだぐだぐだぐだぐだぐだぐだぐだぐだぐだ言ってても、しかたありませんので、今回、軽めにさくっとあげてみます。&lt;/p&gt; &lt;p&gt;では、DESの続きです。共通鍵暗号の話をまず終わらせてしまいましょう。&lt;br&gt;＃今回だけ読むとよくわからんですね(^^;&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/12/17/DES_139D1/311.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="304" alt="3-11" src="http://yamada.wankuma.com/2007/12/17/DES_139D1/311_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;しかし、コンピュータの高速化等の要因により、DESだけでは暗号として非力とみなされるようになってきました。&lt;br&gt;そこで、DES を若干改良した暗号方式として3DESが用いられるようになってきました。しかし、この3DESは暗号アルゴリズムとしては、目新しいものではありません。DESをそのまま拡張したものとなっています。&lt;br&gt;3DESでは、DESに比べ鍵の長さは2倍の128ビットとなります。この鍵の前半、後半でそれぞれDESによる暗号化・復号を繰り返します。&lt;br&gt;3DESは独立した暗号アルゴリズムというより、DESを利用したマクロ定義といった方が近いかもしれません。&lt;br&gt;また、2DES でなくていきなり3DESになっているのは、2DESだと単なるDESよりも安全性が低くなることが立証されているから、ということだそうです。  &lt;p&gt;しかし、いつまでも3DESというのも、という風潮の中、DESに変わる暗号の標準を定めようという動きが生まれました。それがAESです。で、この時点でAESの暗号アルゴリズムは決まっていませんでした。&lt;br&gt;次期標準AESたるに相応しい暗号アルゴリズム、ということで公募がかかり、最終的に採択されたのがRijndael（カタカナで書くと「ラインダール」）暗号となります。  &lt;p&gt;では、共通鍵(Common Key)暗号方式についてはここまでとし、暗号と一緒に用いられることの多いハッシュについて述べ、その次に公開鍵暗号方式に入ることといたしましょう。  &lt;p&gt;＃AESをこんなにさくっと流して良いのか、ってな話もありますが。 &lt;/p&gt; &lt;p&gt; ここまでのデータは、&lt;a href="http://yamada.wankuma.com/2007/12/17/3_%E6%9A%97%E5%8F%B7.ppt"&gt;こちら&lt;/a&gt;。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yamada/aggbug/113407.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やまだ</dc:creator><title>暗号の話（５） － DES です</title><link>http://blogs.wankuma.com/yamada/archive/2007/11/05/105903.aspx</link><pubDate>Mon, 05 Nov 2007 00:51:00 GMT</pubDate><guid>http://blogs.wankuma.com/yamada/archive/2007/11/05/105903.aspx</guid><wfw:comment>http://blogs.wankuma.com/yamada/comments/105903.aspx</wfw:comment><comments>http://blogs.wankuma.com/yamada/archive/2007/11/05/105903.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yamada/comments/commentRss/105903.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yamada/services/trackbacks/105903.aspx</trackback:ping><description>&lt;p&gt;＃随分間があいてしまいました。覚えている人がどれだけいるかは別として続けます。&lt;br&gt;＃あ、10月のページビューは5878件でした。他の人と比べたらどうということはない数字かもしれないけれど、わたし的には月間最高記録だったのでよしとしましょう。その代わり、最低記録を更新した日もあったことだし(T^T)&lt;/p&gt; &lt;p&gt;ですDES。もとい、DESです。&lt;/p&gt; &lt;p&gt;では、共通鍵暗号（対称鍵暗号とも言うらしい）の一つとしてDESを紹介します。まず、DESの特徴です。&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/11/04/DES_16E4/39.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="304" alt="3-9" src="http://yamada.wankuma.com/2007/11/04/DES_16E4/39_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;ここではアルゴリズム自体の説明は省略します。どこかでフローチャート見ればそれ以上特に説明はいらないと思いますし、それ以上の説明もできません。&lt;/p&gt; &lt;p&gt;共通鍵暗号の性格として、DESでは暗号化の鍵と復号の鍵が同一になっています。暗号化した鍵でないと復号することはできません。このときに利用される鍵は、64ビットの長さが必要です。ただし、8ビットはパリティとして使われるので、実質は56ビットしか利用されてはおりません。&lt;/p&gt; &lt;p&gt;また、DESはブロック暗号と呼ばれる種類の暗号でもあります。ブロック暗号とは一定の単位で暗号化を行うものです。DESでは鍵の長さと同じ64ビット単位で暗号化を行います。この変換の際には、S BOX と呼ばれるアルゴリズム内部で持つ変換テーブルを利用します。このテーブルを利用して、暗号化時にはデータを入れ替えるわけですが、当然ながら復号時にはその逆の形で入れ替えを行うことになります。&lt;br&gt;つまり、暗号化と復号のロジック自体が対称となります。ですので、DESの「復号」を利用して暗号化を行ったものを、「暗号化」で復号することもできるわけですね。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;では、DESは 64ビット以上のデータを暗号化できないのか、というと、そんなことはありません。繰り返して使えば良い訳ですね。&lt;br&gt;しかし、その繰り返し方にもいろいろあります。ここでは、そのうち代表的な二つの例を示します。&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/11/04/DES_16E4/310.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="304" alt="3-10" src="http://yamada.wankuma.com/2007/11/04/DES_16E4/310_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;ECB モードは、その名のとおり単純に対応表を引いていく形式です。&lt;br&gt;64ビット単位で暗号化・復号を順に行っていきます。64ビット単位で独立に暗号化・復号を行いますので、64ビットのブロック単位であれば、どの部分からでも暗号化・復号は可能です。&lt;br&gt;また、DESアルゴリズム自体には乱数要素は存在しませんので、同じ平文の部位に対しては同じ暗号文が得られることになります。このため、同様のフレーズの繰り返しがある平文では差分解読に対する強度はあまり強くないと考えられます。&lt;/p&gt; &lt;p&gt;CBCモードは、上記の点から、もう少し解読を困難にしようとするものです。前ブロックの暗号化（復号）の結果を次ブロックの暗号化（復号）を行うための入力として引き継ぎます。&lt;br&gt;このため、平文上で同じフレーズであったとしても、その前までのブロックでの暗号化の結果によって暗号文はまったく異なったものとなります。&lt;br&gt;これだけでは、先頭ブロックは、その前のブロックが存在しませんので常に同じ結果になります。そのため、CBCモードでは初期ベクトル(IV)というもので、擬似的に前ブロックまでの暗号化結果を指定できるようになっています。&lt;br&gt;復号の際は、この逆で、前のブロックまでの影響を排除しながら復号を行っていくこととなります。このため、データの途中からの復号ということができません。暗号化データが途中で壊れていると、そこから先は復号が不可能となります。&lt;br&gt;これにより、同じ平文を元にしても暗号文が異なりますので、差分による解読もより困難になるというわけです。&lt;/p&gt; &lt;p&gt;では、DES で強度的に十分なのか、というと現在ではそうもいえなくなってきています。&lt;br&gt;次回はさらっと Triple DES の話と、AES というものがあるよ、という話にしたいと思います。&lt;br&gt;＃ AES のアルゴリズム解説なんて、間違っても期待しないように。&lt;/p&gt; &lt;p&gt;ここまでのデータは、&lt;strike&gt;こちら&lt;/strike&gt;最新エントリにて。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yamada/aggbug/105903.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やまだ</dc:creator><title>暗号の話（４） － Alice と Bob の秘密の話、そして Carol が興味津々</title><link>http://blogs.wankuma.com/yamada/archive/2007/10/17/102444.aspx</link><pubDate>Wed, 17 Oct 2007 00:14:00 GMT</pubDate><guid>http://blogs.wankuma.com/yamada/archive/2007/10/17/102444.aspx</guid><wfw:comment>http://blogs.wankuma.com/yamada/comments/102444.aspx</wfw:comment><comments>http://blogs.wankuma.com/yamada/archive/2007/10/17/102444.aspx#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yamada/comments/commentRss/102444.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yamada/services/trackbacks/102444.aspx</trackback:ping><description>&lt;p&gt;＃風邪引いて寝込みながら、こんなことをやっている自分に疑問を持たないでもなかったりしますが、そんなこたー置いといて。&lt;/p&gt; &lt;p&gt;では、そろそろ暗号の使われ方の話でも。&lt;/p&gt; &lt;p&gt;＃忘れた頃にやってくる？&lt;/p&gt; &lt;p&gt;と、そういうわけで共通鍵暗号方式の話です。（どーゆーわけだ？）&lt;/p&gt; &lt;p&gt;英文を直訳すると秘密鍵暗号とでもよぶべきところですが、ここでは共通鍵暗号と呼ぶことにします。後で出てくるprivate keyと紛らわしくなるからです。&lt;/p&gt; &lt;p&gt;共通鍵暗号とは、ざっとこの図に示したような方式です。一般的な暗号のイメージ通りですね。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;a href="http://yamada.wankuma.com/2007/10/16/3b7aa8160b84_1277B/37.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="304" alt="3-7" src="http://yamada.wankuma.com/2007/10/16/3b7aa8160b84_1277B/37_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;暗号の世界で登場する人は順に Alice、Bob、Carol、Dave、Ellen と相場が決まっているようなので、慣習に倣ってみました。まぁ、名前と絵が合ってないようにも思えますが、気にしないように（笑）。&lt;/p&gt; &lt;p&gt;Alice は Bob に対して、他の人には秘密の連絡をしたかったとします。このために Alice は連絡内容を記した書面を暗号化します。この書面は Bob に渡されるまでは暗号化されています。&lt;/p&gt; &lt;p&gt;ですので、郵便配達人を装った Carol がそれを覗き見たとしても、その内容を知ることはできません。復号に利用するための鍵は、Alice と Bob しか持っていないのですから。&lt;/p&gt; &lt;p&gt;暗号化された書面を受け取った Bob は、Alice から事前に受け取っていた鍵を利用して書面の復号を行います。これにより、Alice と Bob は秘密を共有することができるようになる、というわけです。&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/10/16/3b7aa8160b84_1277B/38.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="304" alt="3-8" src="http://yamada.wankuma.com/2007/10/16/3b7aa8160b84_1277B/38_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;以上から、共通鍵暗号方式の特徴をざっと整理してみます。&lt;/p&gt; &lt;p&gt;これは、暗号化に用いる鍵と復号に用いる鍵が共通、ということで、シンプルに実現が可能な方式です。そのため比較的高速な処理が可能になっています（何に比べて、という話は後述します）。&lt;/p&gt; &lt;p&gt;また、当たり前ですが、鍵を持っていない第三者に対しては、情報は秘匿されます。&lt;/p&gt; &lt;p&gt;それに対し、課題としては鍵の管理が挙げられます。Alice と Bob が鍵までも人を介してやりとりしたとすると、そこで鍵が漏れてしまうかもしれません。そうすると、以降、すべての情報が Carol に筒抜けになってしまうリスクがあります。&lt;/p&gt; &lt;p&gt;ですので、基本的に郵便を利用したやりとりをする場合でも、鍵だけは直接対面して手渡しなどの運用をする必要があるわけです。&lt;/p&gt; &lt;p&gt;さらに問題が複雑になるのは、三者以上で情報を共有する場合です。&lt;/p&gt; &lt;p&gt;Alice と Bob の秘密のネットワークに Dave が加わったとします。そうすると、Dave とも鍵を共有しなければなりません。ここで、Alice と Bob がどれだけ厳密に鍵の管理を行ったとしても、Dave がうっかり Carol に鍵を漏らしたりすることが考えられます。そうすると、Carol が Alice から Bob に宛てた暗号文を読んだり、Bob を装って Alice に暗号文で書面を送ったりすることも可能になります。&lt;/p&gt; &lt;p&gt;ですので、共通鍵暗号は基本は１対１で使用すべきものであり、対象を広げると信頼性は急激に低下することとなります。&lt;br&gt;では、どうすればよいか、という話ですが、その前にこの共通鍵暗号の代表である DES について触れてみたいと思います。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ここまでのPowerPointデータは&lt;strike&gt;こちら&lt;/strike&gt;最新エントリ&lt;/a&gt;です。&lt;br&gt;では、次回はDESです、ということで。&lt;/p&gt; &lt;p&gt;＃さぁて、このペースでいつ終わるんだろうかなぁ。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yamada/aggbug/102444.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やまだ</dc:creator><title>暗号の話（３） － 始まったばかりで、なんで解読の話してんのさ？</title><link>http://blogs.wankuma.com/yamada/archive/2007/10/08/100496.aspx</link><pubDate>Mon, 08 Oct 2007 20:46:00 GMT</pubDate><guid>http://blogs.wankuma.com/yamada/archive/2007/10/08/100496.aspx</guid><wfw:comment>http://blogs.wankuma.com/yamada/comments/100496.aspx</wfw:comment><comments>http://blogs.wankuma.com/yamada/archive/2007/10/08/100496.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yamada/comments/commentRss/100496.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yamada/services/trackbacks/100496.aspx</trackback:ping><description>&lt;p&gt;つーことで。　＃でも、さぁ暗号だっ、ていっていきなり群論の話とかされるよりは良かない？&lt;/p&gt; &lt;p&gt;＃あぁ、そーいえば 9 月のアクセス総数は 4,272 だったですよ。さらに落ち込んでますなぁ……。&lt;br&gt;＃と、私まで落ち込んでもしかたないので、まぁぼちぼちといきますか。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;閑話休題。&lt;/p&gt; &lt;p&gt;で、私みたいな素人は思うわけですよ。&lt;/p&gt; &lt;p&gt;AES とかなんだかよくわかんない暗号方式ならべなくたって、換字レベルで問題ないんじゃないの？単純にスライドさせてるだけならともかく、置き換える文字をシャッフルした対応表があれば誰にもわかんねんじゃね？&lt;/p&gt; &lt;p&gt;って。&lt;/p&gt; &lt;p&gt;今回は、いやいやそれじゃ足りませんって、という話です。&lt;/p&gt; &lt;p&gt;で、まず解読手法についてなんですが、&lt;/p&gt; &lt;ul&gt; &lt;li&gt;パスワード総当り方式っ！  &lt;li&gt;ソーシャルエンジニアリングっ！&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;とかってのは、対象外とします。&lt;/p&gt; &lt;p&gt;そもそも私の知っている範囲では「暗号」自体には「パスワード」の管理は含まれていないし、パスワード入力中の手元を覗き込まれたらどんな強固な暗号方式でも意味ないですわなぁ。&lt;/p&gt; &lt;p&gt;＃あ、パスワードチェックについてはそのうち書くかも。&lt;/p&gt; &lt;p&gt;では、今回の本題（前フリが長いって）。&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/10/08/5375f58f47ec_B352/35.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="304" alt="3-5" src="http://yamada.wankuma.com/2007/10/08/5375f58f47ec_B352/35_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt; ＃わー、文字がいっぱい……ってそんな話じゃないっ！&lt;/p&gt; &lt;p&gt; 実は先に示した例を簡単に使っただけでは、解読は比較的容易なのです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;まず一つ目は、文字頻度を分析する方法です。これは、単純な換字の暗号化に対して有効な方法です。&lt;/p&gt; &lt;p&gt;単純な暗号文の例で説明してみます。ここに挙げたのは、短文を３つほど並べた例です。簡略化のために句読点や空白は削除しており、大文字小文字の区別はしておりません。&lt;/p&gt; &lt;p&gt;で、この暗号文だけでも、文字の使われ方に偏りがあることがわかります。&lt;/p&gt; &lt;p&gt;ここで、元の平文が英文であることがわかっているとしますと、文字の使用頻度を元にした解析が可能です。普通の英文で考えると子音に比べ母音の使用頻度が高いはず。そう考えると、かなりの確率で対応する文字を予想することができます。&lt;/p&gt; &lt;p&gt;ある程度予測がつくと、穴埋めパズル的に前後を埋めていける、というわけです。&lt;/p&gt; &lt;p&gt;＃この解読方法そのままのネタが使われた有名な推理小説があったりします。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;方法の二つ目としては、差分を基にした解読、というのがあります。&lt;/p&gt; &lt;p&gt;同じ暗号アルゴリズムを使用した暗号文を複数入手した場合、その暗号を見比べてみる（差分をとる）という方法が使えます。&lt;/p&gt; &lt;p&gt;示した例ではすべての文字が一定幅でずれています。個々の例で解読する努力をしなくとも、これだけでシーザー暗号であることがわかってしまいます。&lt;/p&gt; &lt;p&gt;同じ平文を基にした暗号文を複数入手することなどあまりないとはいえますが、メール等では「お世話になっております。」などの定型文が含まれていることはよくあります。その部分だけ比較すると解読のきっかけとなりえます。&lt;/p&gt; &lt;p&gt;シーザー暗号に限らなくとも、差分をとることでその暗号アルゴリズムを癖をみつけ、それが解読につながることがあるそうです。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;以上より、単純な換字や転置では結構簡単に解読されてしまいます。ですので、これらを組み合わせ、より複雑な形でいろいろなアルゴリズムが提案されたり使用されたりしているわけです。&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/10/08/5375f58f47ec_B352/36.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="304" alt="3-6" src="http://yamada.wankuma.com/2007/10/08/5375f58f47ec_B352/36_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;暗号は解読が難しければよいというものではありません。その性格から、CPUとメモリ容量には負荷がかかります。実時間で暗号化・復号ができないようでは実用に耐えません。&lt;/p&gt; &lt;p&gt;ですので、最適な暗号方式といっても一意に決定できるようなものではなく、使用できるＨＷや利用される局面によって変わることになります。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ここまでの PowerPoint データは&lt;strike&gt;こちらです&lt;/strike&gt;最新エントリにて。&lt;/p&gt; &lt;p&gt;では、次回は共通鍵暗号方式についてです。&lt;/p&gt; &lt;p&gt;＃英語の直訳だと secret key=秘密鍵 ですが、後々 private key と混乱するのであえて共通鍵と書いています。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yamada/aggbug/100496.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やまだ</dc:creator><title>暗号の話をしてみんとぞ思ふ（２） －序論：暗号とは？</title><link>http://blogs.wankuma.com/yamada/archive/2007/10/04/99571.aspx</link><pubDate>Thu, 04 Oct 2007 03:23:00 GMT</pubDate><guid>http://blogs.wankuma.com/yamada/archive/2007/10/04/99571.aspx</guid><wfw:comment>http://blogs.wankuma.com/yamada/comments/99571.aspx</wfw:comment><comments>http://blogs.wankuma.com/yamada/archive/2007/10/04/99571.aspx#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yamada/comments/commentRss/99571.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yamada/services/trackbacks/99571.aspx</trackback:ping><description>&lt;p&gt;みんな来ない？僕も行くよー（ＴーＴ）&lt;br&gt;明後日だよー。&lt;/p&gt; &lt;p&gt;＃パクリもたいがいにしろって話ですね。はい、すみません。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;まずは何かしら始めてみないと、ということで軽いネタフリから。というかいきなりそんなに進まねーよorz&lt;br&gt;＃あ、繰り返しますが、専門ではないので「違ってるよ！」という向きには逆にご指導いただけると幸いです。&lt;/p&gt; &lt;p&gt;では、ざっと暗号とは何かについて整理してみましょう。&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/09/30/5496b6a2996f_2C7F/33.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="3-3" src="http://yamada.wankuma.com/2007/09/30/5496b6a2996f_2C7F/33_thumb.jpg" width="324" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;暗号の元になる生のデータを一般に「平文（ひらぶん）」と呼ぶようです。この辺は Plain Text の直訳っぽいですね。&lt;br&gt;一方、解読を困難にした方のデータを「暗号文」と。「文」じゃないだろうって話もありますが、この辺は歴史的経緯によるものかもしれません(コメント参照)。&lt;br&gt;で、平文を暗号文に置き換えることを、「暗号に変える」 ということで「暗号化」と呼びます。&lt;/p&gt; &lt;p&gt;その逆で暗号文を平文に「戻す」ことを「復号」と呼びます。復号というものに変えるわけではないので「復号化」とは呼びません。&lt;/p&gt; &lt;p&gt;同じ鍵で暗号化しても暗号アルゴリズムが違えば、まったく異なるデータができあがりますし、暗号アルゴリズムが同じでも鍵が違えばやはり異なるデータができあがります。&lt;br&gt;暗号アルゴリズムと鍵のペアで、暗号化・復号の処理は決定される、といえます。&lt;/p&gt; &lt;p&gt;データ圧縮は、鍵のない暗号化といえるかもしれません。&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/09/30/5496b6a2996f_2C7F/34.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="3-4" src="http://yamada.wankuma.com/2007/09/30/5496b6a2996f_2C7F/34_thumb.jpg" width="324" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;基本的な暗号の原理として２つのパターンが考えられます。&lt;br&gt;＃さあ、この辺からだんだん独断が入ってきましたよー。&lt;/p&gt; &lt;p&gt;「換字」は単にデータの置き換えです。例では、３文字分後ろにずらした文字で置き換えてます。復号時には、３文字分前にずらした文字で入れ替えればよいわけですね。別に固定幅でずらすんでなくても、一定周期でずらし幅を変えたり暗号表を利用したりしてもよいわけです。&lt;/p&gt; &lt;p&gt;「転置」はデータの順番自体を入れ替えるものです。例では、全データを逆順に並べ替えています。もう一度同じ処理を行うと元に戻りますね。数文字単位でブロックに分け、それごとに規則性を持たせた入れ替えを行う、というのでもよいですね。&lt;/p&gt; &lt;p&gt;で、暗号は、基本的にこの二つの組み合わせからなるわけです（……本当か？）&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;次回はこの性格から、暗号の特徴と解読の容易性について簡単に騙ってみたいと思います。&lt;/p&gt; &lt;p&gt;＃このペースではいつになったら終わるんだろ……。ストックなしの状態からはじめるもんじゃないなぁ。でも、ストック作ってからと思うと決して進まない罠。&lt;/p&gt; &lt;p&gt;あ、&lt;strike&gt;ここまでの&lt;/strike&gt;データは&lt;strike&gt;こちら&lt;/strike&gt;最新エントリからどうぞ。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yamada/aggbug/99571.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>やまだ</dc:creator><title>暗号の話をしてみんとぞ思ふ（１）</title><link>http://blogs.wankuma.com/yamada/archive/2007/09/30/98786.aspx</link><pubDate>Sun, 30 Sep 2007 22:34:00 GMT</pubDate><guid>http://blogs.wankuma.com/yamada/archive/2007/09/30/98786.aspx</guid><wfw:comment>http://blogs.wankuma.com/yamada/comments/98786.aspx</wfw:comment><comments>http://blogs.wankuma.com/yamada/archive/2007/09/30/98786.aspx#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://blogs.wankuma.com/yamada/comments/commentRss/98786.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/yamada/services/trackbacks/98786.aspx</trackback:ping><description>&lt;p&gt;♪みっくみくにしてやんよー、ってちょっと壊れ気味の（っていうか、壊れきっている）やまだです。&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.wankuma.com/youryella/"&gt;ダッチさん&lt;/a&gt;のところで「&lt;a href="http://blogs.wankuma.com/youryella/archive/2007/09/05/94228.aspx"&gt;空文字を暗号化すると・・・どうなる？&lt;/a&gt;」とか、 &lt;a href="http://blogs.wankuma.com/naoko/"&gt;なおこ(・∀・)さん&lt;/a&gt;のところで「&lt;a href="http://blogs.wankuma.com/naoko/archive/2007/09/28/98521.aspx"&gt;MD5 の実装について調べてみた&lt;/a&gt;」 とか読んでいるうちに、ふつふつと湧き上がってくるものが……。&lt;br&gt;これはオブ熱ならぬ暗号熱か、ということで勝手にひとり勉強会を立ち上げようかな、と。どうせなら、この際ある程度まとめてみようかな、と思ったり。&lt;/p&gt; &lt;p&gt;で、こんな感じで資料を書き始めてみました。いーのか、勝手にこのテンプレート利用して。&lt;br&gt;＃やめとけ、と、ストップかけるなら今のうちですよー。　＞　自分も含めて&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/09/30/f2fe8a7f96b7_A9E5/31.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="304" alt="3-1" src="http://yamada.wankuma.com/2007/09/30/f2fe8a7f96b7_A9E5/31_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;あ、別に専門家ってわけでもないので、その辺は期待しないように。&lt;br&gt;というか、ちゃんと知りたい人はその辺の本を読むなり、検索なりかけた方が早いと思わないでもなかったり。 &lt;br&gt;まぁ、ついでに誰かの役に立てばよいのかな、と。まぁ、単なる自己満足なんですが。&lt;/p&gt; &lt;p&gt;とりあえず今回は目次案まで。&lt;/p&gt; &lt;p&gt;&lt;a href="http://yamada.wankuma.com/2007/09/30/f2fe8a7f96b7_A9E5/32.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="304" alt="3-2" src="http://yamada.wankuma.com/2007/09/30/f2fe8a7f96b7_A9E5/32_thumb.jpg" width="404" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ってな感じでどうでしょう。あ、感覚ベースであまり硬いものにするつもりはないです。&lt;br&gt;リクエストがあっても応えられるかどうかはわかりませんが、まぁ、ぼちぼちとやってみようかと。&lt;/p&gt; &lt;p&gt;真面目な話、暗号の専門家はいきなり高度な話をする傾向があるので、会話そのものが暗号化されている感があるんですよねー。&lt;br&gt;実際に、そういう人と他の技術者との通訳みたいなことをする必要があったりするので。&lt;/p&gt; &lt;p&gt;一般人の目線からちょっと騙ってみようかな、と。&lt;br&gt;そーゆーわけですので、正確さは後回しということで。&lt;br&gt;＃「いやいや、そーじゃないぞ」という場合には差し替え原稿をいただければ幸いです。&lt;/p&gt; &lt;p&gt;んでは。&lt;/p&gt; &lt;p&gt;＃次はいつになるかなぁ……。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/yamada/aggbug/98786.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>