プチコン3号&BIGまとめWiki

Toukou/ファイル暗号化プログラム 「Phoenix」 の変更点


#title(投稿プログラム : ファイル暗号化プログラム「Phoenix」)
#contents
// ↑↑↑↑ この2行は削除しないでください。 ↑↑↑↑
//
// ←このように「//」で始まる行はコメントです。ページ本文には反映されません。
//------------------------------------------------------------------------------
// ・投稿年月日は、このページを投稿しようとしている今日の日付を半角数字で入力してください。
//   この日付は、投稿プログラムを自動的に年月日順に並べる際に使用されます。
// ↓↓↓
2018年8月12日投稿
// ↑↑↑
// ・作品をバージョンアップ (公開キーをアップデート) した際は、以下に更新日を記入し、
//   頭の「//」2文字を取り除くと「アップデート順」で上位に表示されます。
// ↓↓↓   (ページの内容だけ更新はページ更新日が自動的に記録されますので、対象外です)
// / 2017年×月×日更新
// ↑↑↑
//------------------------------------------------------------------------------
// ・投稿者名は、投稿プログラム一覧に表示するために使用します。
// ・「名無しさん」のままにしておくと、匿名の方からの投稿として扱われます。
// ↓↓↓
/ 投稿者 : 上溝私設総合研究所
// ↑↑↑
//------------------------------------------------------------------------------
// ・適当にタグをつけることができます。半角のコンマ区切りで複数つけられます。
//   タグをつけると、同じタグが付いたページを検索することができます。
// ★次に該当するプログラムは、特定のタグを設定するようご協力お願いします。
//   これらを設定すると、将来的に投稿プログラム一覧に目立つマークが付くようになる予定です。
// ・短いプログラム → 「1行プログラム」「数行プログラム」「1画面プログラム」タグのいずれか1つ
// ・該当するなら「ゲーム」「実用ツール」「音楽」タグのいずれか
// ↓↓↓
/ &tag(投稿プログラム,実用ツール,暗号,ファイル);
// ↑↑↑

//------------------------------------------------------------------------------
// ここに概要とか書きます。
// ・** や *** で始まる行は子見出しとなります。* の数で深さが決まります。
// ・[#英数字] はページ内リンクに使用されるキーワードとなりますが、
//   消してもかまいません。ない場合はランダムな文字列が自動付与されます。
//   逆に、[#英数字] して同じものを増やしてしまった場合、目次からのリンクがちょっとおかしくなります。


* 概要 [#f7e56f05]
これは最近ふと思い付いて作成したプログラムです。&br;
これを使えば大事な情報を保護することができます。



* 事の始まり [#je9d9776]
最初はBIN$という2進数の文字列に変換するプログラムを作成して&br;
遊んでいたら、2進数で文字列を暗号化できないか、&br;
と思い立ったのがきっかけでした。&br;
その後2進数では10進数に変換するのが不可能とわかり、&br;
16進数ではどうかと模索していたところ、ふと思い付いたのです。&br;&br;
文字をASCで数値して足し算をしてCHR$で文字に変換したら行けるかも...と。&br;&br;
そこからこのシステムの研究を開始しました。&br;
一文字ずつ暗号化して、一行できたらPRGSET$で入れ替えて&br;
それを繰り返す事で完成しました。

*更新情報 (ver1.1)[#h3663bca]
ただいま新バージョン(ver1.1)の開発を行っています。&br;
概要は以下の通りです。&br;
**内容 [#c79b9780]
・4つの鍵と%%6種類%%の計算モードの採用&br;
 →20種類に変更(2018年8月18日)&br;
・ストリーム暗号を採用した暗号化方式の開発&br;
 =計算された数値はRANDOMIZEに代入されて&br;
  乱数によりシフトする数は100以内に抑えられています。&br;
・off by oneエラーの解消&br;
・ボタンによるファイル選択の実装&br;
・エラートラップの実装(2018年8月18日追加)&br;&br;
これらの内容を組み込んで、出来次第ver1.1を公開します。
**進捗状況 [#z26aab47]
進捗状況を報告致します。
| 4つの鍵の開発 | 製作完了 |
| 20種類の計算モードの開発 | 製作中 |
| ストリーム暗号化方式の開発 | 製作完了 |
| off by oneエラーの解消 | 解消完了 |
| ボタンによるファイル選択の実装 | 製作中 |
| エラートラップの実装 | 実装完了 |
**鍵の保証範囲 [#e1e6f7e7]
鍵の保証範囲は −139000000 〜 +139000000 までです。&br;
(0は鍵に設定出来ません。(設定すると0による除算のエラートラップが発動します。))&br;


// ページを作成すると、画像の添付ができるようになります。(作成する前はできません)
// 作成後のページの右上、ウィキメニューにある「添付」から画像をアップロードできます。
// (添付ファイルはページごとに別個に管理されています。必ず作成後のページに添付してください)
// 画像をアップロードしたら、以下の書式でページ内に貼り付けられます。
// Wii U のプチコンBIGでは、本体から直接スクリーンショットのアップロードができます。
// #ref(添付ファイル名)

// 以下の書式で、YouTube やニコニコ動画を貼り付けられます。
// #youtube(0HWX7kovgY8)
// #nicovideo(sm13684820)
*投票コーナー [#ub7e19c1]
もしよろしければDLした方は投票していただけるとありがたいです。&br;

#vote(DLしました![12])
#vote(DLしました![13])


* 公開キー [#m4b2061d]
プチコン3号用の公開キーです。トップメニューの「作品公開とダウンロード」から公開キーを入力すると、作品をダウンロードすることができます。
#ptcmid(7R7EX3A4,ver1.0の公開キー)

ぜひともこの暗号化システムを役立てて、皆様のお力になれたら光栄です。&br;
もし、よろしければコメントをお願い致します。





// コメントを募集したくないなら、ここから下は削除してください


* CHECKER FLAG (ひとことコメント) [#uc6379ff]
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は[[掲示板>Board]]へ)
- ''しょうご'' : これは凄いですね。ぜひ自作ゲーム等に活用させていただいてもよろしいでしょうか? (&new{2018/08/13 (月) 15:14:16};)
- ''KPCL'' : 活用してもらって構いません (&new{2018/08/13 (月) 15:28:31};)
- ''KPCL'' : こちらとしても嬉しいです (&new{2018/08/13 (月) 15:28:45};)
- ''しょうご'' : ありがとうございます! (&new{2018/08/13 (月) 17:20:58};)
- ''天郷思音'' : ようするにシーザー暗号かな? (&new{2018/08/13 (月) 18:29:42};)
- ''天郷思音'' : まず1文字ごとに同じ計算をしてるので端的に言って弱い。あとファイル名を上画面に表示するならボタン操作で選べるほうが良いのでは? (&new{2018/08/13 (月) 18:40:10};)
- ''天郷思音'' : あと127行目でFOR J=0 TO Lというのは典型的なOff-by-oneエラーでしょうか?? (&new{2018/08/13 (月) 18:46:18};)
- ''天郷思音'' : さらに致命的な欠陥があってね、鍵が衝突((違う鍵で同じ暗号文ができること))しまくる。 (&new{2018/08/14 (火) 14:00:17};)
- ''天郷思音'' : 鍵は3要素の実数型配列変数なので''見かけ上''64×3=192bitの鍵に見えるんだけど (&new{2018/08/14 (火) 14:01:40};)
- ''天郷思音'' : たとえば、8,10,1919と10,8,1919と40,25,999と25,40,999では同じ鍵になる。もちろん逆算すればいくらでもある。 (&new{2018/08/14 (火) 14:03:49};)
- ''天郷思音'' : したがって実質的な強度は192bitよりもはるかに弱い。これだけの問題があるにもかかわらず、しょうごさんは本気で「採用」と言っているのだろうか? (&new{2018/08/14 (火) 14:05:50};)
- ''天郷思音'' : そもそも、プチコン3号の文字コードは0から65535までしかない。たとえば、999999みたいな大きな数を足したところであふれた分は無視される。1文字1文字に同じ数を足す現在の設計では、鍵をどんなに長くしたところで16bitを越える強度は実現不可能。 (&new{2018/08/14 (火) 14:16:16};)
- ''しょうご'' : そこまで問題があったんですね。 (&new{2018/08/14 (火) 14:23:00};)
- ''しょうご'' : SmileBASIC自体も意外と制約が多いんですよね。 (&new{2018/08/14 (火) 14:23:33};)
- ''天郷思音'' : 問題点ばかり書いてきたけど、プログラムの書き方としてはOPTION STRICTやインデントを用いてるなど評価点もあるし、改良されれば実用ツールになれる可能性はあるね。 (&new{2018/08/14 (火) 14:57:59};)
- ''名無しさん'' : 全く関係ないけど天郷思音さんのたとえばの数値が汚い (&new{2018/08/14 (火) 22:44:48};)
- ''KPCL'' : 遅くなってしまって申し訳ございません。このプログラムの主です。このプログラムは64*3するのではなく、ASCIIコード+((DAT[0]*DAT[1])+DAT[2])としているので、実質ASCIIコード+計算された数値、になります。誤解するようなプログラムを書いてしまって申し訳ございません。 (&new{2018/08/15 (水) 14:38:14};)
- ''KPCL'' : 新バージョンの開発を始めました。詳しくはページ中程の「更新情報」をご覧ください。 (&new{2018/08/17 (金) 14:34:42};)
- ''クロマリオ'' : ものすげえボロクソ書くやんw (&new{2018/08/17 (金) 15:31:04};)
- ''名無しさん'' : ちゃんと指摘されたところ直そうとしててえらヨ (&new{2018/08/17 (金) 17:19:00};)
- ''KPCL'' : 「更新情報」の欄を更新しました。詳しくは更新情報をご覧ください。 (&new{2018/08/18 (土) 13:45:58};)
- ''KPCL'' : 更新情報の名称が変更されました。新しい名称は「更新情報(ver1.1)」です。 (&new{2018/08/18 (土) 14:03:08};)
- ''KPCL'' : 投票コーナーを新設しました。よろしければ投票をお願い致します。 (&new{2018/08/18 (土) 14:25:14};)
- ''KPCL'' : 更新情報 (ver1.1)に進捗状況を追加しました。詳しくはそちらをご覧下さい。 (&new{2018/09/09 (日) 12:58:33};)

#comment

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.014 秒 | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30