一、什麼是「非平衡油醋架構(UOV)」
Unbalanced Oil and Vinegar(UOV)
是一種典型的多變量二次型(MQ)後量子簽章系統,屬於 後量子密碼學 中 MQ 家族。
🔑 基本概念
將變數分成兩類:- Vinegar variables(醋變數):數量 v
- Oil variables(油變數):數量 o
- 滿足 v > o(非平衡)
👉 核心設計目的:
避免 Oil–Oil 項,讓簽章可線性求解
視覺架構元素:
- 🟧 油空間(Oil Space) - 以溫暖的橙/琥珀色調表示私鑰組件
- 🔵 醋空間(Vinegar Space) - 以冷色調藍/青綠色表示公開變數
- 🟣 混合交集區 - 以紫色漸層顯示兩者的關聯性
示意圖包含多項數學元素,如多項式方程表示、矩陣表示,以及兩個空間之間的不對稱關係。加入箭頭以表示從私鑰到公鑰的單向轉換過程。
背景採用白色或淺灰色,搭配幾何圖形、連接線與專業字體標示,例如「Oil Space」、「Vinegar Space」、「Private Key」、「Public Key」與「Trapdoor Function」。並加入細緻網格圖樣與技術性設計元素,以傳達安全性與密碼學複雜度。
二、UOV 多項式結構
對每個輸出方程 PkP_kPk:

⭐ 關鍵限制

👉 Oil–Oil 項 = 0
這使得:
- 固定 vinegar
- 對 oil 成為線性系統
三、完整 UOV 實施範例(GF(2⁸))
這裡給你一個專業但可理解的完整 toy example。
⭐ Step 1 — 參數設定
選擇有限域:

(實務中常用)
變數數:
- v = 3 vinegar
- o = 2 oil
- n = 5
- m = 2 方程
變數:

⭐ Step 2 — 私鑰 central map F
建立兩個多項式:
多項式 F1

多項式 F2

👉 可見:

⭐ Step 3 — 隱藏變換(私鑰)
UOV 私鑰包含:
✔ central map F
✔ 左 affine map S
✔ 右 affine map T

👉 公鑰 = P
⭐ Step 4 — 簽章流程
給定訊息 m:
① hash

② 求解 preimage
需求:

③ vinegar 隨機
選:

④ oil 線性化
代入 vinegar:
每個方程變成:

👉 2×2 線性系統
⑤ 解線性系統
用 Gaussian elimination
得到:

⑥ 反變換

👉 簽章
⭐ Step 5 — 驗證
驗證者:

四、Python pseudo-code(專業風格)
def sign(m, sk):
y = H(m)
y = S_inv(y)
while True:
v = random_vector(v_dim)
A, b = linearize_oil(F, v, y)
if is_solvable(A, b):
o = solve(A, b)
x = concat(v, o)
return T_inv(x)
👉 這是實務 UOV signer skeleton
五、為何 UOV 可行(核心數學)
因為:

👉 對 o:
線性
所以:
- MQ inversion → polynomial
- signing → linear algebra
六、UOV 安全性來源
① MQ problem NP-hard
② affine hiding
③ vinegar randomization
④ rank attack difficulty
👉 目前仍是 MQ strong candidate
七、UOV 在現代 PQC 位置
UOV 是:
- Rainbow 祖先
- MQ-Signature family 核心
與:
- GeMSS
- Rainbow
- MAYO
同族



