Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 1 year has passed since last update.

完全凖同型暗号の雰囲気

Posted at

はじめに

この記事は大阪工業大学 Advent Calendar 2022の21日目の記事です。
急いで書いたので怪文書になってるかもしれません。

凖同型暗号とは

凖同型暗号とは、暗号化したまま計算ができる暗号方式である。
計算をするときに、複数の事象の類似性を利用する数学的な性質を使っている。
今までは、足し算だけ、掛け算だけができる暗号は2000年までには基礎ができていた。
2009年にGentryが達成している。しかし、当時は1bitの平文の暗号文が1GBとすごく頭でっかち

環凖同型写像とは

環Aから環Bへの写像$f$は次の3つの条件を満たすとき。環凖同型写像という。

  1. $f(x + y) = f(x) + f(y)$
    このとき$f$は加法群の凖同型写像であり、従って次が成り立つ。
    $f(x - y) = f(x) - f(y), f(-x) = -f(x), f(0) = 0.$
  2. $f(xy) = f(x)f(y)$
  3. $f(1) = 1$

完全とは

0と1の世界では足し算は、xor、掛け算はandに相当している。

足し算

+ 0 1
0 0 1
1 1 0

掛け算

* 0 1
0 0 0
1 0 1

これらの計算の両方ができると任意の関数$f$に対して暗号を構成することが可能になる

$f(Enc(message)) = Enc(f(message))$

雰囲気

今回は二個の暗号文を考える
$c_1 = m_1 + e_1, c_2 = m_2 + e_2$

加法凖同型

$c_1 = m_1 + e_1, c_2 = m_2 + e_2$ これらを足すと
$c_1 + c_2 = (m_1 + m_2) + (e_1 + e_2)$ になる
これは$m_1 + m_2$の情報 + ノイズの形になったので
暗号文から$m_1 + m_2$が取り出すことができるい。
これが加法凖同型である。

乗法凖同型

$c_1 = m_1 + e_1, c_2 = m_2 + e_2$
$c_1c_2 = (m_1 + e_1)(m_2 + e_2)$
$ = m_1m_2 + (m_1e_2 + m_2e_1 + e_1e_2)$
$ = m_1m_2 + e' $

$e_1, e_2$が$m_1, m_2$に比べて十分に小さければ
$e' = m_1e_2 + m_2e_1 + e_1e_2$は$m_1m_2$に比べて小さい
$c_1c_2$は$m_1m_2$の情報 + ノイズの形にすることができたので
暗号文から$m_1m_2$を取り出すことができる
これが乗法凖同型である。

完全凖同型

加法凖同型 + 乗法凖同型 = 完全凖同型

ブートストラップ

ノイズが増えて大変なことになるので定期的にリセットする機構 (あとで書く)

参考文献

可換代数入門 Atiyah-MacDonald

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?