• 締切済み

情報科学概論の暗号解読

・暗号の種類 -ステガノグラフィー 換字法 文字単位に置換 -シーザーシフト暗号 -暗号アルファベットの作成 よく分からないのでわかることがありましたら なんでもいいので教えてください。

みんなの回答

回答No.2

これはそもそもの暗号の目的から理解が必要です。簡単に言えば暗号は「部外者が理解できなければどんな方法でも良い」ものです。スガノグラフィーは、そもそも相手に伝えるべきメッセージを簡単には気づかない場所に仕込む行為です。マイクロドットとか透明インクが有名です。また、文章が見つかっても読み方が分からない人には読めないようにするのがクリプトグラフィー、つまり普通の意味での「暗号」です。 換字法は、たとえばaという文字はhにする、bという文字はkにする、…といった規則で元の文を書き換える方法です。これともう一つ、転置法という文字の順番を入れ替えてもとの文を書き換える方法がよく組み合わされます。これらの方法をまとめてスクランブルと呼ぶこともあります。 シーザーシフト暗号は、アルファベットをabc順に並べて、暗号文は3文字後ろのアルファベットに書き換えて作る方式と考えられています。ただし、シーザーシフト暗号を直接解説した文献はすでに存在しないので、その文献を紹介した文献の記述から推測している微妙な二次資料の記述なので注意が必要です。 暗号アルファベッは、おそらくシーザーシフト暗号の拡張で、アルファベットのずらす数を1ずつ増やしていった26種類すべてをまとめた表を指すと思います。シーザーシフト暗号と関係ないなら、換字法のアルファベットの交換情報を一覧表にしたものだと思います。 なお、ここで取り上げたのはすべて古典暗号という方法で、このあと換字法の実習があると思います。頻度分析を使って単アルファベット暗号やヴィジュネル暗号を解読したり、本を鍵にするビール暗号をやったりすると思います。そして古典暗号の最後にワンタイムパッドと、機械暗号のエニグマをやって、現代の暗号の基本である鍵配送問題とRSAなどの公開鍵暗号をやって、最後に量子通信をやると思います。予習しないとひどい目に遭うと思うので、軽く調べてから講義に臨むことをお勧めします。

全文を見る
すると、全ての回答が全文表示されます。
  • ballville
  • ベストアンサー率47% (233/487)
回答No.1

関連するQ&A

  • 江戸川乱歩の「暗号記法の種類」についての質問

     主に暗号の「寓意法」や「置換法・媒体法」の件で質問です。  江戸川乱歩の「続・幻影城」に載っている「暗号記法の種類」を読んでみましたが、その中にある「寓意法」ってのが、よく分からないのです。これってどういう暗号なんですか。  とりあえず十一例あるうちの一つである「黄金虫」(エドガー・アラン・ポー)を読書してみたものの、薄っすら分かりそうにはなりましたが、やっぱり『うん? つまり寓意法って何?』という始末です。  つまり「解法がフニャフニャでしっかりしていない暗号」なのか「自分一人にしか通じない暗号」なのか分からないのです。それとも両方の解釈のどちらもが間違ってるのでしょうか? う~ん……  それに「黄金虫」でウィリアム・ルグラン君は「低能な人間の知能や心理に合わせた推論」で見事に謎解きしてみせてますが、こんなのどうやって解けばいいんでしょう? こういうのを紐解く秘訣って何でしょうね?  「暗号記法の種類」に話を戻しますが「置換法」と「媒体法」の違いも不明瞭です。特に置換法の中にある「窓板法」と媒体法との差が理解できません。この「置換法と媒体法の違い」とは何なのでしょうか?  あと寓意法についてなんですけど、この暗号を作成する時のコツを教えてくれませんか?  このタイプの暗号を作ってみようかと思っているのですけれど、頭が固いせいか、どうにもこうにも一歩踏み出すことすら叶わないのですよ(寓意法がどんな暗号なのかハッキリ分かってないくせに〔笑〕)。  だから皆さんの知恵でわたくしの石頭を溶かしてほしいのです! ……いや、頭が溶けそうになってるってことは、暑さでボーッとしている訳だから余計不味いのですよね(笑)。えっと、柔らかくして下さいませ。  ちなみに「黄金虫」の感想も、無理して答えなくて良いのですが、皆さんからの忌憚のない評価を聞いてみたいです。私にはいまいちパッとしない作品でしたので(汗)。もう一度いいますが、書きたくないなら書かなくても構いません。  質問を整理しましょう。このどれか一つしか回答をしないというのでもOKであります! ◆質問1.寓意法という暗号は何なのか? ◆質問2.寓意法暗号を解くための神髄とは? ◆質問3.置換法と媒体法の差異は? 特に窓板法を重点に置いた説明を所望 ◆質問4.寓意法を利用した暗号作成のコツ ◆質問5.皆さんの「黄金虫」の感想(注:無理はしなくて良し)  回答を心よりお待ちしております。

  • プログラミング シーザー暗号 複合化 C言語

    プログラミング シーザー暗号 複合化 Linux C言語 シーザー暗号を複合化するプログラムを教えてください! 大文字と小文字が混合の文字列で3つずらして複合化したいです 文字数が28字などでは収まらないくらいあります それをふまえたプログラムを教えてください よろしくお願いします

  • シーザー暗号

    シーザー暗号を解読するプログラムを作るのですが、そもそもプログラムをつくる前に課題のSURJUDPが何文字前後にずらしてるのかわかりません。 どなたか解読いただけないでしょうか。

  • どうやって暗号化しているか分かりません

    あるホームページのツール(PHPで作られています)で、 「1234567890」を暗号化すると「MTIzNDU2Nzg5MA」に変換されるのですが、どの関数を使用して暗号化しているか分かりません。 ランダム生成ではなく固定のようですがMD5などとはまったく違う暗号なので・・ どなたか分かる方いませんでしょうか?回答宜しくお願いします。 また他の文字列も暗号化してみましたがどの文字列も変換するとアルファベットの大文字小文字が非常に多くなります。

    • ベストアンサー
    • PHP
  • c言語での暗号

    先日友人からc言語で暗号が作れるという話をききました シーザー暗号なんかもすごい興味深いなと思いました でも3文字ずらす(合ってましたっけ)程度じゃすぐ解読されちゃうと思うんですよね そこで思ったのですが 何文字目は何文字ずらすみたいな暗号プログラムは作れたりするのでしょうか? たとえば「goo」だったら 1文字目のgは1文字ずらしてh 2文字目のoは2文字ずらしてq 3文字目のoは3文字ずらしてr 「goo→hqr」といったような感じです。(zはaに戻るとします 「zzz→abc」) 調べてみたのですが http://okwave.jp/qa/q3483673.html は可能だったのでうまく応用すればできるのかなと思いました。 実は友人はまだc言語習いたてみたいで、わからないといっていたのでここで質問させていただきました。 もしよろしければそのプログラムを教えていただけないでしょうか。

  • プログラムの暗号化とクラッキング

    プログラムを暗号化する際、どのような種類の暗号化がありますか? 例えば置換暗号、という感じです たくさん種類があるなか、どんなものが難しいと言われるのでしょうか あと、暗号化されたプログラムを暴いて攻略すればハッキング(クラッキング)になりますか? ハッキング(クラッキング)の手順というか流れも教えてくれると助かります というか、コンピュータセキュリティは暗号化と同じですか? 自身は本当にプログラミングが苦手でして  ハッキングする気も出来る技能もないのですが学んで少し気になりました よろしくお願いします

  • c言語 暗号化のプログラム

    大文字アルファベットの文字列を暗号化するプログラムを作りたいのですが、どうやったら暗号化するのかわかりません。 暗号化は文字をずらして行います。 ABC→BDF Aは1文字目なので一文字ずらしてB Bは2文字目なので二文字ずらしてD Cは3文字目なので三文字ずらしてF わからないのは文字のをどうやってずらすのかです。 ヒントだけでもいいので・・・

  • RSA暗号化の方法(具体的に)

    C++で、あるファイルを暗号化するプログラムを作成しようと思っています。 暗号はRSAで、と思っていますが、どのようにすればいいのか分かりません。 暗号自体のアルゴリズムは理解しているのですが、 「具体的に」どうすればいいのか教えて欲しいのです。 「文字」とか、そういう単位がなくて、単なるディスクファイル、またはメモリ上の bit列があったときに、それをどうやって暗号化するか、また復号するか。 鍵が分かったとして、bit列のどこからどこまでを1つの単位として計算するのか。 その暗号化単位は、公開鍵だけで判断できるのか。 素数で割った余りなので、1つの数字としてみたときに素数より小さい数でないと だめなことは分かります。 もしかしたら、このようなデータの暗号化は、他のアルゴリズムを 使用した方がいいのかもしれませんが、暗号について あまり詳しくないので、どうしたらいいのか分かりません。 ネットで調べた内容では、アルゴリズムは理解できても、 対象としているデータで、実際どうやるのか分かりませんでした。 よろしくお願いします。

  • C言語 暗号化プログラムの作成

    アルファベット文字列を暗号化するプログラムを作りたいのですが、暗号化の方法がわかりません。 暗号化は、アルファベット文字列を入力した後、数字を入力して、その数字分文字をずらすというものです。 例:"Date 5"⇒"Ifyj 5" (Dの5個先はIなのでIとする。 同様にa⇒f    t⇒y    e⇒j) "Take 20"⇒"Muey 20" (Zを過ぎたらまたAからずらしていく。)

  • プチプチおみせっちの暗号入力

    子供達が「プチプチおみせっち」に夢中です。 そのゲームの中で暗号を入力するところがあるらしく、色々調べて幾つかゲットしました。 ところが、アルファベットの「C,I,O,L,S,X」が大文字、小文字とも入力できません。 どのように入力したらいいのでしょうか? それとも、ゲットした暗号がウソの暗号だったのでしょうか? よろしくお願いします。