Discuss Scratch
- Discussion Forums
- » 日本語
- » セーブコードについてみんなで話し合う場所1
- RITORUDX3
-
27 posts
セーブコードについてみんなで話し合う場所1
中を見て数値を入れて読み込んでみた結果、どうやら正規のセーブデータが出て、
ちゃんと読み込むことができてしまったようです…
ちゃんと読み込むことができてしまったようです…
- hinayamato
-
31 posts
セーブコードについてみんなで話し合う場所1
ほんとですね。セーブコードって難しいなぁ。。。
追記:中を見てセーブコードを入手しても、再読み込みした場合正規のセーブデータが出ないことが判明
追記:中を見てセーブコードを入手しても、再読み込みした場合正規のセーブデータが出ないことが判明
Last edited by hinayamato (Sept. 16, 2020 10:59:14)
- choriss55
-
100+ posts
セーブコードについてみんなで話し合う場所1
クラウドリストにユーザー名とコードを入れて連動させようかと思ったけど文字の数字化で挫折…https://scratch-mit-edu.ezproxyberklee.flo.org/projects/339641434/
ありますよ!
- choriss55
-
100+ posts
セーブコードについてみんなで話し合う場所1
アイディアのところに書いたことを文章化します。(気が向いたら作ろうかな)
エニグマはアルファベットをアルファベットに変換することなのですがここでは4文字のアルファベット(ABCD)に限って話をします)
こういうリストがあったとします
Ex1)
変換前┃A B C D
┣━━━━
変換後┃C D B A
ここでは「ABCD」を暗号化します。
①「A」を暗号化→「C」
変換後のリストを一個ずらす。(ここがエニグマの特徴)
(こんな感じ↓)
変換前┃A B C D
┣━━━━
変換後┃D B A C
②「B」を暗号化→「B」
変換後のリストを一個ずらす。
③「C」を暗号化→「C」
変換後のリストを一個ずらす。
④「D」を暗号化→「B」
よってABCD→CBCB
復号化
①「C」を復号化→「A」(下の表で「変換後」の、Cを見ると返還前がAになっています。)
変換前┃A B C D
┣━━━━
変換後┃C D B A
変換後のリストを一個ずらす。
②「B」を復号化→「B」
変換後のリストを一個ずらす。
③「C」を復号化→「C」
変換後のリストを一個ずらす。
④「B」を復号化→「D」
変換後のリストを一個ずらす。
これがエニグマの大体のやり方です。
これをスクラッチにそのまま移植すると簡単に見破られるので、この暗号化方法を10ぐらい用意して、どの方法で暗号化されたかわからなくします。
それには、まず、変換したアルファベットをあるルールに沿って数値化します。
ルール
A B C D E F G・・・
2 3 5 7 11 1317・・・
と、素数と順番に並べます
Ex2)
「BCBC」→3,5,3,5
そして10種類のエニグマに数値をを付けます。
Ex3)
種類No1 2 3 …
1009 1013 1019…
変換した数値(3,5,3,5)にかけます(たとえば種類ナンバー3の場合)
こんな感じです。
素数に素数をかければ、約数は2つに決まるので
どの方式によって、暗号化されたか、暗号化された文の内容も分かります。
例
3057/1009=割れない
3057/1013=割れない
3057/1019=3->割れる
よって、1019の数値が割り振られた、エニグマがわかります(3)
それで、3のエニグマで復号化してやれば、できます。
数値にはすごく大きい数値を使ったほうが良いと思います。
注意:アルファベットの数値とエニグマナンバーの数値を混在させないでください。必ず数値が重ならないようにしてください。
エニグマはアルファベットをアルファベットに変換することなのですがここでは4文字のアルファベット(ABCD)に限って話をします)
こういうリストがあったとします
Ex1)
変換前┃A B C D
┣━━━━
変換後┃C D B A
ここでは「ABCD」を暗号化します。
①「A」を暗号化→「C」
変換後のリストを一個ずらす。(ここがエニグマの特徴)
(こんな感じ↓)
変換前┃A B C D
┣━━━━
変換後┃D B A C
②「B」を暗号化→「B」
変換後のリストを一個ずらす。
③「C」を暗号化→「C」
変換後のリストを一個ずらす。
④「D」を暗号化→「B」
よってABCD→CBCB
復号化
①「C」を復号化→「A」(下の表で「変換後」の、Cを見ると返還前がAになっています。)
変換前┃A B C D
┣━━━━
変換後┃C D B A
変換後のリストを一個ずらす。
②「B」を復号化→「B」
変換後のリストを一個ずらす。
③「C」を復号化→「C」
変換後のリストを一個ずらす。
④「B」を復号化→「D」
変換後のリストを一個ずらす。
これがエニグマの大体のやり方です。
これをスクラッチにそのまま移植すると簡単に見破られるので、この暗号化方法を10ぐらい用意して、どの方法で暗号化されたかわからなくします。
それには、まず、変換したアルファベットをあるルールに沿って数値化します。
ルール
A B C D E F G・・・
2 3 5 7 11 1317・・・
と、素数と順番に並べます
Ex2)
「BCBC」→3,5,3,5
そして10種類のエニグマに数値をを付けます。
Ex3)
種類No1 2 3 …
1009 1013 1019…
変換した数値(3,5,3,5)にかけます(たとえば種類ナンバー3の場合)
こんな感じです。
素数に素数をかければ、約数は2つに決まるので
どの方式によって、暗号化されたか、暗号化された文の内容も分かります。
例
3057/1009=割れない
3057/1013=割れない
3057/1019=3->割れる
よって、1019の数値が割り振られた、エニグマがわかります(3)
それで、3のエニグマで復号化してやれば、できます。
数値にはすごく大きい数値を使ったほうが良いと思います。
注意:アルファベットの数値とエニグマナンバーの数値を混在させないでください。必ず数値が重ならないようにしてください。
- choriss55
-
100+ posts
セーブコードについてみんなで話し合う場所1
ちょっとずつ作っていきます。ですね。。。 中々難易度が高そうですね…
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/427416409/
エニグマへ、暗号化する装置です(暗号化だけ)
- choriss55
-
100+ posts
セーブコードについてみんなで話し合う場所1
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/427416409/
エニグマを追加し、素数をかける機構を作成しました。
次は復号化機構です。
エニグマを追加し、素数をかける機構を作成しました。
次は復号化機構です。
- choriss55
-
100+ posts
セーブコードについてみんなで話し合う場所1
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/427416409/
エニグマで暗号化されたところまで復元する機構を追加
エニグマで暗号化されたところまで復元する機構を追加
- choriss55
-
100+ posts
セーブコードについてみんなで話し合う場所1
あとは、これをどういう風に使うかですね。
定期的に、中身変えるとか、何重にもエニグマを使用するとか、
定期的に、中身変えるとか、何重にもエニグマを使用するとか、
- choriss55
-
100+ posts
セーブコードについてみんなで話し合う場所1
sirokurokumasanさんが、エニグマをリミックスしてくれました。
リンクは、確認がとれたらのせます
リンクは、確認がとれたらのせます
Last edited by choriss55 (Sept. 26, 2020 00:03:09)
- choriss55
-
100+ posts
セーブコードについてみんなで話し合う場所1
forkphorus.github.io
を使えば中見れないし、共有してなくても見れる。
作品のリンク Ex) https://forkphorus.github.io/#355158118
を共有し、セーブコード機構を除いたすべての部分、セーブコード機構の暗号化の数値などを変更したものをそれぞれ別の作品に入れ、共有すれば、ライセンス的に問題ない(はず)
を使えば中見れないし、共有してなくても見れる。
作品のリンク Ex) https://forkphorus.github.io/#355158118
を共有し、セーブコード機構を除いたすべての部分、セーブコード機構の暗号化の数値などを変更したものをそれぞれ別の作品に入れ、共有すれば、ライセンス的に問題ない(はず)
- sirokurokumasan
-
24 posts
セーブコードについてみんなで話し合う場所1
ちなみに、 https://turbowarp.org/ というサイトを使うと中を見ることができるので注意が必要です。
しかし、このサイトを作った人が、 https://scratch-mit-edu.ezproxyberklee.flo.org/projects/414716080/ を作っているので、活用すればいいと思います。
しかし、このサイトを作った人が、 https://scratch-mit-edu.ezproxyberklee.flo.org/projects/414716080/ を作っているので、活用すればいいと思います。