アカウント名:
パスワード:
>二者間の通話内容を10分間暗号化するために1,200,000バイトの暗号鍵を事前共有
これが物理的に不可能なの?現代のコンピュータ工学的及び統計学的に不可能であって、物理学的には可能という気がするのだが・・・もちろん私に証明はできません^^物理学的に不可能というのは、流れている信号が量子そのものであって、その状態を確認しようと量子に干渉すると、データそのものが破壊されるという仕組みじゃなきゃだめなんじゃないの?
#シュレイディンガーの猫は可哀想学派なのでAC
>これが物理的に不可能なの?
他のコメントでも大勢の方が書かれていますが、暗号文と同程度の長さの鍵をワンタイムで使う限り、物理的に解読は不可能です。通常の暗号で同じ鍵に対し十分な例文があれば解けるってのは、「どの文も同じ解読法で意味の通る文になる」という制限がつくからです。
ある暗号文Aがあって、これに何らかの変換fを施すと平文になる(f(A) -> plain text)、これが解読です。同じ変換で多数の暗号文が復号できるなら、f(A)もf(B)も……f(N)も平文になるような変換、ということでfに制限がつきます。f(A)は平文っぽいものになったけど、f(B)は意味がな
「鍵の長さ」と「暗号文の長さ」が同じ、というのがポイントです。
「n bit の文」を「n bit の鍵」で暗号化することを考えます。衝突のないアルゴリズムであれば、任意の暗号文に対し「n bit の鍵」全てで復号すれば、2n 通りの平文ができます。一方、「n bit の文」が取り得る組み合わせも 2n 通りですから、どんな平文でも、その平文に復号されるような鍵が存在することになります。
つまり、『複数のfが「会話としてちゃんと成り立っている」別々の平文を導き出す可能性』があるどころか、「会話としてちゃんと成り立っている、同じ長さの平文」全てに対し、そう復号できる鍵fが存在することになります。
会話として成り立っているかどうかは、鍵の正しさの証明にはなりません。
だから「暗号文と同程度の長さの鍵をワンタイムで使う限り」なんですよ。現代一般的に用いられている暗号化手法はそれはむずかしい。でもこの暗号化手法では送信する情報1bitごとに1bitの鍵を与えることができるわけです。そしてこの1bitずつの鍵が盗聴されえないというのが大事なところ。
鍵を予測しようとしても適当な予測鍵で任意のフレーズを生成できる。だから解読不能。
でも今回は通話だから解読したら「特定のフォーマットに則った音声データ」になることが分かってるんですよね。であれば、音声認識ソフトにかけて意味のある文章に出来るかとか、共通のヘッダ(RIFFチャンクみたいなの)が現れるか否かで判断するとか、色々手はあると思うんですけど。
まあ、もちろん計算量は平均で全パターン/2のブルートフォースになるでしょうから、今の時代のコンピュータでは無理でしょうけど、数十年後の量子コンピュータクラスの計算機があれば理論的には解読可能だと思うのですが、どうでしょう。
それは「手がかりのない謎の文字列から意味を持った文字列を作り出す」という意味で暗号解読機械ではなく、小説(音声だけど)を産み出す創作機械です。その機械はきっと聖書を与えれば未来を預言してくれますし、日本の民謡を与えれば日本人がユダヤ人由来であることを教えてくれるでしょう。
「意味を持つデータが出てきた」としても「それが正しいかどうかを確かめる手がかりが全く存在しない」という話なのです。
>であれば、音声認識ソフトにかけて意味のある文章に出来るかとか、共通のヘッダ(RIFFチャンクみたいなの)が現れるか否かで判断するとか、色々手はあると思うんですけど。
電文がNビットなら可能性が2^N通りあるので、電文がまったくなくて総当りして、音声らしいデータを見つけるのと同等です。
N bitの情報に対してブルートフォースを行うというのは N bit で表現できる情報全てを調べるということです。従ってそこには N bit で表現できる全ての音声データ(と解釈できるもの)が含まれます。
正解が「音声データ」であることがわかっていたとしても、N bit で表現できる全ての音声データのどれが正解であるかは判断できません。
データ「特定のフォーマットに則った音声データ」として解読されるんでしょうが、解読された状態としての可能性が無限に出てきちゃうんですよ。つまり、キーを任意に設定することでどんなデータでも作れちゃうんで、それ故に正しい解読か判断できません。
例えば全データが1のデータが送られてきてキーを元に解読するパターンとか考えるとよろしいかと。キーの情報がデータの長さと同じというのはそういうことなので。
あれ?鍵はn通りあるけど、暗号化手法って1つとかじゃないの? 解読パターンはわかるから、そこから使えそうなm通りの鍵を得るのは、もしかしたら出来るかもしれない。 チャンクやサイズ等を再現できるパターンってかなり限られますし、そもそもヘッダやパリティ等はサイズがわかっていると位置や内容がほとんど決まっているので、それだけでかなり絞られますし、音声通話等では頻繁に使用されているパリティ等と一致するデータ内容となるとかなり限られるのでは?(逆にこれらが無くなると難しいと思いますが)#先頭n桁がこれと完全に一致、n桁目がこれに一致・・・というのを繰り返せば残りってかなり限られるんじゃね?#暗号化手法は同一なのに鍵が違ったらそんなに一致しないものなの(?)
・・・あえて通常生成しないようなパターンのパケットを生成してまで暗号化すればより難しくなりますねw#わざとパケット分割したり、ヘッダ・パリティ等はあるのにデータ無しのパケットを無駄に混入させたり・・・
鍵とデータ長が同じということはN桁目がMだと判明したところでほかの桁についてはまったく予想できないと暗号化について門外漢の自分でも想像つくのですが。
暗号化手法すら考える必要ないんだよ。データがnbit, 鍵がnbitなら、各bitごとにxorをとるだけでOK.あとは鍵を知らないと複合できないし他のビット列から別の1ビットを予測することもできない。
複合も同じくxorするだけ。
ヘッダ部分の鍵が解読できようが、他の部分の鍵には影響ないのです。
暗号化手法が存在する場合、復号が出来ちゃうんですよ。どれだけ長い鍵だろうとね。#計算で同じものに戻せるものが限られる。
xorとかだと無理ですがw
すると、複数のfが「会話としてちゃんと成り立っている」別々の平文を導き出す可能性は、それこそあんまり無いと思うんですよ。
「同程度の長さの任意の平文に変換できます」と説明してあるでしょ?通話が長くなるほど「会話としてちゃんと成り立っている」別々の平文を導き出す可能性は、それこそいくらでも増えると思いますけどね。
> それが正しいかどうか証明できないながらも「たぶんこれで合ってんじゃね?」
その「たぶん」の部分の度合いが問題になるわけで、ワンタイムパッドを用いた場合、暗号文とか復号とかうっちゃって勝手に長さだけ同じそれっぽい平分作って「たぶんこれで合ってんじゃね?」という「たぶん」と同程度しか出来ないって事。それって「暗号を解読した」とは言い難いよね。
#シャノンは「暗号が解けない」と言うことを「定義」したのがエライんだと思うの
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
物理学的に? (スコア:0)
>二者間の通話内容を10分間暗号化するために1,200,000バイトの暗号鍵を事前共有
これが物理的に不可能なの?
現代のコンピュータ工学的及び統計学的に不可能であって、物理学的には可能という気がするのだが・・・もちろん私に証明はできません^^
物理学的に不可能というのは、流れている信号が量子そのものであって、その状態を確認しようと量子に干渉すると、データそのものが破壊されるという仕組みじゃなきゃだめなんじゃないの?
#シュレイディンガーの猫は可哀想学派なのでAC
Re: (スコア:2, 参考になる)
>これが物理的に不可能なの?
他のコメントでも大勢の方が書かれていますが、暗号文と同程度の長さの鍵をワンタイムで使う限り、物理的に解読は不可能です。
通常の暗号で同じ鍵に対し十分な例文があれば解けるってのは、「どの文も同じ解読法で意味の通る文になる」という制限がつくからです。
ある暗号文Aがあって、これに何らかの変換fを施すと平文になる(f(A) -> plain text)、これが解読です。
同じ変換で多数の暗号文が復号できるなら、f(A)もf(B)も……f(N)も平文になるような変換、ということでfに制限がつきます。f(A)は平文っぽいものになったけど、f(B)は意味がな
Re:物理学的に? (スコア:0)
どの解読法(f)が正しいのか証明できないし、KABAみたいに短い文では有効なのはわかりました。(たぶん)
ですが、多くの通話はKABAよりは相当程度に長いと思うわけです。
すると、複数のfが「会話としてちゃんと成り立っている」別々の平文を導き出す可能性は、それこそあんまり
無いと思うんですよ。
であれば、ある特定のfによって得られた平文が「言葉として成り立っている」場合、それが正しいかどうか
証明できないながらも「たぶんこれで合ってんじゃね?」ってことで実用的にはOKなんじゃないでしょうかね?
どうなんでしょう?
Re:物理学的に? (スコア:3, 参考になる)
「鍵の長さ」と「暗号文の長さ」が同じ、というのがポイントです。
「n bit の文」を「n bit の鍵」で暗号化することを考えます。
衝突のないアルゴリズムであれば、
任意の暗号文に対し「n bit の鍵」全てで復号すれば、2n 通りの平文ができます。
一方、「n bit の文」が取り得る組み合わせも 2n 通りですから、
どんな平文でも、その平文に復号されるような鍵が存在することになります。
つまり、『複数のfが「会話としてちゃんと成り立っている」別々の平文を導き出す可能性』があるどころか、
「会話としてちゃんと成り立っている、同じ長さの平文」全てに対し、そう復号できる鍵fが存在することになります。
会話として成り立っているかどうかは、鍵の正しさの証明にはなりません。
Re:物理学的に? (スコア:2, 参考になる)
だから「暗号文と同程度の長さの鍵をワンタイムで使う限り」なんですよ。
現代一般的に用いられている暗号化手法はそれはむずかしい。
でもこの暗号化手法では送信する情報1bitごとに1bitの鍵を与えることができるわけです。
そしてこの1bitずつの鍵が盗聴されえないというのが大事なところ。
鍵を予測しようとしても適当な予測鍵で任意のフレーズを生成できる。だから解読不能。
Re: (スコア:0)
でも今回は通話だから解読したら「特定のフォーマットに則った音声データ」になることが分かってるんですよね。
であれば、音声認識ソフトにかけて意味のある文章に出来るかとか、共通のヘッダ(RIFFチャンクみたいなの)が現れるか否かで判断するとか、色々手はあると思うんですけど。
まあ、もちろん計算量は平均で全パターン/2のブルートフォースになるでしょうから、今の時代のコンピュータでは無理でしょうけど、数十年後の量子コンピュータクラスの計算機があれば理論的には解読可能だと思うのですが、どうでしょう。
Re:物理学的に? (スコア:1)
それは「手がかりのない謎の文字列から意味を持った文字列を作り出す」という意味で
暗号解読機械ではなく、小説(音声だけど)を産み出す創作機械です。
その機械はきっと聖書を与えれば未来を預言してくれますし、日本の民謡を与えれば日本人がユダヤ人由来であることを教えてくれるでしょう。
「意味を持つデータが出てきた」としても「それが正しいかどうかを確かめる手がかりが全く存在しない」という話なのです。
Re: (スコア:0)
Re: (スコア:0)
なので、ある種のワンタイムパッドを仮定して、特定のフォーマットに則ったパターンが現れたとしても、それが偶然か必然か、判別する手段がない。
Re: (スコア:0)
>であれば、音声認識ソフトにかけて意味のある文章に出来るかとか、共通のヘッダ(RIFFチャンクみたいなの)が現れるか否かで判断するとか、色々手はあると思うんですけど。
電文がNビットなら可能性が2^N通りあるので、電文がまったくなくて総当りして、音声らしいデータを見つけるのと同等です。
Re: (スコア:0)
Re: (スコア:0)
N bitの情報に対してブルートフォースを行うというのは N bit で表現できる情報全てを
調べるということです。従ってそこには N bit で表現できる全ての音声データ(と解釈できるもの)
が含まれます。
正解が「音声データ」であることがわかっていたとしても、N bit で表現できる全ての音声データ
のどれが正解であるかは判断できません。
Re: (スコア:0)
データ「特定のフォーマットに則った音声データ」として解読されるんでしょうが、解読された状態としての可能性が無限に出てきちゃうんですよ。
つまり、キーを任意に設定することでどんなデータでも作れちゃうんで、それ故に正しい解読か判断できません。
例えば全データが1のデータが送られてきてキーを元に解読するパターンとか考えるとよろしいかと。キーの情報がデータの長さと同じというのはそういうことなので。
Re: (スコア:0)
あれ?鍵はn通りあるけど、暗号化手法って1つとかじゃないの?
解読パターンはわかるから、そこから使えそうなm通りの鍵を得るのは、もしかしたら出来るかもしれない。
チャンクやサイズ等を再現できるパターンってかなり限られますし、そもそもヘッダやパリティ等はサイズがわかっていると位置や内容がほとんど決まっているので、それだけでかなり絞られますし、音声通話等では頻繁に使用されているパリティ等と一致するデータ内容となるとかなり限られるのでは?(逆にこれらが無くなると難しいと思いますが)
#先頭n桁がこれと完全に一致、n桁目がこれに一致・・・というのを繰り返せば残りってかなり限られるんじゃね?
#暗号化手法は同一なのに鍵が違ったらそんなに一致しないものなの(?)
・・・あえて通常生成しないようなパターンのパケットを生成してまで暗号化すればより難しくなりますねw
#わざとパケット分割したり、ヘッダ・パリティ等はあるのにデータ無しのパケットを無駄に混入させたり・・・
Re: (スコア:0)
Re: (スコア:0)
鍵とデータ長が同じということはN桁目がMだと判明したところでほかの桁についてはまったく予想できないと暗号化について門外漢の自分でも想像つくのですが。
Re: (スコア:0)
暗号化手法すら考える必要ないんだよ。
データがnbit, 鍵がnbitなら、各bitごとにxorをとるだけでOK.
あとは鍵を知らないと複合できないし他のビット列から別の1ビットを予測することもできない。
複合も同じくxorするだけ。
ヘッダ部分の鍵が解読できようが、他の部分の鍵には影響ないのです。
Re: (スコア:0)
暗号化手法が存在する場合、復号が出来ちゃうんですよ。どれだけ長い鍵だろうとね。
#計算で同じものに戻せるものが限られる。
xorとかだと無理ですがw
Re: (スコア:0)
Re: (スコア:0)
「同程度の長さの任意の平文に変換できます」と説明してあるでしょ?
通話が長くなるほど「会話としてちゃんと成り立っている」別々の平文を導き出す可能性は、それこそいくらでも増えると思いますけどね。
Re: (スコア:0)
> それが正しいかどうか証明できないながらも「たぶんこれで合ってんじゃね?」
その「たぶん」の部分の度合いが問題になるわけで、
ワンタイムパッドを用いた場合、
暗号文とか復号とかうっちゃって勝手に長さだけ同じそれっぽい平分作って
「たぶんこれで合ってんじゃね?」という「たぶん」と同程度しか出来ないって事。
それって「暗号を解読した」とは言い難いよね。
#シャノンは「暗号が解けない」と言うことを「定義」したのがエライんだと思うの