Home
About
Corporate Site
About
BB84
Cirq
BB84
Python
2019年12月5日
CirqでBB84を実装してみた
量子プログラミングのライブラリCirqを使って、量子鍵配送プロトコルBB84を実装してみました。 Cirq Googleが公開している量子プログラミングのライブラリです。(https://cirq.readthedocs.io/en/stable/) 以前Cirqでフーリエ変換を実装したことがあるので、興味のある方はそちらもどうぞ。( http://tech.innovation.co.jp/2019/03/16/Cirq.html) BB84 量子鍵配送のプロトコルです。(https://ja.wikipedia.org/wiki/BB84) BB84をざっくり説明するとこんな感じです(間違ってたら教えてください) * 送信者はランダムにビット列を生成する * それぞれのビットをqubitにエンコードして受信者に送信する。その際、X基底・H基底のどちらをランダムに選択してエンコードする * 受信者はそれぞれのqubitをデコードして値を読み取る。その際、X基底・H基底のどちらをランダムに選択してデコードする * 送信者と受信者は何番目のビットをどちらの基底でエンコー