パスワードを忘れた? アカウント作成

秘密計算技術の普及を目的とする「秘密計算研究会」」記事へのコメント

  • 秘密計算とは (スコア:5, 参考になる)

    by 90 (35300) on 2021年02月19日 16時57分 (#3981234) 日記

    一定のアルゴリズムで暗号化したデータに対して、暗号のまま四則演算やビット演算が行える技術ですね。数学的には平文と等価だけれども入力も出力も暗号のままで、処理している中間データや返却値を覗いても解読できず、サービス運営者や作業者は知る必要がない情報を知らずに済むというやつ。

    ただ、どの方式も計算量が膨大で実用にならないまま何十年も経過していたような。

    ここに返信
    • by Anonymous Coward

      ゼロ知識証明と関連があるのかな
      ちょっと似てそうな素人の印象

    • by Anonymous Coward

      なるほどわからん。どうやってデバッグするんだろう...

      # 組み込みでopenssl、期待通り動かないときのデバッグがしんどいんだよね...

      • by 90 (35300) on 2021年02月19日 21時31分 (#3981424) 日記

        処理プログラムの形式的証明で……みたいな理想論に理想論を重ねた世界に入っていきそう。

      • by Anonymous Coward

        ルーチンがおかしいのか中身がおかしいのかわからんな。
        開発中は中身がわかってるモックデータ使うのだろうけど、本番環境などで予期していないデータがきておかしなことになってたとしても再現させられないのでは。

    • by Anonymous Coward

      ネーミングが最高に良い

    • by Anonymous Coward

      思うにDBテーブル構造を社外に晒した時点でもうダメw
      カラム一個にまとめてレコードにも状態シフト入れるくらいじゃないと
      全文検索どころか操作更新もままならないクソ仕様
      秘密にしたい深さ線引の問題なんだろうけど

      • by Anonymous Coward

        >思うにDBテーブル構造を社外に晒した時点でもうダメw

        そこら辺は、分析サービス用のレコード形式に、参加者が合わせればいいだけではないでしょうか。

    • by Anonymous Coward

      最近のCPUには、コードやデータを暗号化したまま処理できる機能があるものが多い
      平文はCPUダイ内でのみ存在し、CPUダイの外では暗号化されたものしか存在しない
      DRAM上でももちろん暗号化されてる

      そういった命令群を使えば(実装にバグやバックドアがなければ)、
      比較的容易にそういったことが可能では?

      • by Anonymous Coward

        CPUで暗号化解除したら「暗号化したまま処理」してないからw
        大体、研究とサービス設計の区別もついてないし…w

    • by Anonymous Coward

      f()が暗号化する関数とすれば、f(x+y)=f(x)+f(y)とかf(xy)=f(x)f(y)ってことでいいんだよね?もともとの代数構造を保存してしまう暗号化って、「ぐちゃぐちゃ度」が低くなって、そこが弱点になりがちなんじゃないのか?という疑問がわくけど、どうなんだろ?

      • by Anonymous Coward on 2021年02月20日 8時08分 (#3981568)

        ノー。f(x+y)=g(f(x),f(y))が正しい。安全性を落とさずに、足し算や掛け算以外のいろんなのに対してfやgを上手く作ってる。

        • by Anonymous Coward

          言い方悪かった。f(x+1y)=f(x)+2f(y), +1 がもとの代数系の和で+2が暗号化した代数系の和。この和の計算は実際には複雑なものになっても、交換性とか、和の持っている性質は満たしているということでいいのかな?暗号強度への影響はどうなんだろ?

          • by Anonymous Coward

            準同型暗号はCCA安全性を満たしません。
            攻撃者は、暗号文 f(x) を直接復号できなくても、代わりに f(x)+f(1) を復号して x+1 を求め、次に x=(x+1)-1 として、平文を求められてしまうからです。
            (準同型性のために f(x)+f(1) の復号結果が x+1 と等しくなってしまうのです. また、公開鍵暗号なので攻撃者は 1 の暗号文 f(1) を容易に計算できます。)
            (なぜ攻撃者は f(x)+f(1) を復号できるのか? これは、CCA安全性の定義では、そういう強い攻撃者を想定するからです。)

            では、CCA安全性を満たさないと実用上どういう問題があるのか? ...すみません、私は専門家でないのでそこは分かりません。

      • by Anonymous Coward

        RSAがf(xy)=f(x)f(y)満たしますね
        さて、弱点でしょうか

    • by Anonymous Coward

      寡聞にてまったく存じませんでしたが、
      なんか、公開鍵暗号方式のときと同じ様に、意味はわかるが、実現可能?、そんなの不可能では?って感じの「夢の技術」ですね。

      理屈の上では、暗号アルゴリズムと暗号鍵(あと平文)から、暗号化データ、「だけじゃなく」、暗号型加算プロシージャ、暗号型減算プロシージャ、比較、等々の暗号型プロシージャを生成すれば、できるって発想なんだろうけど。
               比較プロシージャ( ==, 0x01, 0x02 ) #=> False そうなるよな
            暗号型比較プロシージャ( ==, 0x01, 0x02 ) #=

      • by Anonymous Coward

        追記 掛け算で例えたほうが、おもしろいかも。

           算術プロシージャ( ✕, 0x01, 0x02) #=> 0x02 1✕2は2
        暗号型算術プロシージャ( ✕, 0x01, 0x02) #=> 0x20 1✕2は20倍やぞ!

    • by Anonymous Coward

      AIと相性が良い部分があるのはわかるんだけど、時間データとかの時系列をどう担保するんだろう

    • by Anonymous Coward

      そんなこともないみたいですよ。だいたいスクリプト言語での処理と同じくらいのスピードらしい。
      https://www.jstage.jst.go.jp/article/essfr/12/1/12_12/_article/-char/ja [jst.go.jp]

      • by Anonymous Coward

        うーん。十分に遅い。

        • by Anonymous Coward

          復号化、計算、暗号化、中間処理のデータの後始末の手間と比較しないと

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

処理中...