# qkd_weak_seed.py - Simulated QKD privacy amplification with weak seed
import hashlib, os, time
def privacy_amplification(sifted_key, seed):
# Weak: seed derived from current time, predictable
if seed is None:
seed = str(time.time()).encode()
return hashlib.sha256(seed + sifted_key).digest()
# In real QKD, an eavesdropper who knows the seed can reduce the final key's entropy.
weak_seed = str(time.time()).encode()
final_key = privacy_amplification(b'raw_key', weak_seed)
print("Final key with weak seed generated.")
QKD 系统在隐私放大阶段使用可预测的种子(例如系统时间)。能够猜出种子的攻击者可大幅降低最终密钥的有效熵,从而可能破坏量子信道的安全性。
运行模拟:
python qkd_weak_seed.py
输出演示了可预测种子的使用。