- ベストアンサー
単一換字暗号の解読について
uyama33の回答
1.ローマ字で書いた日本語の文書を多めに用意する。これを分析して、 2.1文字についての頻度表をつくる。 3.連続する2文字についての頻度表をつくる。 4.連続する4文字についての頻度表をつくる。 5.連続する6文字についての頻度表を作る。 2,3,4,5 はコンピュータでやる。 与えられた暗号文についての対応する頻度表を作る。 頻度を比較しながら、 母音の推定 子音の推定 をする。 この推定で意味のある文章になったら解読できたとする。 でも、もともと意味が無くて文字がランダムに並んだデータだと解読できたか否か不安がのこる。 必要なら奇数の連続する文字についても頻度表をつくる。 と言うようなことが暗号解析の本に書いてありました。 データ入力と解析して、頻度表を作るプログラムはちょっと面倒かな?
関連するQ&A
- 素人が適当に考えた暗号は簡単に複合できるものですか
例えば今即席で思いついた処理でplanetextを暗号化するとします。 処理(1) 1. 1バイト単位で複数のビットの順序を入れ替える 2. 10バイト単位で各バイトの順序を入れ替える 処理(2) 先頭から数えて第n番目のバイトはある関数 f(byte, n) によってビットの順序を入れ替える 処理(3) 日付が偶数の日は処理(1)を使用し、日付が奇数の場合は処理(2)を使用する。 処理(1)の暗号化だと、1バイト単位、10バイト単位で、暗号化される処理自体は固定です。 処理(2)の場合だと、アルゴリズム自体は固定ですが、結果は1バイト単位で毎回異なってきます。 処理(3)は日付によって、アルゴリズム自体が変わります。 こんな単純な処理ですが、知識のある人だと簡単に複合できるものですか? 上記の例は、あまりに単純すぎると思いますが、他にも無数のオレオレ暗号方式は考えられると思います。 どんな暗号でも復号できる一般的なアルゴリズムとかは存在しないと思いますが、それでもたいていの暗号はすぐに解読されてしまうものなのでしょうか? 例えば100人だけのグループだけで共有したい文章があったとします。 グループ内の人が自分たちで適当に暗号化を考えたとします。 この場合、どういう暗号化を行ったかは、其の人たちしか知らないわけです。 こういう場合でも、一般的に知られているRSAなどの暗号化のほうが複合は難しいのでしょうか?
- ベストアンサー
- その他([技術者向] コンピューター)
- ta su ke te ku da sa i he n ka n de ki na i
ke si te hu za ke te ru wa ke de ha a ri ma se n hi ra ga na ha nyu u ryo ku de ki ru n de su ga Enter wo o su to nyu u ryo ku de ki na ku na ru n de su ho n da i ha ko ko ka ra su pe - su wo o si ta ra hu ri - zu? su ru n de su ke n sa ku no to ki ya ge - mu no tya tto no to ki to ka de su ge - mu no do u sa no to ki ha da i zyo u bu de su ho n to u ni ko ma tte i ma su ta su ke te ku da sa i
- ベストアンサー
- Windows XP
- 各言語の音の数
日本語の音の数は a,i,u,e,o ka,ki,ku,ke,ko sa,shi,su,se,so ta,ti,tu,te,to na,ni,nu,ne,no ha,hi,hu,he,ho ya,yu,yo ra,ri,ru,re,ro wa,n ga,gi,gu,ge,go za,zi,zu,ze,zo da,di,de,do pa,pi,pu,pe,po (これは入るのかな?) va,vi,vu,ve,vo qa,qi,qe,qo くらいですが、英語の音の数は1050個あると聞きました。 世界の言語の音の数みたいのが載っているサイトとかありませんか? また、こういうことについて詳しい方。 色々な言語の音の数について教えてください。
- ベストアンサー
- その他(語学)
- 規則性がある配列を、格好良く作成したいのですが……
こういう配列なのですが、何か良い案はあるでしょうか? foreachとか、forなどを使って、スマートに配列を作成したいです $hoge = array( "あ" => "aa", "い" => "ii", "う" => "uu", "え" => "ee", "お" => "oo", "か" => "ka", "き" => "ki", "く" => "ku", "け" => "ke", "こ" => "ko", "さ" => "sa", "し" => "si", "す" => "su", "せ" => "se", "そ" => "so", "た" => "ta", "ち" => "ti", "つ" => "tu", "て" => "te", "と" => "to", "な" => "na", "に" => "ni", "ぬ" => "nu", "ね" => "ne", "の" => "no", "は" => "ha", "ひ" => "hi", "ふ" => "hu", "へ" => "he", "ほ" => "ho", "ま" => "ma", "み" => "mi", "む" => "mu", "め" => "me", "も" => "mo", "や" => "ya", "ゆ" => "yi", "よ" => "yu", "ら" => "ra", "り" => "ri", "る" => "ru", "れ" => "re", "ろ" => "ro", "わ" => "wa", "を" => "wo", );
- ベストアンサー
- PHP
- 暗号の解読をお願いします。
友達に出された暗号の解読をお願いします。 .@eGYV ヒントは 文字を変えた 文字を英語にする です。 何かわかることがあったらお願いいたします
- 締切済み
- その他(趣味・娯楽・エンターテイメント)