(57)【要約】      （修正有）【課題】物理的複製困難関数（ＰＵＦ）技術を使用したエンタングルメント・リコールシステムを提供する。【解決手段】エンタングルメント・リコールシステムは、アンチヒューズ型ＰＵＦセルアレイと処理回路とを含む。アンチヒューズ型ＰＵＦセルアレイは、少なくとも１つのキーを生成する。処理回路は、アンチヒューズ型ＰＵＦセルアレイと接続されて少なくとも１つのキーを受信する。エンタングルメント動作が実行されている間、処理回路は、プレーンテキストおよび少なくとも１つのキーを受信し、プレーンテキストおよび少なくとも１つのキーに従って暗号テキストを生成する。リコール動作が実行されている間、処理回路は、暗号テキストおよび少なくとも１つのキーを受信し、暗号テキストおよび少なくとも１つのキーに従ってプレーンテキストを生成する。【選択図】図１
2019122046.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのキーを生成するアンチヒューズ型ＰＵＦセルアレイと、
前記アンチヒューズ型ＰＵＦセルアレイと接続されて前記少なくとも１つのキーを受信する処理回路と、
を備える、エンタングルメント・リコールシステムであって、
エンタングルメント動作が実行されている間、前記処理回路は、プレーンテキストおよび前記少なくとも１つのキーを受信し、前記プレーンテキストおよび前記少なくとも１つのキーに従って暗号テキストを生成し、
リコール動作が実行されている間、前記処理回路は、前記暗号テキストおよび前記少なくとも１つのキーを受信し、前記暗号テキストおよび前記少なくとも１つのキーに従って前記プレーンテキストを生成する、エンタングルメント・リコールシステム。
【請求項２】
前記アンチヒューズ型ＰＵＦセルアレイは、登録されているアンチヒューズ型ワンタイムプログラミングセルアレイである、請求項１に記載のエンタングルメント・リコールシステム。
【請求項３】
前記エンタングルメント・リコールシステムは、記憶回路をさらに備え、前記暗号テキストは前記記憶回路に記憶される、請求項１に記載のエンタングルメント・リコールシステム。
【請求項４】
前記処理回路は、
シーケンス論理回路と、
前記シーケンス論理回路および前記アンチヒューズ型ＰＵＦセルアレイと接続されたランダム化論理回路と、
を備える、請求項１に記載のエンタングルメント・リコールシステム。
【請求項５】
前記エンタングルメント動作が実行されている間、前記シーケンス論理回路は、前記プレーンテキストを受信し、シーケンス調整プロセスを実行して第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび第１のキーを受信し、前記第１のデータおよび前記第１のキーに従って前記暗号テキストを生成し、前記リコール動作が実行されている間、前記ランダム化論理回路は、前記暗号テキストおよび前記第１のキーを受信し、前記暗号テキストおよび前記第１のキーに従って前記第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータを受信し、シーケンス逆転プロセスを実行して前記プレーンテキストを生成する、請求項４に記載のエンタングルメント・リコールシステム。
【請求項６】
前記ランダム化論理回路が前記第１のデータおよび前記第１のキーに対してＸＯＲ演算を実行した後、前記暗号テキストが生成され、前記ランダム化論理回路が前記暗号テキストおよび前記第１のキーに対して前記ＸＯＲ演算を実行した後、前記第１のデータが生成される、請求項５に記載のエンタングルメント・リコールシステム。
【請求項７】
前記ランダム化論理回路が前記第１のデータおよび前記第１のキーに対して暗号化プロセスを実行した後、前記暗号テキストが生成され、前記ランダム化論理回路が前記暗号テキストおよび前記第１のキーに対して復号プロセスを実行した後、前記第１のデータが生成される、請求項５に記載のエンタングルメント・リコールシステム。
【請求項８】
前記シーケンス論理回路は、前記アンチヒューズ型ＰＵＦセルアレイと電気的と接続され、前記エンタングルメント動作が実行されている間、前記シーケンス論理回路は、前記プレーンテキストおよび第１のキーを受信し、シーケンス調整プロセスを実行して第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび第２のキーを受信し、前記第１のデータおよび前記第２のキーに従って前記暗号テキストを生成し、前記リコール動作が実行されている間、前記ランダム化論理回路は、前記暗号テキストおよび前記第２のキーを受信し、前記暗号テキストおよび前記第２のキーに従って前記第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータおよび前記第１のキーを受信し、シーケンス逆転プロセスを実行して前記プレーンテキストを生成する、請求項４に記載のエンタングルメント・リコールシステム。
【請求項９】
前記ランダム化論理回路が前記第１のデータおよび前記第２のキーに対してＸＯＲ演算を実行した後、前記暗号テキストが生成され、前記ランダム化論理回路が前記暗号テキストおよび前記第２のキーに対して前記ＸＯＲ演算を実行した後、前記第１のデータが生成される、請求項８に記載のエンタングルメント・リコールシステム。
【請求項１０】
前記ランダム化論理回路が前記第１のデータおよび前記第２のキーに対して暗号化プロセスを実行した後、前記暗号テキストが生成され、前記ランダム化論理回路が前記暗号テキストおよび前記第２のキーに対して復号プロセスを実行した後、前記第１のデータが生成される、請求項８に記載のエンタングルメント・リコールシステム。
【請求項１１】
前記エンタングルメント動作が実行されている間、前記ランダム化論理回路は、前記プレーンテキストおよび第１のキーを受信し、前記プレーンテキストおよび前記第１のキーに従って第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータを受信し、シーケンス調整プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記シーケンス論理回路は、前記暗号テキストを受信し、シーケンス逆転プロセスを実行して前記第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび前記第１のキーを受信し、前記第１のデータおよび前記第１のキーに従って前記プレーンテキストを生成する、請求項４に記載のエンタングルメント・リコールシステム。
【請求項１２】
前記ランダム化論理回路が前記プレーンテキストおよび前記第１のキーに対してＸＯＲ演算を実行した後、前記第１のデータが生成され、前記ランダム化論理回路が前記第１のデータおよび前記第１のキーに対して前記ＸＯＲ演算を実行した後、前記プレーンテキストが生成される、請求項１１に記載のエンタングルメント・リコールシステム。
【請求項１３】
前記ランダム化論理回路が前記プレーンテキストおよび前記第１のキーに対して暗号化プロセスを実行した後、前記第１のデータが生成され、前記ランダム化論理回路が前記第１のデータおよび前記第１のキーに対して復号プロセスを実行した後、前記プレーンテキストが生成される、請求項１１に記載のエンタングルメント・リコールシステム。
【請求項１４】
前記エンタングルメント動作が実行されている間、前記ランダム化論理回路は、前記プレーンテキストおよび第１のキーを受信し、前記プレーンテキストおよび前記第１のキーに従って第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータおよび第２のキーを受信し、シーケンス調整プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記シーケンス論理回路は、前記暗号テキストおよび前記第２のキーを受信し、シーケンス逆転プロセスを実行して前記第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび前記第１のキーを受信し、前記第１のデータおよび前記第１のキーに従って前記プレーンテキストを生成する、請求項４に記載のエンタングルメント・リコールシステム。
【請求項１５】
前記ランダム化論理回路が前記プレーンテキストおよび前記第１のキーに対してＸＯＲ演算を実行した後、前記第１のデータが生成され、前記ランダム化論理回路が前記第１のデータおよび前記第１のキーに対して前記ＸＯＲ演算を実行した後、前記プレーンテキストが生成される、請求項１４に記載のエンタングルメント・リコールシステム。
【請求項１６】
前記ランダム化論理回路が前記プレーンテキストおよび前記第１のキーに対して暗号化プロセスを実行した後、前記第１のデータが生成され、前記ランダム化論理回路が前記第１のデータおよび前記第１のキーに対して復号プロセスを実行した後、前記プレーンテキストが生成される、請求項１４に記載のエンタングルメント・リコールシステム。
【請求項１７】
前記処理回路は、
シーケンス論理回路と、
前記アンチヒューズ型ＰＵＦセルアレイと接続されたランダム化論理回路と、
前記アンチヒューズ型ＰＵＦセルアレイと接続された暗号化論理回路と、
を備える、請求項１に記載のエンタングルメント・リコールシステム。
【請求項１８】
前記暗号化論理回路は、データ暗号化標準回路を備え、前記データ暗号化標準回路は、前記アンチヒューズ型ＰＵＦセルアレイから第１のキーを受信し、暗号化プロセスまたは復号プロセスを選択的に実行する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項１９】
前記暗号化論理回路は、高度暗号化標準回路を備え、前記高度暗号化標準回路は、前記アンチヒューズ型ＰＵＦセルアレイから第１のキーを受信し、暗号化プロセスまたは復号プロセスを選択的に実行する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２０】
前記ランダム化論理回路は、前記シーケンス論理回路および前記暗号化論理回路と接続され、前記エンタングルメント動作が実行されている間、前記シーケンス論理回路は、前記プレーンテキストを受信し、シーケンス調整プロセスを実行して第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび第１のキーを受信し、前記第１のデータおよび前記第１のキーに従って第２のデータを生成し、前記暗号化論理回路は、前記第２のデータおよび第２のキーを受信し、暗号化プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記暗号化論理回路は、前記暗号テキストおよび前記第２のキーを受信し、復号プロセスを実行して前記第２のデータを生成し、前記ランダム化論理回路は、前記第２のデータおよび前記第１のキーを受信し、前記第２のデータおよび前記第１のキーに従って前記第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータを受信し、シーケンス逆転プロセスを実行して前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２１】
前記ランダム化論理回路は、前記シーケンス論理回路および前記暗号化論理回路と接続され、前記エンタングルメント動作が実行されている間、前記暗号化論理回路は、前記プレーンテキストおよび第１のキーを受信し、暗号化プロセスを実行して第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび第２のキーを受信し、前記第１のデータおよび前記第２のキーに従って第２のデータを生成し、前記シーケンス論理回路は、前記第２のデータを受信し、シーケンス調整プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記シーケンス論理回路は、前記暗号テキストを受信し、シーケンス逆転プロセスを実行して前記第２のデータを生成し、前記ランダム化論理回路は、前記第２のデータおよび前記第２のキーを受信し、前記第２のデータおよび前記第２のキーに従って前記第１のデータを生成し、前記暗号化論理回路は、前記第１のデータおよび前記第１のキーを受信し、復号プロセスを実行して前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２２】
前記ランダム化論理回路は、前記シーケンス論理回路および前記暗号化論理回路と接続され、前記シーケンス論理回路は、前記アンチヒューズ型ＰＵＦセルアレイと接続され、前記エンタングルメント動作が実行されている間、前記シーケンス論理回路は、前記プレーンテキストおよび第１のキーを受信し、シーケンス調整プロセスを実行して第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび第２のキーを受信し、前記第１のデータおよび前記第２のキーに従って第２のデータを生成し、前記暗号化論理回路は、前記第２のデータおよび第３のキーを受信し、暗号化プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記暗号化論理回路は、前記暗号テキストおよび前記第３のキーを受信し、復号プロセスを実行して前記第２のデータを生成し、前記ランダム化論理回路は、前記第２のデータおよび前記第２のキーを受信し、前記第２のデータおよび前記第２のキーに従って前記第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータおよび前記第１のキーを受信し、シーケンス逆転プロセスを実行して前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２３】
前記ランダム化論理回路は、前記シーケンス論理回路および前記暗号化論理回路と接続され、前記シーケンス論理回路は、前記アンチヒューズ型ＰＵＦセルアレイと接続され、前記エンタングルメント動作が実行されている間、前記暗号化論理回路は、前記プレーンテキストおよび第１のキーを受信し、暗号化プロセスを実行して第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび第２のキーを受信し、前記第１のデータおよび前記第２のキーに従って第２のデータを生成し、前記シーケンス論理回路は、前記第２のデータおよび第３のキーを受信し、シーケンス調整プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記シーケンス論理回路は、前記暗号テキストおよび前記第３のキーを受信し、シーケンス逆転プロセスを実行して前記第２のデータを生成し、前記ランダム化論理回路は、前記第２のデータおよび前記第２のキーを受信し、前記第２のデータおよび前記第２のキーに従って前記第１のデータを生成し、前記暗号化論理回路は、前記第１のデータおよび前記第１のキーを受信し、復号プロセスを実行して前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２４】
前記シーケンス論理回路は、前記ランダム化論理回路および前記暗号化論理回路と接続され、前記エンタングルメント動作が実行されている間、前記ランダム化論理回路は、前記プレーンテキストおよび第１のキーを受信し、前記プレーンテキストおよび前記第１のキーに従って第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータを受信し、シーケンス調整プロセスを実行して第２のデータを生成し、前記暗号化論理回路は、前記第２のデータおよび第２のキーを受信し、暗号化プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記暗号化論理回路は、前記暗号テキストおよび前記第２のキーを受信し、復号プロセスを実行して前記第２のデータを生成し、前記シーケンス論理回路は、前記第２のデータを受信し、シーケンス逆転プロセスを実行して前記第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび前記第１のキーを受信し、前記第１のデータおよび前記第１のキーに従って前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２５】
前記シーケンス論理回路は、前記ランダム化論理回路および前記暗号化論理回路と接続され、前記エンタングルメント動作が実行されている間、前記暗号化論理回路は、前記プレーンテキストおよび第１のキーを受信し、暗号化プロセスを実行して第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータを受信し、シーケンス調整プロセスを実行して第２のデータを生成し、前記ランダム化論理回路は、前記第２のデータおよび第２のキーを受信し、前記第２のデータおよび前記第２のキーに従って前記暗号テキストを生成し、前記リコール動作が実行されている間、前記ランダム化論理回路は、前記暗号テキストおよび前記第２のキーを受信し、前記暗号テキストおよび前記第２のキーに従って前記第２のデータを生成し、前記シーケンス論理回路は、前記第２のデータを受信し、シーケンス逆転プロセスを実行して前記第１のデータを生成し、前記暗号化論理回路は、前記第１のデータおよび前記第１のキーを受信し、復号プロセスを実行して前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２６】
前記シーケンス論理回路は、前記ランダム化論理回路および前記暗号化論理回路と接続され、前記シーケンス論理回路は、前記アンチヒューズ型ＰＵＦセルアレイと接続され、前記エンタングルメント動作が実行されている間、前記ランダム化論理回路は、前記プレーンテキストおよび第１のキーを受信し、前記プレーンテキストおよび前記第１のキーに従って第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータおよび第２のキーを受信し、シーケンス調整プロセスを実行して第２のデータを生成し、前記暗号化論理回路は、前記第２のデータおよび第３のキーを受信し、暗号化プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記暗号化論理回路は、前記暗号テキストおよび前記第３のキーを受信し、復号プロセスを実行して前記第２のデータを生成し、前記シーケンス論理回路は、前記第２のデータおよび前記第２のキーを受信し、シーケンス逆転プロセスを実行して前記第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび前記第１のキーを受信し、前記第１のデータおよび前記第１のキーに従って前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２７】
前記シーケンス論理回路は、前記ランダム化論理回路および前記暗号化論理回路と接続され、前記シーケンス論理回路は、前記アンチヒューズ型ＰＵＦセルアレイと接続され、前記エンタングルメント動作が実行されている間、前記暗号化論理回路は、前記プレーンテキストおよび第１のキーを受信し、暗号化プロセスを実行して第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータおよび第２のキーを受信し、シーケンス調整プロセスを実行して第２のデータを生成し、前記ランダム化論理回路は、前記第２のデータおよび第３のキーを受信し、前記第２のデータおよび前記第３のキーに従って前記暗号テキストを生成し、前記リコール動作が実行されている間、前記ランダム化論理回路は、前記暗号テキストおよび前記第３のキーを受信し、前記暗号テキストおよび前記第３のキーに従って前記第２のデータを生成し、前記シーケンス論理回路は、前記第２のデータおよび前記第２のキーを受信し、シーケンス逆転プロセスを実行して前記第１のデータを生成し、前記暗号化論理回路は、前記第１のデータおよび前記第１のキーを受信し、復号プロセスを実行して前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２８】
前記暗号化論理回路は、前記ランダム化論理回路および前記シーケンス論理回路と接続され、前記エンタングルメント動作が実行されている間、前記ランダム化論理回路は、前記プレーンテキストおよび第１のキーを受信し、前記プレーンテキストおよび前記第１のキーに従って第１のデータを生成し、前記暗号化論理回路は、前記第１のデータおよび第２のキーを受信し、暗号化プロセスを実行して第２のデータを生成し、前記シーケンス論理回路は、前記第２のデータを受信し、シーケンス調整プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記シーケンス論理回路は、前記暗号テキストを受信し、シーケンス逆転プロセスを実行して前記第２のデータを生成し、前記暗号化論理回路は、前記第２のデータおよび前記第２のキーを受信し、復号プロセスを実行して前記第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび前記第１のキーを受信し、前記第１のデータおよび前記第１のキーに従って前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項２９】
前記暗号化論理回路は、前記ランダム化論理回路および前記シーケンス論理回路と接続され、前記エンタングルメント動作が実行されている間、前記シーケンス論理回路は、前記プレーンテキストを受信し、シーケンス調整プロセスを実行して第１のデータを生成し、前記暗号化論理回路は、前記第１のデータおよび第１のキーを受信し、暗号化プロセスを実行して第２のデータを生成し、前記ランダム化論理回路は、前記第２のデータおよび第２のキーを受信し、前記第２のデータおよび前記第２のキーに従って前記暗号テキストを生成し、前記リコール動作が実行されている間、前記ランダム化論理回路は、前記暗号テキストおよび前記第２のキーを受信し、前記暗号テキストおよび前記第２のキーに従って前記第２のデータを生成し、前記暗号化論理回路は、前記第２のデータおよび前記第１のキーを受信し、復号プロセスを実行して前記第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータを受信し、シーケンス逆転プロセスを実行して前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項３０】
前記暗号化論理回路は、前記ランダム化論理回路および前記シーケンス論理回路と接続され、前記シーケンス論理回路は、前記アンチヒューズ型ＰＵＦセルアレイと接続され、前記エンタングルメント動作が実行されている間、前記ランダム化論理回路は、前記プレーンテキストおよび第１のキーを受信し、前記プレーンテキストおよび前記第１のキーに従って第１のデータを生成し、前記暗号化論理回路は、前記第１のデータおよび第２のキーを受信し、暗号化プロセスを実行して第２のデータを生成し、前記シーケンス論理回路は、前記第２のデータおよび第３のキーを受信し、シーケンス調整プロセスを実行して前記暗号テキストを生成し、前記リコール動作が実行されている間、前記シーケンス論理回路は、前記暗号テキストおよび前記第３のキーを受信し、シーケンス逆転プロセスを実行して前記第２のデータを生成し、前記暗号化論理回路は、前記第２のデータおよび前記第２のキーを受信し、復号プロセスを実行して前記第１のデータを生成し、前記ランダム化論理回路は、前記第１のデータおよび前記第１のキーを受信し、前記第１のデータおよび前記第１のキーに従って前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【請求項３１】
前記暗号化論理回路は、前記ランダム化論理回路および前記シーケンス論理回路と接続され、前記シーケンス論理回路は、前記アンチヒューズ型ＰＵＦセルアレイと接続され、前記エンタングルメント動作が実行されている間、前記シーケンス論理回路は、前記プレーンテキストおよび第１のキーを受信し、シーケンス調整プロセスを実行して第１のデータを生成し、前記暗号化論理回路は、前記第１のデータおよび第２のキーを受信し、暗号化プロセスを実行して第２のデータを生成し、前記ランダム化論理回路は、前記第２のデータおよび第３のキーを受信し、前記第２のデータおよび前記第３のキーに従って前記暗号テキストを生成し、前記リコール動作が実行されている間、前記ランダム化論理回路は、前記暗号テキストおよび前記第３のキーを受信し、前記暗号テキストおよび前記第３のキーに従って前記第２のデータを生成し、前記暗号化論理回路は、前記第２のデータおよび前記第２のキーを受信し、復号プロセスを実行して前記第１のデータを生成し、前記シーケンス論理回路は、前記第１のデータおよび前記第１のキーを受信し、シーケンス逆転プロセスを実行して前記プレーンテキストを生成する、請求項１７に記載のエンタングルメント・リコールシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムに関し、さらに詳しくは、物理的複製困難関数（ＰＵＦ）技術を使用したエンタングルメント・リコールシステムに関する。
【背景技術】
【０００２】
物理的複製困難関数（ＰＵＦ）技術は、集積回路（ＩＣ）チップ内のデータを保護するための新規な方法である。つまり、ＰＵＦ技術を用いることで、ＩＣチップのデータが盗まれるのを防ぐことができる。ＰＵＦ技術によれば、ＩＣチップには、ランダムコードを提供するためのランダムコード生成器が搭載されている。ランダムコードは、ＩＣチップの固有の識別コード（ＩＤコード）である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
一般に、ＰＵＦ技術は、ＩＣチップの製造ばらつきに応じてＩＣチップの固有のランダムコードを取得する。この製造ばらつきは、ＩＣチップのプロセスばらつきを含む。つまり、ＰＵＦ用ＩＣチップを精密な製造プロセスで製造したとしても、ランダムコードを複製することはできない。
【０００４】
つまり、２つのＩＣチップを同じ製造プロセスで製造したとしても、ＩＤコードは完全には一致しない。その結果、ＰＵＦ用ＩＣチップは、高いセキュリティ要件を有する用途に好適に使用される。
【０００５】
さらに、米国特許第９，６１３，７１４号は、ＰＵＦ技術用のワンタイムプログラミングメモリセルおよびメモリアレイ、ならびに関連するランダムコード生成方法を開示している。ワンタイムプログラミングメモリセルは、ＯＴＰメモリセルとも呼ばれる。
【０００６】
アンチヒューズ型ＯＴＰメモリセルのプロセスばらつきのために、プログラムされたＯＴＰメモリセルの記憶状態を予測することはできない。したがって、プログラムされたＯＴＰメモリセルの記憶状態に応じて１ビットのランダムコードが決定され得る。ＰＵＦ技術を用いたＯＴＰメモリセルをアンチヒューズ型ＰＵＦセルと呼び、ＰＵＦ技術を用いたＯＴＰメモリセルアレイをアンチヒューズ型ＰＵＦセルアレイと呼ぶ。
【０００７】
アンチヒューズ型ＰＵＦセルアレイが製造され、プログラム動作を受けた後、マルチビットランダムコードがアンチヒューズ型ＰＵＦセルアレイに記録される。ＰＵＦ技術によれば、プログラム動作は登録動作とも呼ばれる。アンチヒューズ型ＰＵＦセルがプログラムされる場合には、アンチヒューズ型ＰＵＦセルが登録される。
【課題を解決するための手段】
【０００８】
本発明の一実施形態は、エンタングルメント・リコールシステムを提供する。エンタングルメント・リコールシステムは、アンチヒューズ型ＰＵＦセルアレイと処理回路とを含む。アンチヒューズ型ＰＵＦセルアレイは、少なくとも１つのキーを生成する。処理回路は、アンチヒューズ型ＰＵＦセルアレイと接続されて少なくとも１つのキーを受信する。エンタングルメント動作が実行されている間、処理回路は、プレーンテキストおよび少なくとも１つのキーを受信し、プレーンテキストおよび少なくとも１つのキーに従って暗号テキストを生成する。リコール動作が実行されている間、処理回路は、暗号テキストおよび少なくとも１つのキーを受信し、暗号テキストと少なくとも１つのキーに従ってプレーンテキストを生成する。
【０００９】
本発明の多くの目的、特徴および利点は、添付図面と併せて、以下の本発明の実施形態の詳細な説明を読むことによって容易に明らかになるであろう。しかしながら、本明細書で使用される図面は、説明するためのものであり、限定的なものであると見なされるべきではない。
【００１０】
本発明の上記の目的および利点は、以下の詳細な説明および添付図面を検討した後に、当業者にはより容易に明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るエンタングルメント・リコールシステムの概念を説明する概略ブロック図である。
【００１２】
【図２Ａ】本発明の第１の実施形態に係るエンタングルメント・リコールシステムのアーキテクチャを示す概略ブロック図である。
【００１３】
【図２Ｂ】本発明の第１の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスおよびシーケンス逆転プロセスの一例を示す概略図である。
【図２Ｃ】本発明の第１の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスおよびシーケンス逆転プロセスの一例を示す概略図である。
【００１４】
【図２Ｄ】本発明の第１の実施形態に係るエンタングルメント・リコールシステムのランダム化論理回路の動作を説明するための概略回路図である。
【図２Ｅ】本発明の第１の実施形態に係るエンタングルメント・リコールシステムのランダム化論理回路の動作を説明するための概略回路図である。
【００１５】
【図３Ａ】本発明の第２の実施形態に係るエンタングルメント・リコールシステムのアーキテクチャを示す概略ブロック図である。
【００１６】
【図３Ｂ】本発明の第２の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスおよびシーケンス逆転プロセスの一例を示す概略図である。
【図３Ｃ】本発明の第２の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスおよびシーケンス逆転プロセスの一例を示す概略図である。
【００１７】
【図３Ｄ】本発明の第２の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスおよびシーケンス逆転プロセスの別の例を示す概略図である。
【図３Ｅ】本発明の第２の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスおよびシーケンス逆転プロセスの別の例を示す概略図である。
【００１８】
【図３Ｆ】本発明の第２の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスおよびシーケンス逆転プロセスのさらに別の一例を示す概略図である。
【００１９】
【図４Ａ】本発明の第３の実施形態に係るエンタングルメント・リコールシステムのアーキテクチャを示す概略ブロック図である。
【００２０】
【図４Ｂ】本発明の第３の実施形態に係るエンタングルメント・リコールシステムの暗号化論理回路による暗号化プロセスおよび復号プロセスの一例を示す概略図である。
【図４Ｃ】本発明の第３の実施形態に係るエンタングルメント・リコールシステムの暗号化論理回路による暗号化プロセスおよび復号プロセスの一例を示す概略図である。
【００２１】
【図４Ｄ】本発明の第３の実施形態に係るエンタングルメント・リコールシステムの暗号化論理回路による暗号化プロセスおよび復号プロセスの別の例を示す概略図である。
【図４Ｅ】本発明の第３の実施形態に係るエンタングルメント・リコールシステムの暗号化論理回路による暗号化プロセスおよび復号プロセスの別の例を示す概略図である。
【発明を実施するための形態】
【００２２】
本発明は、物理的複製困難関数（ＰＵＦ）技術を使用したエンタングルメント・リコールシステムを提供する。図１は、本発明の一実施形態に係るエンタングルメント・リコールシステムの概念を説明する概略ブロック図である。エンタングルメント・リコールシステム１００は、集積回路チップ（ＩＣチップ）に搭載されている。エンタングルメント・リコールシステム１００は、アンチヒューズ型ＰＵＦセルアレイ１１０と処理回路１２０とを備える。この実施形態では、アンチヒューズ型ＰＵＦセルアレイ１１０が登録されている。
【００２３】
エンタングルメント動作およびリコール動作が実行されている間、アンチヒューズ型ＰＵＦセルアレイ１１０は処理回路１２０にキーを発行する。
【００２４】
エンタングルメント動作が実行されている間、処理回路１２０は、プレーンテキストおよびキーを受信し、暗号テキストを生成する。暗号テキストは、記憶回路１３０に記憶され得る。記憶回路１３０の一例は、不揮発性メモリまたはハードディスクを含むがこれらに限定されない。別の実施形態では、記憶回路１３０は、エンタングルメント・リコールシステム１００に含まれる。
【００２５】
リコール動作が実行されている間、処理回路１２０は記憶回路１３０から暗号テキストを受信する。その後、処理回路１２０は、暗号テキストおよびキーに従ってプレーンテキストを生成する。
【００２６】
一実施形態では、アンチヒューズ型ＰＵＦセルアレイ１１０は、複数のアンチヒューズ型ＯＴＰメモリセルを備える。プロセスばらつきにより、アンチヒューズ型ＰＵＦセルアレイ１１０内の登録されているアンチヒューズ型ＯＴＰメモリセルの記憶状態を予測することはできない。その結果、ＩＣチップ内のアンチヒューズ型ＰＵＦセルアレイ１１０は、処理回路１２０に予測不可能な固有のキーを提供することができる。
【００２７】
エンタングルメント・リコールシステム１００のキーは、ＩＣチップ内のアンチヒューズ型ＰＵＦセルアレイ１１０によって生成されるため、キーのコンテンツがＩＣチップから容易に漏れることはない。そのため、記憶回路１３０から暗号テキストを取得しても、外部装置はアンチヒューズ型ＰＵＦセルアレイ１１０の生成キーを認識することはできない。このような状況下では、暗号テキストを解読することはできない。
【００２８】
つまり、指定されたＩＣチップのアンチヒューズ型ＰＵＦセルアレイ１１０によって暗号テキストが生成された場合に、そのＩＣチップのみでプレーンテキストをリコールすることができる。指定されたＩＣチップと同様の構造を有する他のＩＣチップは、キーのコンテンツが異なるため、その指定されたＩＣチップによって生成された暗号テキストからプレーンテキストをリコールすることはできない。
【００２９】
例示の実施形態では、ハードウェアセキュリティモジュール（ＨＳＭ）による認証のために、ファクトリキーおよび公開／秘密キーがエンドユーザに送信される。しかしながら、秘密キー（プレーンテキスト）は、エンタングルメント・リコールシステム１００によって最初に処理され得る。その後、暗号テキストがアクティベーションコードとして出力される。このようにして、ファクトリキー、アクティベーションコード、および公開キーがフォローアップ認証のためにエンドユーザに送信される。つまり、秘密キー（プレーンテキスト）の代わりにアクティベーションコード（暗号テキスト）を送信することで、送信経路はより安全な送信経路となり得る。
【００３０】
図２Ａは、本発明の第１の実施形態に係るエンタングルメント・リコールシステムのアーキテクチャを示す概略ブロック図である。エンタングルメント・リコールシステム２００は、ＩＣチップに搭載されている。エンタングルメント・リコールシステム２００は、アンチヒューズ型ＰＵＦセルアレイ２１０と処理回路とを備える。処理回路は、シーケンス論理回路２２０とランダム化論理回路２３０とを備える。
【００３１】
エンタングルメント動作およびリコール動作が実行されている間、アンチヒューズ型ＰＵＦセルアレイ２１０はランダム化論理回路２３０に第１のキーＫＥＹ１を発行する。
【００３２】
エンタングルメント動作が実行されている間、シーケンス論理回路２２０はプレーンテキストＤａｔａ＿ｐを受信する。シーケンス調整プロセスの後、シーケンス論理回路２２０は第１のデータＤａｔａ＿ｓを生成する。その後、ランダム化論理回路２３０が、第１のデータＤａｔａ＿ｓおよび第１のキーＫＥＹ１を受信し、暗号テキストＤａｔａ＿ｃを生成する。暗号テキストＤａｔａ＿ｃは、記憶回路２４０に記憶され得る。
【００３３】
リコール動作が実行されている間、ランダム化論理回路２３０は、暗号テキストＤａｔａ＿ｃおよび第１のキーＫＥＹ１を受信し、第１のデータＤａｔａ＿ｓを生成する。その後、シーケンス論理回路２２０が、第１のデータＤａｔａ＿ｓを受信する。シーケンス逆転プロセスの後、シーケンス論理回路２２０は、プレーンテキストＤａｔａ＿ｐを生成する。
【００３４】
この実施形態では、シーケンス論理回路２２０は、シーケンス調整プロセスおよびシーケンス逆転プロセスを対称スワッピング方式で実行する。
【００３５】
図２Ｂは、本発明の第１の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスの一例を示す概略図である。図２Ｃは、本発明の第１の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス逆転プロセスの一例を示す概略図である。
【００３６】
図２Ｂを参照されたい。シーケンス論理回路２２０は、２つのレジスタ２２２、２２４を備える。レジスタ２２２は、プレーンテキストＤａｔａ＿ｐを受信する。プレーンテキストＤａｔａ＿ｐは、４つの部分Ｐ１〜Ｐ４に分割される。例えば、プレーンテキストＤａｔａ＿ｐのサイズは、３２ビットである。さらに、プレーンテキストＤａｔａ＿ｐは、４バイトに分割される。プレーンテキストの第１の部分Ｐ１のコンテンツは、レジスタ２２２のアドレスＡ３１〜Ａ２４に記録される。プレーンテキストの第２の部分Ｐ２のコンテンツは、レジスタ２２２のアドレスＡ２３〜Ａ１６に記録される。プレーンテキストの第３の部分Ｐ３のコンテンツは、レジスタ２２２のアドレスＡ１５〜Ａ８に記録される。プレーンテキストの第４の部分Ｐ４のコンテンツは、レジスタ２２２のアドレスＡ７〜Ａ０に記録される。
【００３７】
シーケンス論理回路２２０がシーケンス調整プロセスを実行している間、第１の部分Ｐ１と第２の部分Ｐ２とが交換され、第３の部分Ｐ３と第４の部分Ｐ４とが交換される。その結果、第１のデータＤａｔａ＿ｓが生成され、レジスタ２２４に記憶される。シーケンス調整プロセスが完了した後、プレーンテキストの第２の部分Ｐ２のコンテンツはレジスタ２２４のアドレスＡ３１〜Ａ２４に記録され、プレーンテキストの第１の部分Ｐ１のコンテンツはレジスタ２２４のアドレスＡ２３〜Ａ１６に記録され、プレーンテキストの第４の部分Ｐ４のコンテンツはレジスタ２２４のアドレスＡ１５〜Ａ８に記録され、プレーンテキストの第３の部分Ｐ３のコンテンツはレジスタ２２４のアドレスＡ７〜Ａ０に記録される。
【００３８】
図２Ｃを参照されたい。レジスタ２２２は、第１のデータＤａｔａ＿ｓを受信する。第１のデータＤａｔａ＿ｓは、プレーンテキストの第２の部分Ｐ２、第１の部分Ｐ１、第４の部分Ｐ４、および第３の部分Ｐ３を順に含む。すなわち、プレーンテキストの第２の部分Ｐ２のコンテンツはレジスタ２２４のアドレスＡ３１〜Ａ２４に記録され、プレーンテキストの第１の部分Ｐ１のコンテンツはレジスタ２２４のアドレスＡ２３〜Ａ１６に記録され、プレーンテキストの第４の部分Ｐ４のコンテンツはレジスタ２２４のアドレスＡ１５〜Ａ８に記録され、プレーンテキストの第３の部分Ｐ３のコンテンツはレジスタ２２４のアドレスＡ７〜Ａ０に記録される。
【００３９】
シーケンス論理回路２２０がシーケンス逆転プロセスを実行している間、第２の部分Ｐ２と第１の部分Ｐ１とが交換され、第４の部分Ｐ４と第３の部分Ｐ３とが交換される。その結果、プレーンテキストＤａｔａ＿ｐが生成され、レジスタ２２４に記憶される。シーケンス逆転プロセスが完了した後、プレーンテキストの第１の部分Ｐ１のコンテンツはレジスタ２２４のアドレスＡ３１〜Ａ２４に記録され、プレーンテキストの第２の部分Ｐ２のコンテンツはレジスタ２２４のアドレスＡ２３〜Ａ１６に記録され、プレーンテキストの第３の部分Ｐ３のコンテンツはレジスタ２２４のアドレスＡ１５〜Ａ８に記録され、プレーンテキストの第４の部分Ｐ４のコンテンツはレジスタ２２４のアドレスＡ７〜Ａ０に記録される。したがって、シーケンス逆転プロセスが完了した後、第１のデータＤａｔａ＿ｓはプレーンテキストＤａｔａ＿ｐに復元される。
【００４０】
上述したように、シーケンス調整プロセスの間、第１のバイトと第２のバイトとが交換され、第３のバイトと第４のバイトとが交換される。シーケンス調整プロセスが完了した後、第１のデータＤａｔａ＿ｓは、プレーンテキストの第２のバイト、第１のバイト、第４のバイト、および第３のバイトを順に含む。また、シーケンス逆転プロセスが完了した後、第１のデータＤａｔａ＿ｓはプレーンテキストＤａｔａ＿ｐに復元される。
【００４１】
シーケンス調整プロセスおよびシーケンス逆転プロセスの例は限定されない。すなわち、対称スワッピング方式のシーケンス調整プロセスおよびシーケンス逆転プロセスの他の例が実現可能である。例えば、別の実施形態では、プレーンテキストＤａｔａ＿ｐも４つの部分Ｐ１〜Ｐ４に分割される。シーケンス調整プロセスが実行されている間、第４の部分Ｐ４と第１の部分Ｐ１とが交換され、第３の部分Ｐ３と第２の部分Ｐ２とが交換される。その結果、第１のデータＤａｔａ＿ｓが生成される。同様に、シーケンス逆転プロセスが完了した後、第１のデータＤａｔａ＿ｓはプレーンテキストＤａｔａ＿ｐに復元される。
【００４２】
図２Ｄおよび図２Ｅは、本発明の第１の実施形態に係るエンタングルメント・リコールシステムのランダム化論理回路の動作を説明する概略回路図である。ランダム化論理回路２３０は、２つのレジスタ２３２、２３４および複数のＸＯＲゲート９００〜９３１を備える。ランダム化論理回路２３０が第１のデータＤａｔａ＿ｓおよび第１のキーＫＥＹ１に対してＸＯＲ演算を実行した後、暗号テキストＤａｔａ＿ｃが生成される。
【００４３】
図２Ｄに示すように、レジスタ２３２は３２ビットのｓ３１〜ｓ０を有する第１のデータＤａｔａ＿ｓを受信し、レジスタ２３４は３２ビットのｋ３１〜ｋ０を有する第１のキーＫＥＹ１を受信する。ＸＯＲゲート９００によって第１のデータＤａｔａ＿ｓのビットｓ０と第１のキーＫＥＹ１のビットｋ０に対してＸＯＲ演算が実行された後、暗号テキストＤａｔａ＿ｃのビットｃ０が生成される。以上のプロセスが繰り返し行われた後、暗号テキストＤａｔａ＿ｃの他のビットｃ３１〜ｃ１が生成される。
【００４４】
ランダム化論理回路２３０が暗号テキストＤａｔａ＿ｃおよび第１のキーＫＥＹ１に対してＸＯＲ演算を実行した後、第１のデータＤａｔａ＿ｓが生成される。図２Ｅに示すように、レジスタ２３２は３２ビットのｃ３１〜ｃ０を有する暗号テキストＤａｔａ＿ｃを受信し、レジスタ２３４は３２ビットのｋ３１〜ｋ０を有する第１のキーＫＥＹ１を受信する。ＸＯＲゲート９００によって暗号テキストＤａｔａ＿ｃのビットｃ０および第１のキーＫＥＹ１のビットｋ０に対してＸＯＲ演算が実行された後、第１のデータＤａｔａ＿ｓのビットｓ０が生成される。以上のプロセスが繰り返し行われた後、第１のデータＤａｔａ＿ｓの他のビットｓ３１〜ｓ１が生成される。
【００４５】
エンタングルメント・リコールシステム２００は、当業者によって修正され得ることに留意されたい。別の実施形態では、エンタングルメント動作が実行されている間、ランダム化論理回路２３０は、プレーンテキストを受信し、プレーンテキストおよび第１のキーＫＥＹ１に従って第１のデータを生成する。シーケンス調整プロセスが実行された後、シーケンス論理回路２２０は暗号テキストを生成する。リコール動作が実行されている間、シーケンス論理回路２２０は、シーケンス逆転プロセスを実行して第１のデータを生成する。その後、ランダム化論理回路２３０が、第１のデータおよび第１のキーＫＥＹ１を受信し、プレーンテキストを生成する。
【００４６】
図３Ａは、本発明の第２の実施形態に係るエンタングルメント・リコールシステムのアーキテクチャを示す概略ブロック図である。エンタングルメント・リコールシステム３００は、ＩＣチップに搭載されている。エンタングルメント・リコールシステム３００は、アンチヒューズ型ＰＵＦセルアレイ３１０と処理回路とを備える。処理回路は、シーケンス論理回路３２０とランダム化論理回路３３０とを備える。
【００４７】
エンタングルメント動作およびリコール動作が実行されている間、アンチヒューズ型ＰＵＦセルアレイ３１０は、第１のキーＫＥＹ１および第２のキーＫＥＹ２をそれぞれ、シーケンス論理回路３２０およびランダム化論理回路３３０に対して発行する。
【００４８】
エンタングルメント動作が実行されている間、シーケンス論理回路３２０はプレーンテキストＤａｔａ＿ｐおよび第１のキーＫＥＹ１を受信する。シーケンス調整プロセスの後、シーケンス論理回路３２０は第１のデータＤａｔａ＿ｓを生成する。その後、ランダム化論理回路３３０が、第１のデータＤａｔａ＿ｓおよび第２のキーＫＥＹ２を受信し、暗号テキストＤａｔａ＿ｃを生成する。暗号テキストＤａｔａ＿ｃは、記憶回路３４０に記憶され得る。
【００４９】
リコール動作が実行されている間、ランダム化論理回路３３０は、暗号テキストＤａｔａ＿ｃおよび第２のキーＫＥＹ２を受信し、第１のデータＤａｔａ＿ｓを生成する。その後、シーケンス論理回路３２０が第１のデータＤａｔａ＿ｓおよび第１のキーＫＥＹ１を受信する。シーケンス逆転プロセスの後、シーケンス論理回路３２０はプレーンテキストＤａｔａ＿ｐを生成する。
【００５０】
第１の実施形態と比較して、シーケンス論理回路３２０は、シーケンス調整プロセスおよびシーケンス逆転プロセスを非対称スワッピング方式または対称スワッピング方式で実行する。簡潔にするために、シーケンス論理回路３２０の動作のみを以下で説明する。他の回路の動作については、本明細書では重複して説明しない。
【００５１】
図３Ｂは、本発明の第２の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路による非対称スワッピング方式のシーケンス調整プロセスの一例を示す概略図である。図３Ｃは、本発明の第２の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路による非対称スワッピング方式のシーケンス逆転プロセスの一例を示す概略図である。
【００５２】
図３Ｂを参照されたい。シーケンス論理回路３２０は、２つのレジスタ３２１、３２２を備える。レジスタ３２１は、循環シフトレジスタである。レジスタ３２１は、３２ビットのｐ３１〜ｐ０を有するプレーンテキストＤａｔａ＿ｐを受信する。レジスタ３２２は、３２ビットの第１のキーＫＥＹ１を受信する。シーケンス論理回路３２０がシーケンス調整プロセスを実行している間、レジスタ３２１のビットは右方向にシフトされる。すなわち、レジスタ３２１のビットは左から右にシフトされる（Ｌ→Ｒ）。右方向にシフトされるビット数は、第１のキーＫＥＹ１の値に応じて決定される。
【００５３】
シーケンス論理回路３２０がシーケンス逆転プロセスを実行している間、レジスタ３２１のビットは左方向にシフトされる。すなわち、レジスタ３２１のビットは、右から左にシフトされる（Ｒ→Ｌ）。左方向にシフトされるビット数は、第１のキーＫＥＹ１の値に応じて決定される。
【００５４】
図３Ｂを参照されたい。レジスタ３２１は、プレーンテキストＤａｔａ＿ｐを受信する。例えば、第１のキーＫＥＹ１の値は「１０」である。つまり、右方向にシフトされるビット数は１０である。シーケンス論理回路３２０がシーケンス調整プロセスを実行した後、プレーンテキストＤａｔａ＿ｐのビットｐ９が第１のデータＤａｔａ＿ｓの最上位ビット（ＭＳＢ）となり、ビットｐ９が第１のデータＤａｔａ＿ｓの最下位ビット（ＬＳＢ）となる。
【００５５】
図３Ｃを参照されたい。レジスタ３２２は、第１のデータＤａｔａ＿ｓを受信する。同様に、第１のキーＫＥＹ１の値は「１０」である。シーケンス逆転プロセスが完了した後、レジスタ３２１内の第１のデータＤａｔａ＿ｓは、第１のキーＫＥＹ１に従ってプレーンテキストＤａｔａ＿ｐに復元される。
【００５６】
図３Ｄおよび図３Ｅは、本発明の第２の実施形態に係るエンタングルメント・リコールシステムの非対称スワッピング方式のシーケンス論理回路の動作を示す概略回路図である。シーケンス論理回路３２０は、３つのレジスタ３２３、３２４、３２５および複数のＸＯＲゲート８００〜８３１を備える。
【００５７】
シーケンス論理回路３２０がシーケンス調整プロセスを実行している間、レジスタ３２３は３２ビットのｐ３１〜ｐ０を有するプレーンテキストＤａｔａ＿ｐを受信し、レジスタ３２５は第１のキーＫＥＹ１を受信する。レジスタ３２３のアドレスＡ３１〜Ａ０および第１のキーＫＥＹ１に対してＸＯＲ演算が実行された後、新しいアドレスが生成される。その後、シーケンス論理回路３２０は、プレーンテキストＤａｔａ＿ｐのビットのシーケンスを調整する。
【００５８】
シーケンス論理回路３２０がシーケンス逆転プロセスを実行している間、レジスタ３２３は第１のデータＤａｔａ＿ｓを受信し、レジスタ３２５は第１のキーＫＥＹ１を受信する。レジスタ３２３のアドレスＡ３１〜Ａ０および第１のキーＫＥＹ１に対してＸＯＲ演算が実行された後、新しいアドレスが生成される。その後、シーケンス論理回路３２０は、第１のデータＤａｔａ＿ｓのビットのシーケンスを調整し、レジスタ３２４に第１のデータＤａｔａ＿ｓの更新コンテンツを記憶する。その結果、レジスタ３２４のコンテンツはプレーンテキストＤａｔａ＿ｐに復元される。
【００５９】
第１のキーＫＥＹ１が“１０１０１”であると仮定した場合、シーケンス調整プロセスおよびシーケンス逆転プロセスについて説明する。
【００６０】
図３Ｄを参照されたい。シーケンス調整プロセスが実行されている間、レジスタ３２３はプレーンテキストＤａｔａ＿ｐを受信する。レジスタ３２３のアドレスＡ３１〜Ａ０および第１のキーＫＥＹ１に対してＸＯＲ演算が実行された後、新しいアドレスが生成される。
【００６１】
例えば、アドレスＡ３１（“１１１１１”）およびキーＫＥＹ１（“１０１０１”）に対してＸＯＲ演算が実行された後、新しいアドレスはＡ１０（“０１０１０”）となる。その結果、レジスタ３２３のアドレスＡ３１のコンテンツｐ３１がレジスタ４２４のアドレスＡ１０に記憶される。同様に、アドレスＡ３０（“１１１１０”）およびキーＫＥＹ１（“１０１０１”）に対してＸＯＲ演算が実行された後、新しいアドレスはＡ１１（“０１０１１”）となる。その結果、レジスタ３２３のアドレスＡ３０のコンテンツｐ３０がレジスタ４２４のアドレスＡ１１に記憶される。同様に、アドレスＡ１（“００００１”）およびキーＫＥＹ１（“１０１０１”）に対してＸＯＲ演算が実行された後、新しいアドレスはＡ２０（“１０１００”）となる。その結果、レジスタ３２３のアドレスＡ１のコンテンツｐ１がレジスタ４２４のアドレスＡ２０に記憶される。同様に、アドレスＡ０（“０００００”）およびキーＫＥＹ１（“１０１０１”）に対してＸＯＲ演算が実行された後、新しいアドレスはＡ２１（“１０１０１”）となる。その結果、レジスタ３２３のアドレスＡ０のコンテンツｐ０がレジスタ４２４のアドレスＡ２１に記憶される。
【００６２】
シーケンス調整プロセスが完了した後、レジスタ３２４のコンテンツは第１のデータＤａｔａ＿ｓである。すなわち、レジスタ３２４のアドレスＡ３１〜Ａ０に記憶されるコンテンツは、ｐ１０、ｐ１１、ｐ８、ｐ９、ｐ１４、ｐ１５、ｐ１２、ｐ１３、ｐ２、ｐ３、ｐ０、ｐ１、ｐ２６、ｐ２７、ｐ２４、ｐ２５、ｐ３０、ｐ３１、ｐ２８、ｐ２９、ｐ１８、ｐ１９、ｐ１６、ｐ１７、ｐ２２、ｐ２３、ｐ２０およびｐ２１を順に含む。
【００６３】
図３Ｅを参照されたい。シーケンス逆転プロセスが実行されている間、レジスタ３２３は第１のデータＤａｔａ＿ｓを受信する。レジスタ３２３のアドレスＡ３１〜Ａ０および第１のキーＫＥＹ１に対してＸＯＲ演算が実行された後、新しいアドレスが生成される。
【００６４】
例えば、アドレスＡ３１（“１１１１１”）およびキーＫＥＹ１（“１０１０１”）に対してＸＯＲ演算が実行された後、新しいアドレスはＡ１０（“０１０１０”）となる。その結果、レジスタ３２３のアドレスＡ３１のコンテンツｐ１０がレジスタ４２４のアドレスＡ１０に記憶される。同様に、アドレスＡ３０（“１１１１０”）およびキーＫＥＹ１（“１０１０１”）に対してＸＯＲ演算が実行された後、新しいアドレスはＡ１１（“０１０１１”）となる。その結果、レジスタ３２３のアドレスＡ３０のコンテンツｐ１１がレジスタ４２４のアドレスＡ１１に記憶される。同様に、アドレスＡ１（“００００１”）およびキーＫＥＹ１（“１０１０１”）に対してＸＯＲ演算が実行された後、新しいアドレスはＡ２０（“１０１００”）となる。その結果、レジスタ３２３のアドレスＡ１のコンテンツｐ２０がレジスタ４２４のアドレスＡ２０に記憶される。同様に、アドレスＡ０（“０００００”）およびキーＫＥＹ１（“１０１０１”）に対してＸＯＲ演算が実行された後、新しいアドレスはＡ２１（“１０１０１”）となる。その結果、レジスタ３２３のアドレスＡ０のコンテンツｐ２１がレジスタ４２４のアドレスＡ２１に記憶される。
【００６５】
シーケンス逆転プロセスが完了した後、レジスタ３２４のコンテンツはプレーンテキストＤａｔａ＿ｐである。すなわち、レジスタ３２４のアドレスＡ３１〜Ａ０に記憶されているコンテンツは、それぞれｐ３１〜ｐ０である。
【００６６】
シーケンス調整プロセスおよびシーケンス逆転プロセスの例は、単なる例示および説明のために本明細書に提示されている。いくつかの他の実施形態では、シーケンス調整プロセスおよびシーケンス逆転プロセスは、対称スワッピング方式および非対称スワッピング方式の両方で実行される。
【００６７】
図３Ｆは、本発明の第２の実施形態に係るエンタングルメント・リコールシステムのシーケンス論理回路によるシーケンス調整プロセスおよびシーケンス逆転プロセスの別の例を示す概略図である。図３Ｆに示すように、シーケンス論理回路３２０は、３つのレジスタ３２６、３２７、３２８およびルックアップテーブル３２９を備える。レジスタ３２６は、プレーンテキストＤａｔａ＿ｐを受信する。レジスタ３２８は、第１のキーＫＥＹ１を受信する。レジスタ３２７は、第１のデータＤａｔａ＿ｓを受信する。さらに、ルックアップテーブル３２９にはシーケンス論理回路３２０の動作モードが記録される。
【００６８】
ルックアップテーブル３２９のコンテンツに従って、第１のキーＫＥＹ１の奇数値は対称スワッピング方式に対応し、第１のキーＫＥＹ１の偶数値は非対称スワッピング方式に対応する。第１のキーＫＥＹ１の値が奇数である場合には、図３Ｄおよび図３Ｅで説明したシーケンス調整プロセスおよびシーケンス逆転プロセスが、シーケンス論理回路３２０により対称スワッピング方式で実行される。一方、第１のキーＫＥＹ１の値が偶数である場合には、図３Ａおよび図３Ｂで説明したシーケンス調整プロセスおよびシーケンス逆転プロセスが、シーケンス論理回路３２０により非対称スワッピング方式で実行される。
【００６９】
なお、ルックアップテーブル３２９に記録されているシーケンス論理回路３２０の動作モードの数は、２に限定されない。ルックアップテーブル３２９のコンテンツはシーケンス論理回路３２０のより多くの動作モードを含み得ることに留意されたい。
【００７０】
第２の実施形態のエンタングルメント・リコールシステム３００は、修正され得る。別の実施形態では、ランダム化論理回路３３０は、エンタングルメント動作が実行されている間に、プレーンテキストを受信し、プレーンテキストおよび第１のキーＫＥＹ１に従って第１のデータを生成する。シーケンス調整プロセスが実行された後、シーケンス論理回路３２０は暗号テキストを生成する。リコール動作が実行されている間、シーケンス論理回路３２０は、第２のキーＫＥＹ２に従ってシーケンス逆転プロセスを実行して第１のデータを生成する。その後、ランダム化論理回路３３０は、第１のデータおよび第１のキーＫＥＹ１を受信し、プレーンテキストを生成する。
【００７１】
図４Ａは、本発明の第３の実施形態に係るエンタングルメント・リコールシステムのアーキテクチャを示す概略ブロック図である。エンタングルメント・リコールシステム４００は、ＩＣチップに搭載されている。エンタングルメント・リコールシステム４００は、アンチヒューズ型ＰＵＦセルアレイ４１０と処理回路とを備える。処理回路は、シーケンス論理回路４２０、ランダム化論理回路４３０、および暗号化論理回路４５０を備える。
【００７２】
エンタングルメント動作およびリコール動作が実行されている間、アンチヒューズ型ＰＵＦセルアレイ４１０は、第１のキーＫＥＹ１、第２のキーＫＥＹ２および第３のキーＫＥＹ３をそれぞれ、シーケンス論理回路４２０、ランダム化論理回路４３０および暗号化論理回路４５０に対して発行する。
【００７３】
エンタングルメント動作が実行されている間、シーケンス論理回路４２０はプレーンテキストＤａｔａ＿ｐおよび第１のキーＫＥＹ１を受信する。シーケンス調整プロセスの後、シーケンス論理回路４２０は第１のデータＤａｔａ＿ｓを生成する。その後、ランダム化論理回路４３０が、第１のデータＤａｔａ＿ｓおよび第２のキーＫＥＹ２を受信し、第２のデータＤａｔａ＿ｒを生成する。その後、暗号化論理回路４５０が、第２のデータＤａｔａ＿ｒおよび第３のキーＫＥＹ３を受信し、暗号テキストＤａｔａ＿ｃを生成する。暗号テキストＤａｔａ＿ｃは、記憶回路４４０に記憶され得る。
【００７４】
リコール動作が実行されている間、暗号化論理回路４５０は、暗号テキストＤａｔａ＿ｃおよび第３のキーＫＥＹ３を受信し、第２のデータＤａｔａ＿ｒを生成する。その後、ランダム化論理回路４３０が、第２のデータＤａｔａ＿ｒおよび第２のキーＫＥＹ２を受信し、第１のデータＤａｔａ＿ｓを生成する。その後、シーケンス論理回路４２０が第１のデータＤａｔａ＿ｓおよび第１のキーＫＥＹ１を受信する。シーケンス逆転プロセスの後、シーケンス論理回路４２０はプレーンテキストＤａｔａ＿ｐを生成する。
【００７５】
第３の実施形態のシーケンス論理回路４２０およびランダム化論理回路４３０の動作は、第２の実施形態の場合の動作と同様であり、ここでは重複して説明しない。簡潔にするために、暗号化論理回路４５０のみを以下で説明する。
【００７６】
図４Ｂおよび図４Ｃは、本発明の第３の実施形態に係るエンタングルメント・リコールシステムの暗号化論理回路による暗号化プロセスおよび復号プロセスの一例を示す概略図である。
【００７７】
図４Ｂを参照されたい。暗号化論理回路４５０は、２つのレジスタ４５２、４５４およびデータ暗号化標準回路（ＤＥＳ）４５６を備える。レジスタ４５２は、第２のデータＤａｔａ＿ｒを受信する。レジスタ４５４は、第３のキーＫＥＹ３を受信する。暗号化論理回路４５０が暗号化プロセスを実行している間、データ暗号化標準回路４５６は、第２のデータＤａｔａ＿ｒおよび第３のキーＫＥＹ３を受信し、暗号テキストＤａｔａ＿ｃを生成する。
【００７８】
図４Ｃを参照されたい。レジスタ４５２は、暗号テキストＤａｔａ＿ｃを受信する。レジスタ４５４は、第３のキーＫＥＹ３を受信する。復号論理回路４５０が復号プロセスを実行している間、データ暗号化標準回路４５６は、暗号テキストＤａｔａ＿ｃおよび第３のキーＫＥＹ３を受信し、第２のデータＤａｔａ＿ｒを生成する。
【００７９】
暗号化プロセスおよび復号プロセスは、単なる例示および説明のために本明細書に提示されている。なお、暗号化プロセスおよび復号プロセスは修正され得る。図４Ｄおよび図４Ｅは、本発明の第３の実施形態に係るエンタングルメント・リコールシステムの暗号化論理回路による暗号化プロセスおよび復号プロセスの別の例を示す概略図である。
【００８０】
図４Ｄを参照されたい。暗号化論理回路４５０は、２つのレジスタ４５２、４５４および高度暗号化標準回路（ＡＥＳ）４５８を備える。レジスタ４５２は、第２のデータＤａｔａ＿ｒを受信する。レジスタ４５４は、第３のキーＫＥＹ３を受信する。暗号化論理回路４５０が暗号化プロセスを実行している間に、高度暗号化標準回路４５８は、第２のデータＤａｔａ＿ｒおよび第３のキーＫＥＹ３を受信し、暗号テキストＤａｔａ＿ｃを生成する。
【００８１】
図４Ｅを参照されたい。レジスタ４５２は、暗号テキストＤａｔａ＿ｃを受信する。レジスタ４５４は、第３のキーＫＥＹ３を受信する。復号論理回路４５０が復号プロセスを実行している間、高度暗号化標準回路４５８は、暗号テキストＤａｔａ＿ｃおよび第３のキーＫＥＹ３を受信し、第２のデータＤａｔａ＿ｒを生成する。
【００８２】
本実施形態では、シーケンス論理回路４２０は、シーケンス調整プロセスおよびシーケンス逆転プロセスを非対称スワッピング方式で実行する。あるいは、シーケンス論理回路４２０は、シーケンス調整プロセスおよびシーケンス逆転プロセスを対称スワッピング方式で実行する。この状況下では、シーケンス論理回路４２０は第１のキーＫＥＹ１を受信しない。
【００８３】
シーケンス論理回路４２０、ランダム化論理回路４３０、および暗号化論理回路４５０によって実行される動作のシーケンスは、実際の要件に応じて変更され得る。この実施形態では、ランダム化論理回路４３０および暗号化論理回路４５０は、受信データをランダム化する機能を有する。したがって、暗号化論理回路４５０は、他のランダム化論理回路と見なされ得る。
【００８４】
上記説明から、本発明は、ＰＵＦ技術を使用したエンタングルメント・リコールシステムを提供する。エンタングルメント・リコールシステムのアンチヒューズ型ＰＵＦセルアレイは、予測不可能な固有のキーを処理回路に提供することができる。キーに従って、プレーンテキストは処理回路によって暗号テキストに変換される。外部装置はアンチヒューズ型ＰＵＦセルアレイの生成キーを認識することができないため、暗号テキストは解読され得ない。
【００８５】
本発明は、現在のところ最も実用的で好適な実施形態であると考えられる形態に関して説明されているが、本発明は開示されている実施形態に限定される必要はないことを理解されたい。むしろ、最も広い解釈に従う添付の特許請求の範囲の精神および範囲内に含まれる様々な修正および類似の構成を網羅し、全てのそのような修正および類似の構造を包含するものとする。
【図１】
2019122046.tif 000003
【図２Ａ】
2019122046.tif 000004
【図２Ｂ】
2019122046.tif 000005
【図２Ｃ】
2019122046.tif 000006
【図２Ｄ】
2019122046.tif 000007
【図２Ｅ】
2019122046.tif 000008
【図３Ａ】
2019122046.tif 000009
【図３Ｂ】
2019122046.tif 000010
【図３Ｃ】
2019122046.tif 000011
【図３Ｄ】
2019122046.tif 000012
【図３Ｅ】
2019122046.tif 000013
【図３Ｆ】
2019122046.tif 000014
【図４Ａ】
2019122046.tif 000015
【図４Ｂ】
2019122046.tif 000016
【図４Ｃ】
2019122046.tif 000017
【図４Ｄ】
2019122046.tif 000018
【図４Ｅ】
2019122046.tif 000019
【外国語明細書】
2019122046000001.pdf