Discuss Scratch

RITORUDX3
Scratcher
27 posts

セーブコードについてみんなで話し合う場所1

中を見て数値を入れて読み込んでみた結果、どうやら正規のセーブデータが出て、
ちゃんと読み込むことができてしまったようです…
hinayamato
Scratcher
31 posts

セーブコードについてみんなで話し合う場所1

ほんとですね。セーブコードって難しいなぁ。。。
追記:中を見てセーブコードを入手しても、再読み込みした場合正規のセーブデータが出ないことが判明

Last edited by hinayamato (Sept. 16, 2020 10:59:14)

sirokurokumasan
Scratcher
24 posts

セーブコードについてみんなで話し合う場所1

https://scratch-mit-edu.ezproxyberklee.flo.org/projects/411260572/
こんなものを作ってみました。
syakasama
Scratcher
42 posts

セーブコードについてみんなで話し合う場所1

クラウドリストにユーザー名とコードを入れて連動させようかと思ったけど文字の数字化で挫折…
RITORUDX3
Scratcher
27 posts

セーブコードについてみんなで話し合う場所1

とりあえず、このディスカッションを作成した方に戻ってほしいですね…
(リンク追加等)
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

RITORUDX3 wrote:

とりあえず、このディスカッションを作成した方に戻ってほしいですね…
(リンク追加等)
はい!
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

syakasama wrote:

クラウドリストにユーザー名とコードを入れて連動させようかと思ったけど文字の数字化で挫折…
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/339641434/
ありますよ!
choriss55
Scratcher
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のエニグマで復号化してやれば、できます。

数値にはすごく大きい数値を使ったほうが良いと思います。
注意:アルファベットの数値とエニグマナンバーの数値を混在させないでください。必ず数値が重ならないようにしてください。
RITORUDX3
Scratcher
27 posts

セーブコードについてみんなで話し合う場所1

中々難易度が高そうですね…
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

RITORUDX3 wrote:

中々難易度が高そうですね…
ですね。。。
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

choriss55 wrote:

RITORUDX3 wrote:

中々難易度が高そうですね…
ですね。。。
ちょっとずつ作っていきます。
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/427416409/
エニグマへ、暗号化する装置です(暗号化だけ)
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

https://scratch-mit-edu.ezproxyberklee.flo.org/projects/427416409/
エニグマを追加し、素数をかける機構を作成しました。
次は復号化機構です。
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

https://scratch-mit-edu.ezproxyberklee.flo.org/projects/427416409/
エニグマで暗号化されたところまで復元する機構を追加
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

あとは、これをどういう風に使うかですね。
定期的に、中身変えるとか、何重にもエニグマを使用するとか、
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

sirokurokumasanさんが、エニグマをリミックスしてくれました。
リンクは、確認がとれたらのせます

Last edited by choriss55 (Sept. 26, 2020 00:03:09)

choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

近いうちに#2を#3に移します。#2を空けて、#1が埋まったときに使ったりします
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

forkphorus.github.io
を使えば中見れないし、共有してなくても見れる。
作品のリンク Ex) https://forkphorus.github.io/#355158118
を共有し、セーブコード機構を除いたすべての部分、セーブコード機構の暗号化の数値などを変更したものをそれぞれ別の作品に入れ、共有すれば、ライセンス的に問題ない(はず)
sirokurokumasan
Scratcher
24 posts

セーブコードについてみんなで話し合う場所1

ちなみに、 https://turbowarp.org/ というサイトを使うと中を見ることができるので注意が必要です。
しかし、このサイトを作った人が、 https://scratch-mit-edu.ezproxyberklee.flo.org/projects/414716080/ を作っているので、活用すればいいと思います。

Powered by DjangoBB