ポリュビオス暗号化

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ららら

ポリュビオス暗号化

#1

投稿記事 by ららら » 8年前

C言語で、ポリュビオス暗号を使って文字を暗号化、復号するプログラムを作りたいです。
ポリュビオス暗号表はファイルに保存、読み込んで使います
どうやってつくればいいかなやんでいます
もしよければ、参考に教えてくれませんか

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: ポリュビオス暗号化

#2

投稿記事 by みけCAT » 8年前

ららら さんが書きました:どうやってつくればいいかなやんでいます
好きなエディタ(IDEを含む)でプログラムを書き、好きなコンパイラでコンパイルすればいいでしょう。
なやむよりまずは手を動かして出来るところまで書いてみることをおすすめします。
ららら さんが書きました:もしよければ、参考に教えてくれませんか
何を教えてほしいのでしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

Math

Re: ポリュビオス暗号化

#3

投稿記事 by Math » 8年前

Wikipedia にあるように ”例えば「AND」を暗号化するときは「11 33 14」とする ” のであれば A と 11 が1対1に対応しており 配列”ABCDEFGHIKLMNOPQRSTUVWXYZ" と 配列 11,12,13,14,15,21,22,・・・ の位置を検出するだけであり簡単である と 思いますが・・・。

白い変人

Re: ポリュビオス暗号化

#4

投稿記事 by 白い変人 » 8年前

ポリュビオス暗号とは単一換字式暗号の一種の様ですね。

詳細な仕様が分かりませんので何とも言えない部分はありますが、ポリュビオスの暗号表なる物を使用するという点では、使われる文字の種類の平方根が整数になる文字種にした場合に、文字の表現効率が最大になるとは考えられるでしょう。

まず、その使われる文字の種類という点で疑問は有りますが、文字情報は全て2進数で表現可能である事を利用し、理論上どの様な2進数データでも、ポリュビオス暗号化出来る様にする事は可能とは言えます。

例えば、文字(ブロックのパターン)数の平方根が整数になるようなビット数。

まず、√(4)=2ですよね?
つまり、2bitを1ブロックとして暗号化する様にすれば、ポリュビオスの暗号表は正方形に出来ますよね?
しかし、2bitだと、現状のコンピュータ上では扱いにくいと言えるでしょう。(1byte単位では無い為。)

そう考えると、√64=8bit=1byteとなる為、0x00~0xFFまでの要素を持つ、8×8のポリュビオスの暗号表を作成し、その表を使って換字を行えば宜しいのではないかと思います。

因みに、この場合、ポリュビオスの暗号表の規模を大きくすればする程、暗号強度は高くなる傾向はあるとは言えるでしょう。(例えば16×16の暗号表にする等。)

白い変人

Re: ポリュビオス暗号化

#5

投稿記事 by 白い変人 » 8年前

>そう考えると、√64=8bit=1byteとなる為、0x00~0xFFまでの要素を持つ、8×8のポリュビオスの暗号表を作成し、その表を使って換字を行えば宜しいのではないかと思います。

訂正です。

1byteで表現可能なブロックのパターン数は2^8=256であり、√256=16×16の暗号表になります。

失礼いたしました。

ららら

Re: ポリュビオス暗号化

#6

投稿記事 by ららら » 8年前

すみません
ポリュビオス暗号じゃあなくってシーザーかarasでした
ポリュビオスは生体論理のほうとまざってました
ごめんなさい

返信

“C言語何でも質問掲示板” へ戻る