質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

Q&A

解決済

1回答

1721閲覧

JavaScript シーザー暗号化

jaava

総合スコア3

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

暗号化

ネットワークを通じてデジタルデータをやり取りする際に、第三者に解読されることのないよう、アルゴリズムを用いてデータを変換すること。

0グッド

0クリップ

投稿2021/04/25 00:55

シーザー暗号化について知識が浅いので思い立って考えた疑問をぶつけてみます
一般的なシーザー暗号化とは変数の格納されたに文字全体に対し、
●文字シフトし出力するものだと思うのですが、
変数=”ABCDEFG”
とあった場合に、全体で3文字シフトするとCDEFGHIになります

JavaScriptでA B C D E F Gそれぞれ「一文字づつ」に対し「ランダム文字シフト」するという手法は、
実現できた場合に強度的にはどうなりますでしょうか
すでにこの思考も当たり前にあるかもしれませんが、
思い付いたのでご意見伺いたく思いました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ockeghem

2021/04/25 00:59

ランダム文字シフトした文字列はどうやって復号するのでしょうか?
jaava

2021/04/25 01:01

それは、どこかにクライアントまたはサーバーに記録して割り当てて復号できるような仕組み作りは必要だと思いますが、、、
ockeghem

2021/04/25 01:57

もうちょっと具体的に使い方を含めて示してくれないと、「そんなものだめに決まっている」というような雑な回答しか返ってこないと思います。具体的に示してくれれば、「こういう風に破られる」という回答が得られる可能性があります。このサイトはプログラミングに関する質問のサイトですから、プログラムとまでいかなくても、「この方針に従ってプログラミングできる」程度には詳細化できるとよいと思います。
jaava

2021/04/25 03:12

助言ありがとうございます もっと具体性を高められればと思います
guest

回答1

0

ベストアンサー

いわゆるバーナム暗号もしくはワンタイムパッドかと思います。

とても強く適切に運用できるならば解読不可能な暗号なのは確かなのですが

それぞれ「一文字づつ」に対し「ランダム文字シフト」

という事は、平文と同じ量の(暗号的に安心な)乱数が必要になります。
また、この乱数列を安全に共有する必要があります。
つまり、「平文と同量の乱数列を安全に共有する必要がある」事になり
その環境で暗号化の必要性はほぼないでしょう。

また、鍵となる乱数列を使いまわした場合強度が落ちる事も知られています。


乱数列を生成した場合はストリーム暗号の一種になりますが、
知識無しに実装した場合おそらく問題がある実装になる程度には研究されています。

投稿2021/04/25 02:15

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jaava

2021/04/25 03:11

「平文と同量の乱数列を安全に共有する必要がある」 例えば鍵である乱数列を順番通りに並べずシャッフルする、等の重ね重ねの対策も無駄でしょうか どこまででも重ね重ねであればできると思うのですが、 最終的にはデータの鍵が分析されたら意味がないということであれば、 最強は復号化できない他ないということですかね
jaava

2021/04/25 03:18

ちなみに私は低学歴、数字の計算なども苦手な人間です ポンと思い付いた内容で質問しただけの低能です 申し訳ありません これ以上はセキュリティエンジニアの方々を愚弄することになるので〆ます
asm

2021/04/25 03:25

アルゴリズムが流出しない前提ならば効果はあるかもしれませんが アルゴリズムが流出した場合を考えるとシャッフル等には大して意味がありません。
ockeghem

2021/04/25 07:50

JavaScriptを想定すると、アルゴリズムは全部見えてしまいますからね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問