0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HQCに関するメモ

Last updated at Posted at 2025-04-03

符号系の公開鍵暗号HQCがつい最近PQCに選ばれた。
この暗号は符号は何でもいいが、暗号文に過剰なエラーを加えておき、秘密鍵を知っている人だけがそのエラーの重みを減らすことができる。
そして、その結果誤り訂正可能になる。
McElieceのように符号の構造を隠すのではなく、暗号文に細工をするところが大きな特徴である。
符号にはリードソロモン符号を外符号として、内符号をリードマラー符号を使うなど、かなりマニアックな符号化を使うようだ。
また公開鍵を作るときにエラーベクトル同士の積を撮る場合、Schur積と呼ばれる積を導入しエラーの重みが減るように出来ている。
ここでSchur積とは以下のような演算である。

$$ x*y=(x_1,x_2,x_3,x_4)*(y_1,y_2,y_3,y_4)=(x_1y_1,x_2y_2,x_3y_3,x_4y_4) $$

$h$を$n$bitサイズの公開乱数とし、以下同様に秘密のエラーベクトルを$sk=(x,y)$とする。
公開鍵は$pk=(h,s=x+h*y)$である。(これだけ)
暗号化は次のようにする。
2つのランダムベクトル$r=(r_1,r_2)$を使って$u=r_1+h*r_2$とし、$v=mG+s*r_2+e$とする。
暗号文は$c=(u,v)$である。
$$m=Decode.(v-u*y)$$
ここで、エラーベクトルの重みは、
$$w(x*r_2+r_1*y+e)<t$$
となるのであろう。ここでエラーベクトル$hyr_2$が消えることでエラーベクトルの重みを減らしている。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?