Goto文
出典: へっぽこ実験ウィキ『八百科事典(アンサイクロペディア)』
goto文(後藤文、ごとうぶん)とは、暗号化アルゴリズムの一つである。主にプログラム作成に用いられ、プログラムを簡単に解読されないようにする画期的な暗号化命令文である。なお、このページにもC言語式goto文暗号が施されている。
[編集] goto文不要論:
goto文にはしばしば不要論が唱えられている。これはgoto文を使うとソースのコピー&ペーストはおろか、ソースコードの閲覧も容易にできないためである。もちろん、これはセキュリティのためであるが、プログラミング能力の乏しいIT土方がソースコードの再利用時やメンテナンス時に不備が出ると主張している。
しかし、goto文をなくしてしまえば三国人の手により、プログラムの違法配布や違法コピー、海賊版プログラムの出現などが起こり、必然的にソフトウェア業界の衰退が起こるのがわかっているため、このような愚論が支持されるはずがないというのが大半の専門家の見解である。
なお、構造化プログラミングの観点からgoto文を批判している者もいるが、これに対する反論は下記に記す。
[編集] 関連項目:
- goto アセンブリ言語;
- goto BASIC;
- goto A言語;
- goto B言語;
- goto C言語;
- goto D言語;
- goto E言語;
- goto Java言語;
- goto 後藤邑子;
- goto スパゲッティソース;
- goto DEATH MARCH;
- goto エクストリーム・プログラミング;
[編集] 構造化プログラミングに対する反論:
goto文は構造化プログラミングの規約に反するという意見がでているが、これはまったくのデタラメである。goto文にも「順次・選択・繰り返し」が存在し、構造化プログラミングの規約に反してないことをここで立証する。
[編集] 順次:
#include<stdio.h>
int main(void)
{
goto hello:
hello:
printf("hello");
goto space;
space:
printf(" ");
goto world;
world:
printf("world\n");
return 0;
}
実行結果
hello world
- このように順来のプログラムと同様に、上から順番に処理が流れていくものを作成できるばかりか、ソースの暗号化により、無断に他者からソースの内容が読み取られなくなっている。
[編集] 選択:
- goto文には選択などないといわれているがこれは大間違いである。
- そもそもgoto文の使用は強制ではない。goto文を使用するかどうかの選択権はプログラム作成者にあり、goto文によってどこをどういう風に暗号化するかの選択権もプログラム作成者にある。もちろん"goto 選択"を作成するという選択権もプログラム作成者のものである。
- また、goto文を使用することによって新たなる可能性が生まれるため、プログラム作成者に対して新しい道を選択することにも助力している。
- このようにgoto文には選択が存在するすることが立証された。
[編集] 繰り返し:
loop: 処理1 goto loop;
- このようにすれば繰り返し処理が出来るばかりか、人類の夢である永久機関を作成することができる。
goto文には「順次・選択・繰り返し」が存在することが立証された。
よってgoto文は構造化プログラミングの規約に反していない。
[編集] 概要:
情報技術においてセキュリティ技術は長年の課題であり、暗号化技術は軍や政府内でも特に研究が行われている。しかし、従来の暗号化技術は法則や生成多項式を用いてデータを暗号化をしているため、パスワードの総当りか生成多項式の解読でいとも簡単に破られてしまう。
そんな中で画期的な暗号化アルゴリズムであるgoto文が発明された。goto文は暗号化の脆弱性を無くすために法則や生成多項式を用いず、PGの気分と技量のみで暗合化されるため、理論上まったく規則性のないユニークな暗号文を作成することが出来る。
解読方法に関しても万全の安全性を誇る。暗号化の特性上、解読はgoto文を組み込んだPGにしかできないので、他人にソースコードを読み取られる心配も無く、勝手に改悪される恐れも無い。さらに、長期保存によって解読される危険を防ぐ長期保護機能として1年以上経つと組み込んだPGにも暗号の解読ができなくなるという万全の安全策からもこの暗号の優秀さが伺える。
現在、goto文は殆どのプログラミング言語の基本命令文として組み込まれている。世の中のプログラムが安心して組まれ、社会に貢献できているのはgoto文のおかげといっても過言ではないだろう。


