(57)【特許請求の範囲】
【請求項１】
ランダムデータ生成部が、演算法を規定する演算法データと、入力データを演算する演算用データとを含むランダムデータを生成する工程と、
演算部が、前記演算用データと前記入力データとを前記演算法データが規定する演算法により演算し、演算結果である暗号化データを生成する工程と、
送信部が、前記ランダムデータと前記暗号化データとを送信する工程とを有することを特徴とする暗号化方法。
【請求項２】
前記ランダムデータを生成する工程は、送信装置のクロックをカウントしたカウンタに基づいてランダムデータを生成することを特徴とする請求項１に記載の暗号化方法。
【請求項３】
前記ランダムデータを生成する工程は、送信装置における所定の信号の電圧値に基づいてランダムデータを生成することを特徴とする請求項１に記載の暗号化方法。
【請求項４】
データを暗号化して送信する送信装置と、前記送信装置からの暗号化されたデータを受信し復号化する受信装置とからなる通信システムにおいて、
前記送信装置は、演算法を規定する演算法データと、前記データと演算される演算用データとを含むランダムデータを生成するランダムデータ生成部と、
前記演算用データと前記データとを前記演算法データが規定する演算法により演算し、演算結果である暗号化データを生成する演算部と、
前記ランダムデータと前記暗号化データとを送信する送信部とを有し、
前記受信装置は、前記暗号化データと前記ランダムデータとを受信する受信部と、
前記暗号化データに対して前記ランダムデータに基づいて、前記送信装置の前記演算部で行った演算とは逆の演算を行い、前記暗号化データを復号化する逆演算部とを有することを特徴とする通信システム。
【請求項５】
前記ランダムデータ生成部は、前記送信装置のクロックをカウントするカウンタを有し、前記カウンタのカウンタ値に基づいてランダムデータを生成することを特徴とする請求項４に記載の通信システム。
【請求項６】
前記送信装置における所定の信号の電圧値に基づいてランダムデータを生成することを特徴とする請求項４に記載の通信システム。
【請求項７】
前記演算部は、少なくとも加法、減法、乗法、除法のいずれか１つ以上を含む演算を行うことを特徴とする請求項４から６のいずれか１項に記載の通信システム。
【請求項８】
前記送信装置と受信装置との通信は、微弱電波を用いた無線通信であることを特徴とする請求項４から７のいずれか１項に記載の通信システム。
【請求項９】
前記送信部は、前記暗号化データの送信と共に、前記送信装置を識別するための識別情報を送信することを特徴とする請求項４から８のいずれか１項に記載の通信システム。
【請求項１０】
入力データの送信を行うデータ入力装置において、
前記データ入力装置は、演算法を規定する演算法データと、入力データを演算する演算用データとを含むランダムデータを生成するランダムデータ生成部と、
前記演算用データと入力データとを前記演算法データが規定する演算法により演算し、演算結果である暗号化データを生成する演算部と、
前記ランダムデータと前記暗号化データとを送信する送信部とを有することを特徴とするデータ入力装置。
【請求項１１】
前記ランダムデータ生成部は、データ入力装置のクロックをカウントしたカウンタに基づいてランダムデータを生成することを特徴とする請求項１０記載のデータ入力装置。
【請求項１２】
前記ランダムデータ生成部は、ＰＬＬにおける電圧制御発振器に基づいてランダムデータを生成することを特徴とする請求項１０記載のデータ入力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は暗号化方法、通信システム、送信装置、データ入力装置に関する。
【０００２】
【従来の技術】
コンピュータとその周辺装置であるキーボードやマウスとの通信を、ワイヤレスで行うことが増えてきている。この通信は、赤外線や高周波で行われるが、有線の場合と異なり情報が漏れやすくなるため、通信内容を秘匿することが行われている。
【０００３】
例えば特開平９−１９０２６４公報には、ワイヤレスデータ入力システムが記載されている。この公報に記載のワイヤレスデータ入力システムはセキュリティコードに基づきキー入力データを符号化して通信内容を秘匿している。
【０００４】
【発明が解決しようとする課題】
しかしながら上記の公報では、データの符号化に固定ＩＤを用い、単一の符号化のため、データ列を確認することにより、比較的容易にデータを解読される可能性がある。
【０００５】
本発明ではこの問題点に鑑みなされたもので、秘匿性の高い暗号化方法を提供するとともに、その暗号化方法を用いる通信システム、送信装置、データ入力装置を提供することを目的とする。
【０００６】
また、ＰＬＬを用いる送信装置やデータ入力装置において、ＰＬＬ起動時間を短くし、ＰＬＬの誤りを認識することが容易な送信装置やデータ入力装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
請求項１に記載の発明は、ランダムデータ生成部が、演算法を規定する演算法データと、入力データを演算する演算用データとを含むランダムデータを生成する工程と、演算部が、前記演算用データと前記入力データとを前記演算法データが規定する演算法により演算し、演算結果である暗号化データを生成する工程と、送信部が、前記ランダムデータと前記暗号化データとを送信する工程とを有する特徴とする。
【０００８】
請求項１に記載の発明によれば、演算法データと演算法データとを含むランダムデータを生成し、それらのデータを用いてデータを暗号化することにより、秘匿性の高い暗号化方法を提供できる。
【０００９】
請求項２に記載の発明は、前記ランダムデータの生成は、送信装置のクロックをカウントしたカウンタに基づいてランダムデータを生成することを特徴とする。
【００１０】
請求項２に記載の発明によれば、送信装置内でしか認識できない変化するカウンタに基づいてランダムデータを生成するため、暗号化する時点で暗号化のためのランダムデータを外部から認識することが不可能なランダムデータを生成することができる。
【００１１】
請求項３に記載の発明は、前記ランダムデータの生成は、送信装置における所定の信号の電圧値に基づいてランダムデータを生成することを特徴とする。
【００１２】
請求項３に記載の発明によれば、送信装置内でしか認識できない変化する所定の信号電圧値に基づいてランダムデータを生成するため、暗号化する時点で暗号化のためのランダムデータを外部から認識することが不可能なランダムデータを生成することができる。
【００１３】
請求項４に記載の発明は、データを暗号化して送信する送信装置と、前記送信装置からの暗号化されたデータを受信し復号化する受信装置とからなる通信システムにおいて、前記送信装置は、演算法を規定する演算法データと、前記データと演算される演算用データとを含むランダムデータを生成するランダムデータ生成部と、前記演算データと前記データとを前記演算法データが規定する演算法により演算し、演算結果である暗号化データを生成する演算部と、前記ランダムデータと前記暗号化データとを送信する送信部とを有し、前記受信装置は、前記暗号化データと前記ランダムデータとを受信する受信部と、前記暗号化データに対して前記ランダムデータに基づいて、前記送信装置の前記演算部で行った演算とは逆の演算を行い、前記暗号化データを復号化する逆演算部とを有することを特徴とする。
【００１４】
請求項４に記載の発明によれば、演算を規定する演算法データと、暗号化するデータと演算するための演算用データとは、ランダムデータとすることにより、通信の秘匿性を高めることができる。また、それらのデータを用いて暗号化したデータとランダムデータとを送信装置が送信することにより、受信装置は暗号化データと演算用データとを送信装置で行った演算とは逆の演算を行い復号化することができる。
【００１５】
請求項５に記載の発明は、前記ランダムデータ生成部は、前記送信装置のクロックをカウントするカウンタを有し、前記カウンタのカウンタ値に基づいてランダムデータを生成することを特徴とする。
【００１６】
請求項５に記載の発明によれば、送信装置内でしか認識できない変化するカウンタに基づいてランダムデータを生成するため、暗号化する時点で暗号化のためのランダムデータを外部から認識することが不可能なランダムデータを生成することができる。
【００１７】
請求項６に記載の発明は、前記送信装置における所定の信号の電圧値に基づいてランダムデータを生成することを特徴とする。
【００１８】
請求項６に記載の発明によれば、送信装置内でしか認識できない変化する所定の信号電圧値に基づいてランダムデータを生成するため、暗号化する時点で暗号化のためのランダムデータを外部から認識することが不可能なランダムデータを生成することができる。
【００１９】
請求項７に記載の発明は、前記演算部は、少なくとも加法、減法、乗法、除法のいずれか１つ以上を含む演算を行うことを特徴とする。
【００２０】
請求項７に記載の発明によれば、ランダムデータに含まれる演算法データが規定する演算法は、少なくとも加法、減法、乗法、除法のいずれか１つ以上であり、これらのランダムに定まる演算法で平文を暗号化する。そのため、１つのデータを同じ演算用データで暗号化する場合も、演算法データが異なれば種々の暗号化データが生成されるため、秘匿性の高い通信システムを提供できる。
【００２１】
請求項８に記載の発明は、前記送信装置と受信装置との通信は、微弱電波を用いた無線通信であることを特徴とする。
【００２２】
請求項８に記載の発明によれば、上述した、データを暗号化する通信システムは、微弱電波を用いることにより、外部に漏れにくくなり、通信の秘匿性を高めることができる。
【００２３】
請求項９に記載の発明は、前記送信部は、前記暗号化データの送信と共に、前記送信装置を識別するための識別情報を送信することを特徴とする。
【００２４】
請求項９に記載の発明によれば、例えば無線通信において、受信装置が、複数の通信相手を識別するために付加することにより、他の関係のないデバイスとの通信を防ぐことが可能となる。
【００３３】
請求項１０に記載の発明は、入力データの送信を行うデータ入力装置において、前記データ入力装置は、演算法を規定する演算法データと、入力データを演算する演算用データとを含むランダムデータを生成するランダムデータ生成部と、前記演算用データと入力データとを前記演算法データが規定する演算法により演算し、演算結果である暗号化データを生成する演算部と、前記ランダムデータと前記暗号化データとを送信する送信部とを有することを特徴とする。
【００３４】
請求項１０に記載の発明によれば、演算を規定する演算法データと、暗号化するデータと演算するための演算用データとは、ランダムデータとすることにより、通信の秘匿性を高めることが可能なデータ入力装置を提供できる。
【００３５】
請求項１１に記載の発明は、前記ランダムデータ生成部は、データ入力装置のクロックをカウントしたカウンタに基づいてランダムデータを生成することを特徴とする。
【００３６】
請求項１１に記載の発明によれば、送信装置内でしか認識できない変化するカウンタに基づいてランダムデータを生成するため、暗号化する時点で暗号化のためのランダムデータを外部から認識することが不可能なランダムデータを生成することができる。
【００３７】
請求項１２に記載の発明は、前記ランダムデータ生成部は、ＰＬＬにおける電圧制御発振器に基づいてランダムデータを生成することを特徴とする。
【００３８】
請求項１２に記載の発明によれば、送信装置内でしか認識できない変化する所定の信号電圧値に基づいてランダムデータを生成するため、暗号化する時点で暗号化のためのランダムデータを外部から認識することが不可能なランダムデータを生成することができる。
【００３９】
【発明の実施の形態】
本発明の実施の形態における暗号化データ送受信システムの全体構成を図１に示す。図１は、パソコンとキーボード又はマウス間のケーブルをなくしたものであり、パソコン１０とワイヤレス通信装置１２と、入力装置であり入力信号を送信するワイヤレスキーボード１４とワイヤレスマウス１６からなる。
【００４０】
ワイヤレスキーボード１４及びワイヤレスマウス１６は、後述するように無線通信部を有し、ワイヤレス通信装置１２との間の通信を無線で行う。それらワイヤレスキーボート１４またはワイヤレスマウス１６は、入力データまたは座標情報などをワイヤレス通信装置１２に送信し、ワイヤレス通信装置１２は、ワイヤレスキーボード１４やワイヤレスマウス１６から受信したデータをパソコン１０に送信する。データを受信したパソコン１０は、そのデータをパソコンの処理に反映させる。
【００４１】
次に、ワイヤレス通信装置１２のブロックを図２に示す。ワイヤレス通信装置１２は、ワイヤレス通信装置１２の制御を行うＭＣＵ１８と、ワイヤレスキーボード１４及びワイヤレスマウス１６から無線で送信されたデータの受信をするなどの無線通信を行う無線通信部２０と、ＭＣＵ１８がデータやプログラムを記憶させるために用いるメモリ部２２と、ワイヤレスキーボード１４及びワイヤレスマウス１６から送信されるＩＤと予め設定されたＩＤとの照合を行うＩＤ照合部２４からなる。
【００４２】
このワイヤレス通信装置１２は、ワイヤレスキーボード１４及びワイヤレスマウス１６から無線で送信された暗号化データを、無線通信部２０で受信し、受信データに含まれるＩＤ５６と、ワイヤレス通信装置１２に予め記憶されたＩＤとが一致すれば、復号した受信データをパソコン１０に送信する。
【００４３】
次に、ワイヤレスキーボード１４のブロック図を図３に示す。ワイヤレスキーボード１４は、ワイヤレスキーボード１４の全体の制御を行うＭＣＵ２５と、ワイヤレス通信装置１２と無線による通信を行う無線通信部３２と、ＭＣＵ２５がデータやプログラムを記憶させるために用いるメモリ部２６と、ワイヤレスキーボード１４を識別するためのＩＤの設定を行うＩＤ設定部２８と、キー情報を得るためのキーマトリクス３０からなる。
【００４４】
このワイヤレスキーボード１４は、キーマトリクス３０から入力されたキー入力データを取得し、そのキー入力データをＭＣＵ２５で暗号化する。そしてその暗号化データに、ＩＤ設定部２８で定まるＩＤを付加し、そのＩＤを付加した暗号化データを無線通信部３２より送信する
次に、ワイヤレスマウス１６のブロックを図４に示す。ワイヤレスマウス１６は、ワイヤレスマウス１６の全体の制御を行うＭＣＵ３４と、ワイヤレス通信装置１２と無線による通信を行う無線通信部４２と、ＭＣＵ３４がデータやプログラムを記憶させるために用いるメモリ部３６と、ワイヤレスキーボード１４を識別するためのＩＤを設定するＩＤ設定部３８と、座標の位置を決定する座標決定部４０からなる。
【００４５】
このマウス１６は、座標決定部４０から入力された座標データを取得し、その座標データをＭＣＵ３４で暗号化する。そしてその暗号化データに、ＩＤ設定部３８に設定されたＩＤを付加し、そのＩＤを付加した暗号化データを無線通信部４２より送信する
以上説明したように、ワイヤレスキーボード１４とワイヤレスマウス１６は、ワイヤレス通信装置１２との通信において、その通信内容を暗号化することにより、通信内容の秘匿性を確保している。
【００４６】
その暗号化方法は、データを送る側がランダムデータを生成し、そのランダムデータのうちの所定ビットで演算法を規定する。また、ランダムデータのうち、上記演算法を規定する演算法データを除いたビット部分を演算用データとする。そして、データを上記演算用データで演算し、その演算結果である暗号化データとランダムデータとを送信する。
【００４７】
暗号化データとランダムデータとを受信した受信側は、受信した暗号化データと、受信したランダムデータの一部である演算用データとを演算することにより復号する。
【００４８】
ここで、上記の演算法データもランダムデータの一部である。従ってランダムデータには、演算用データと演算法データが含まれる。以下、ワイヤレスキーボード１４を例に暗号化方法の詳細について述べる。
【００４９】
まず、図５を用いて上記のランダムデータ４４について説明する。ランダムデータ４４は、例えば、ＭＣＵ２５に内蔵された図示しないランダム値発生回路により発生されたランダム値であり、上述したように演算用データ４６と２ビットの演算法データ４８からなる。
【００５０】
演算用データ４６は、キー入力データなどの暗号化するデータを演算法データに対応した演算方法により演算するためのデータである。
【００５１】
また、演算法データ４８は、ビットＦ０、Ｆ１の２ビットからなるデータである。演算法データ４８の各ビットＦ０、Ｆ１は、例えば、図６に示す演算法表により決定される。
【００５２】
図６において、縦の項目はビットＦ０の値であり、横の項目は、ビットＦ１の値を示す。
【００５３】
図６に示すようにビットＦ０及びビットＦ１が共に「０」であれば、演算法データが規定する演算法は足し算であり、また、ビットＦ０とビットＦ１とが共に「１」であれば演算法データが規定する演算法は、割り算であり、ビットＦ０が「１」でビットＦ１が「０」であれば、演算法データが規定する演算法は、引き算となる。
【００５４】
次に、このランダムデータ４４を用いて暗号化データの生成方法を図７に示す。図７において、ランダムデータ４４の演算法データ４８を示すビットＦ０、Ｆ１は共に「０」なので、図６に示す演算法表により、演算法データが規定する演算は足し算となる。
【００５５】
また、図７においてキー入力データなどの暗号化するデータをデータ５８とする。このとき、演算用データ４６とデータ５８とを足すことにより、暗号化データ５４が生成される。
【００５６】
このように生成された暗号化データ５４とランダムデータ４４とワイヤレスキーボード１４のＩＤ５６とが、ワイヤレスキーボード１４からワイヤレス通信装置１２へ送信される。
【００５７】
図８は、送信側であるワイヤレスキーボード１４から受信側であるワイヤレス通信装置１２へ送信される際の送信データ５２が示されている。この送信データ５２は、暗号化データ５４とランダムデータ４４とＩＤ５６からなる。
【００５８】
これらのデータを受信したワイヤレス通信装置１２における、暗号化データの復号化方法を図９に示す。
【００５９】
まず、ランダムデータ４４の演算法データ４８を参照する。演算法データ４８は、ビットＦ０とビットＦ１とが共に「０」であるため、演算法データが規定する演算法は、足し算である。
【００６０】
従ってその逆演算である引き算を暗号化データ５４と演算用データ４６で行うことにより、データ５８を復号化することが可能となる。
【００６１】
上述した暗号化方法や復号化方法のフローチャートを、図１０と図１１に示す。図１０は、ワイヤレスキーボード１４が、入力されたキーのデータを暗号化し送信する処理を示すフローチャートである。
【００６２】
まず、ステップＳ１０１でキー入力データが発生すると、ステップＳ１０２で図５に示したランダムデータ４４を生成する。ステップＳ１０２において、ランダムデータ４４を構成する演算用データ４６は、例えば、ランダム値発生器により発生する。また、ランダムデータ４４を構成する演算法データ４８は、図６に示す演算表に基づいてランダムに選択される。
【００６３】
ステップＳ１０３では、キー入力データと演算法データ４６とを演算法データ４８により規定される演算法により演算し、暗号化データ５４を生成する。
【００６４】
次の、ステップＳ１０４で、図８に示すようにランダムデータ４４と暗号化データ５４に識別情報であるＩＤ５６を付加し送信する。ワイヤレスキーボード１４は、以上説明した処理を行い、キー入力データを暗号化して送信する。なお、ワイヤレスマウス１６からも同様に送信されるデータが暗号化されて送信される。また、この暗号化方法において、送信側と受信側とで予め演算法が決められているときは、演算法を指定するビットであるＦ０とＦ１が省略可能である。
【００６５】
次に、ワイヤレス通信装置１２が、暗号化データ５４とランダムデータ４４とＩＤ５６とを受信し、復号化する処理を、図１１のフローチャートを用いて説明する。
【００６６】
まず、ステップＳ２０１で暗号化データ５４とランダムデータ４４とＩＤ５６からなるデータ５２を受信する。次に、ステップＳ２０２でデバイスの識別をするためにＩＤ５６の照合を行う。もし、ワイヤレスキーボード１４のＩＤと受信したＩＤ５６が一致しない場合はステップＳ２０３でスリープ状態となり処理を停止する。
【００６７】
ＩＤが一致した場合はステップＳ２０４で受信した暗号化データとランダムデータに含まれる演算用データとを、ランダムデータに含まれる演算用データが規定する演算とは逆の演算を行うことにより復号化処理を行う。その結果ステップＳ２０５で復号化データが得られる。
【００６８】
次に、暗号化データ５４とランダムデータ４４とに付加されて送信されたＩＤ５６について説明する。この実施の形態のように、無線を用いる通信の場合、コンピュータを隣接して設置した場合に、所定のコンピュータに所属するキーボード、マウスから無線出力されるキー入力データなどが他のコンピュータが誤って入力される場合も考えられる。
【００６９】
このような誤入力を防ぐため、無線を用いて通信を行う場合は、通信の安全性を高めるために暗号化するだけではなく、通常は暗号化データに加えてデバイスを識別するためのＩＤ５６が送信される。
【００７０】
次にＩＤ５６を設定するためのＩＤ設定部２８、３８の動作を説明する。
【００７１】
従来ＩＤは、ＲＯＭに記憶させておく場合がほとんどである。このように設定されるＩＤ５６を特別なＲＯＭなどを用いず、キーボード１４を構成するＭＣＵ２５、あるいはマウス１６を構成するＭＣＵ３４の汎用ポートを利用して設定するようにしてもよい。
【００７２】
図１２はＩＤ設定部２８の構成図を示す。
【００７３】
ここでは、キーボード１４のＩＤ設定部２８について説明する。
【００７４】
ＩＤ設定部２８は、抵抗８０、８２、８４及びスイッチＳＷ０、ＳＷ１、ＳＷ２から構成される。抵抗８０はスイッチＳＷ０に直列に接続され、抵抗８２はスイッチＳＷ１に直列に接続され、抵抗８４はスイッチＳＷ２に直列に接続されている。抵抗８０とスイッチＳＷ０とからなる直列回路と、抵抗８２とスイッチＳＷ１とからなる直列回路と、抵抗８４とスイッチＳＷ２とからなる直列回路は、それぞれ電源８８と接地との間に接続されている。
【００７５】
また、抵抗８０とスイッチＳＷ０との接続点はＭＣＵ２５の汎用ポートＰ０に接続され、抵抗８２とスイッチＳＷ１との接続点はＭＣＵ２５の汎用ポートＰ１に接続され、抵抗８４とスイッチＳＷ２との接続点は、ＭＣＵ２５の汎用ポートＰ２に接続されている。
【００７６】
ＭＣＵ２５は、汎用ポートＰ０〜Ｐ２のレベルから論理値「０」又は「１」を認識し、汎用ポートＰ０〜Ｐ２の３ビットの論理値の配列をＩＤ５６として認識する。
【００７７】
例えば、スイッチＳＷ０〜ＳＷ２をすべてオフすると、ＭＣＵ２５の汎用ポートＰ０には電源８８からの電流が抵抗８０を介して供給され、汎用ポートＰ１には電源８８からの電流が抵抗８２を介して供給され、汎用ポートＰ２には電源８８からの電流が抵抗８４を介して供給される。よって、汎用ポートＰ０〜Ｐ２に電流が供給され、汎用ポートＰ０〜Ｐ２がすべてハイレベルになり、ＭＣＵ２５は汎用ポートＰ０〜Ｐ２をすべて論理値「１」と認識し、ＩＤ５６を「１１１」とする。
【００７８】
また、スイッチＳＷ０をオンにし、スイッチＳＷ１、ＳＷ２をオフすると、汎用ポートＰ０が接地に接続されるため、ローレベル、すなわち、論理値「０」と認識される。このとき汎用ポートＰ１、Ｐ２は、スイッチＳＷ１、ＳＷ２がオフであるので、ハイレベル、すなわち、論理値「１」と認識される。よって、ＭＣＵ２５は、ＩＤ５６を「０１１」とする。
【００７９】
さらに、スイッチＳＷ０、ＳＷ１をオンにし、スイッチＳＷ２をオフすると、汎用ポートＰ０、Ｐ１が共に接地に接続されるため、ローレベル、すなわち、論理値「０」と認識される。このとき汎用ポートＰ２は、スイッチＳＷ２がオフであるので、ハイレベル、すなわち、論理値「１」と認識される。よって、ＭＣＵ２５は、ＩＤ５６を「００１」とする。
【００８０】
また、スイッチＳＷ０、ＳＷ２をオンにし、スイッチＳＷ１をオフすると、汎用ポートＰ０、Ｐ２が接地に接続されるため、ローレベル、すなわち、論理値「０」と認識される。このとき汎用ポートＰ１は、スイッチＳＷ１がオフであるので、ハイレベル、すなわち、論理値「１」と認識される。よって、ＭＣＵ２５は、ＩＤ５６を「０１０」とする。
【００８１】
また、スイッチＳＷ１をオンにし、スイッチＳＷ０、ＳＷ２をオフすると、汎用ポートＰ１が接地に接続されるため、ローレベル、すなわち、論理値「０」と認識される。このとき汎用ポートＰ０、Ｐ２は、スイッチＳＷ０、ＳＷ２がオフであるので、ハイレベル、すなわち、論理値「１」と認識される。よって、ＭＣＵ２５は、ＩＤ５６を「１０１」とする。
【００８２】
また、スイッチＳＷ２をオンにし、スイッチＳＷ０、ＳＷ１をオフすると、汎用ポートＰ２が接地に接続されるため、ローレベル、すなわち、論理値「０」と認識される。このとき汎用ポートＰ０、Ｐ１は、スイッチＳＷ１がオフであるので、ハイレベル、すなわち、論理値「１」と認識される。よって、ＭＣＵ２５は、ＩＤ５６を「１１０」とする。
【００８３】
また、スイッチＳＷ１、ＳＷ２をオンにし、スイッチＳＷ０をオフすると、汎用ポートＰ１、Ｐ２が接地に接続されるため、ローレベル、すなわち、論理値「０」と認識される。このとき汎用ポートＰ０は、スイッチＳＷ０がオフであるので、ハイレベル、すなわち、論理値「１」と認識される。よって、ＭＣＵ２５は、ＩＤ５６を「１００」とする。
【００８４】
スイッチＳＷ０〜ＳＷ２をすべてオンすると、ＭＣＵ２５の汎用ポートＰ０〜Ｐ２がすべてローレベルになる。このため、ＭＣＵ２５は汎用ポートＰ０〜Ｐ２をすべて論理値「０」と認識し、ＩＤ５６を「０００」とする。
【００８５】
以上のように３つの汎用ポートＰ０〜Ｐ２により８種類のＩＤを設定することができる。
【００８６】
これにより特別にＲＯＭなど用いることなく容易にＩＤの設定が可能となる。また、設定は、スイッチＳＷ０〜ＳＷ２に限定されるものではなく、例えば、回路基板の配線パターンを用いることもできる。
【００８７】
図１２でスイッチＳＷ０〜ＳＷ２を配線パターンで形成する。このとき、抵抗８０〜８４と接地とをＩＤに応じて配線パターンにより開放又は短絡することにより８種類のＩＤを設定することができる。この場合、予め８種類の配線パターンを用意しておくことにより、回路にＭＣＵ２５及び抵抗８０〜８２を搭載することにより自動的にＩＤが設定される。このため、スイッチＳＷ０〜ＳＷ２をオン／オフするなどの特別な設定のための操作を行う必要がなくなる。
【００８８】
なお、キーボード１４について説明したが、マウス１６にも同様に適用できることは言うまでもない。よって、マウス１６の適用した例については省略する。
【００８９】
なお、本実施例では、ランダムデータ４４をＭＣＵ２５、３４の処理によりランダム値を発生することにより生成したが、これに限定されることはなく、キーボード１４及びマウス１６の内部回路の電圧を用いて生成するようにしてもよい。
【００９０】
次に、上述した暗号化方法で用いるランダムデータ４４のキーボード１４及びマウス１６の内部回路の電圧を用いて生成する方法について説明する。
【００９１】
図１３はキーボード１４の変形例の要部のブロック構成図を示す。
【００９２】
本変形例は、ＭＣＵ及び無線通信部の構成が図３に示すワイヤレスキーボード１４とは相違する。
【００９３】
本変形例の無線通信部６０は、ＰＬＬ回路６１、増幅器６７、アンテナ６９から構成されている。
【００９４】
ＰＬＬ回路６１は、ＭＣＵ７０の汎用ポート７２及び汎用ポート７４に接続されており、送信データにより基準周波数をＦＭ変調して増幅器６７に供給する。増幅器６７は、ＰＬＬ回路６１の出力変調信号を増幅する。増幅器６７で増幅されたＦＭ変調信号は、アンテナ６９を介して外部に放射される。
【００９５】
ここで、ＰＬＬ回路６１について詳細に説明する。
【００９６】
ＰＬＬ回路６１は、基準発振器６２、位相比較器６４、ローパスフィルタ６５ａ、重畳回路６５ｂ、ＶＣＯ（制御電圧発振器）６６から構成されている。
【００９７】
基準発振器６２は、水晶発振子等から構成され、搬送波周波数に応じた基準周波数を出力する。基準発振器６２の基準周波数の信号は、位相比較器６４に供給される。位相比較器６４にはＶＣＯ６６の出力信号が供給されており、基準発振器６２からの基準周波数の信号の周波数とＶＣＯ６６の出力信号の周波数とを比較し、その位相差に応じた電圧を出力する。位相比較器６４は、出力電圧が所定のバイアス電圧にプルアップされおり、ＶＣＯ６６の出力信号の周波数が基準発振器６２の基準周波数より大きいときには、バイアス電圧より小さい電圧を出力し、ＶＣＯ６６の出力信号の周波数が基準発振器６２の基準周波数より小さいときには、バイアス電圧より大きい電圧を出力する。
【００９８】
位相比較器６４の出力電圧は、ローパスフィルタ６５ａに供給される。ローパスフィルタ６５ａは、抵抗８６、８８、９０とコンデンサ９８からなり、位相比較器６４から出力される信号周波数の低域部分を通過させる。
【００９９】
また、ローパフフィルタ６５ａの出力は、重畳回路６５ｂに供給される。
【０１００】
重畳回路６５ｂは、抵抗９２、９４、９６、１００から構成される。重畳回路６５ｂは、ＭＣＵ７０の汎用ポート７２及び汎用ポート７４に接続されており、ローパスフィルタ６５ａの出力電圧とＭＣＵ７０の汎用ポート７２及び汎用ポート７４の出力電圧とを合成し、合成された電圧をＶＣＯ６６に供給する。
【０１０１】
ＶＣＯ６６は重畳回路６５ｂから供給される制御電圧に応じた周波数で発振を行う。
【０１０２】
次に、キー入力時の動作を説明する。
【０１０３】
図１４はキー入力時の動作フローチャート、図１５にキー入力時の動作説明図を示す。
【０１０４】
ここでは、ワイヤレスキーボード１４を例にとって説明する。まず、ステップＳ４０１でキー入力が発生する。次に、ステップＳ４０２でキー入力の発生により無線通信部６０を起動する。このとき、ＭＣＵ７０は、内蔵タイマを起動する。内蔵タイマ７０は、無線通信部３２が起動してからＰＬＬ回路６１がロックするまでに必要な時間を計時する。
【０１０５】
このとき、ＭＣＵ７０は、ステップＳ４０３、汎用ポート７４の電圧がハイレベルとされる。ステップＳ４０３は、図１５に示す時刻ｔ０に相当する。
【０１０６】
ステップＳ４０３で汎用ポート７４をハイレベルにして、ＶＣＯ６６に供給する制御電圧がバイアス電圧となるようにする。汎用ポート７４をハイレベルにすることにより、ＰＬＬ回路６１の立ち上がりを高速化できる。
【０１０７】
図１６はＰＬＬ回路６１の起動時の動作説明図を示す。図１６において横軸は時間、縦軸は電圧を示す。また、実線は起動時に汎用ポート７４の電圧をハイレベルにしたとき、破線は汎用ポート７４の電圧がローレベルのときの変化を示す。
【０１０８】
ＰＬＬ回路６１の起動と共に、汎用ポート７４の電圧をハイレベルにすることにより、ＶＣＯ６６に供給する制御電圧を急峻にバイアスレベルまで立ち上げることができる。ＶＣＯ６６の制御電圧が急峻に立ち上がることにより、ＶＣＯ６６の出力周波数が急峻に基準発振器６４で発振される基準周波数になり、ＰＬＬ回路６１のロック時間を短縮できる。例えば、図１６に破線で示す汎用ポート７４の電圧がローレベルのときのロック時刻ｔ２に比べて、時間Ｔ０だけ短縮された時刻ｔ１でＰＬＬ回路６１をロックさせることができる。
【０１０９】
ステップＳ４０４でＰＬＬ起動からロックアップが完了するであろう所定時間経過したか否かを判定する。ステップＳ４０４で所定時間経過した場合には、ＰＬＬ回路６１がロックされたと判定できるため、次に、ＭＣＵ７０は、ステップＳ４０５で汎用ポート７２を入力ポートとして動作させ、Ａ／Ｄ変換器６８により、抵抗８８と抵抗９２との接続点Ａ１の電圧をモニタする。なお、このタイミングは、図１５の時刻ｔ１に相当する。
【０１１０】
次に、ステップＳ４０６で、検知した電圧をディジタル変換したデータを図５に示すランダムデータ４４とする。Ａ／Ｄ変換して生成したランダムデータ４４及びキーマトリクス３０からのキー入力データ５８に基づいて暗号化データ５４を作成し、汎用ポート７４から出力する。また、ＩＤ設定部２８により設定されているＩＤ５６が併せて出力される。このタイミングは、図１５に示す時刻ｔ２に相当する。
【０１１１】
ＰＬＬ回路６１のＶＣＯ６６の周波数は、周囲温度に応じて変化するので、制御電圧は、常に一定ではなく周囲温度などの周囲環境によって時々刻々と変化している。よって、ＶＣＯ６６の制御電圧を変換したディジタルデータをランダムデータ４４に用いることができる。
【０１１２】
汎用ポート７４は暗号化データを構成するビットが「０」のときにローレベルと、ビットが「１」のときにハイレベルとなる。汎用ポート７４がローレベルになると、ＶＣＯ６６の制御電圧が低くなり、ＶＣＯ６６の出力周波数は低くなる。また、汎用ポート７４がハイレベルになると、ＶＣＯ６６の制御電圧が高くなり、ＶＣＯ６６の出力周波数は高くなる。なお、このとき、ＰＬＬ回路６１のループによりＶＣＯ６６の出力周波数が一定となるように制御されるが、暗号化データの周波数は、ＰＬＬ回路６１の応答周波数に較べて十分に高く設定されているため、ＶＣＯ６６の出力は、暗号化データに応じて周波数変調された信号となる。
【０１１３】
なお、本実施例では、ランダムデータ４４をＰＬＬ回路６１の制御電圧から生成したが、これに限定されるものではなく、キーボード１４を構成する回路のうち所望の接続点の電圧等を用いることも可能であり、要は周囲環境などに応じて電圧が変動する接続点の電圧を用いるようにすればよい。
【０１１４】
また、上記変形例では、ＶＣＯ６６の制御電圧をモニタしているため、制御電圧のモニタ結果によりＰＬＬ回路６１のロック状態を検知し、ＰＬＬ回路６１の異常などを知ることができる。
【０１１５】
図１７は、制御電圧の異常を検出するＭＣＵ７０の処理を示すフローチャートを示す。
【０１１６】
まずステップＳ３０１でＭＣＵ７０が、接続点Ａ１における制御電圧値ＶＣを汎用ポート７２から検出する。次に、その制御電圧値ＶＣが予め定められた正常範囲である上限値ＶＨから下限値ＶＬまでの範囲に入っているかどうかの判断をステップＳ３０２で行う。
【０１１７】
その結果、汎用ポート７２からの制御電圧値ＶＣが、正常範囲に入っている場合は、ステップＳ３０４で正常データとして扱う。もし制御電圧値ＶＣが、正常範囲に入っていない場合は異常と判断し、ＭＣＵ７０は、ステップＳ３０３で制御電圧値が異常であることを示す所定の符号を生成し、その符号がワイヤレス通信装置１２を経てパソコンに通知される。異常が通知されたパソコンは、例えばその異常を表示するなどの処理を行う。
【０１１８】
以上によりキーボード１４、マウス１６の無線送信部６０の異常を通知することができる。
【０１１９】
なお、上記変形例では、ランダムデータ４４の演算用データ４６は、ＰＬＬ回路６１のロック時の制御電圧をディジタル化したものであるので、送信側であるワイヤレス通信装置１２で復号化時に演算用データ４６を参照し、ステップＳ３０２〜Ｓ３０４に示すような異常判定を行うこともできる。
【０１２０】
上記変形例では、汎用ポート７２を用いて制御電圧の立ち上げ及び制御電圧の検出を行い、汎用ポート７４を用いて暗号化データの送出を行ったが、制御電圧の立ち上げ及び制御電圧の検出並びに暗号化データの送出は、タイミングが異なるため、単一の汎用ポートを切り替えることにより制御電圧の立ち上げ及び制御電圧の検出並びに暗号化データの送出を行うようにしてもよい。
【０１２１】
また、上記変形例では、ＰＬＬ回路６１の制御電圧を用いてランダムデータ４４を構成する演算用データ４６を作成したが、クロックのカウント値を演算用データ４６として用いることもできる。
【０１２２】
例えば、ＭＣＵ７０に内蔵されたＲＴＣ（実時間クロック）を演算用データ４６として用いる。なお、ＲＴＣは、実時間を計時しており、ＭＣＵ７０に内蔵されたＣＰＵ（中央処理装置）に、一定時間間隔で割り込み信号を発生させるカウンタである。
【０１２３】
また、本実施例では、演算方法として足し算、引き算、掛け算、割り算の４種類の演算方法を選択できるようにしたが、これらを組み合わせたり、指数演算など他の演算方法を導入したりしてもよい。また、演算方法データについても演算用データと同様な方法でランダムに選択できるようにしてもよい。
【０１２４】
さらに、本発明は上記の実施例に限定されるものではなく、ランダムデータ４４を構成する演算用データ４６をキー入力データが供給される度に異なるように生成できればよい。
【０１２５】
【発明の効果】
以上説明したように、本願発明によれば、秘匿性の高い暗号化方法を提供するとともに、その暗号化方法を用いる通信システム、送信装置、データ入力装置を提供することができる。
【０１２６】
また、ＰＬＬを用いる送信装置やデータ入力装置において、ＰＬＬ起動時間を短くし、ＰＬＬの誤りを認識することが容易な送信装置やデータ入力装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるシステムの全体構成図である。
【図２】ワイヤレス通信装置のブロック図である。
【図３】ワイヤレスキーボードのブロック図である。
【図４】ワイヤレスマウスのブロック図である。
【図５】ランダムデータ構成を示す図である。
【図６】演算法表である。
【図７】暗号化データ生成を示す図である。
【図８】送信データの内容を示す図である。
【図９】受信データから復号データの生成を示す図である。
【図１０】ワイヤレスキーボードのキーコード送信フローチャートである。
【図１１】ワイヤレス通信装置の受信フローチャートである。
【図１２】ＩＤ設定部の構成図である。
【図１３】キーボードの要部のブロック構成図である。
【図１４】キー入力時の動作フローチャートである。
【図１５】キー入力時の動作説明図である。
【図１６】ＰＬＬ回路の起動時の動作説明図である。
【図１７】制御電圧の異常を検出するＭＣＵの処理を示すフローチャートである。
【符号の説明】
１０…パソコン
１２…ワイヤレス通信装置
１４…ワイヤレスキーボード
１６…ワイヤレスマウス
１８、２５、３４…ＭＣＵ
２０、３２、４２、６０…無線通信部
２２、２６、３６…メモリ部
２４…ＩＤ照合部
２８、３８…ＩＤ設定部
３０…キーマトリクス
４０…座標決定部
４４…ランダムデータ
４６…演算用データ
４８…演算法データ
５４…暗号化データ
５６…ＩＤ
５８…データ
６１…ＰＬＬ回路
６２…基準発振器
６４…位相比較器
６６…ＶＣＯ
６８…Ａ／Ｄコンバータ
７０…ＭＣＵ
７２、７４…汎用ポート
【図１】
0004787434.tif 000002
【図２】
0004787434.tif 000003
【図３】
0004787434.tif 000004
【図４】
0004787434.tif 000005
【図５】
0004787434.tif 000006
【図６】
0004787434.tif 000007
【図７】
0004787434.tif 000008
【図８】
0004787434.tif 000009
【図９】
0004787434.tif 000010
【図１０】
0004787434.tif 000011
【図１１】
0004787434.tif 000012
【図１２】
0004787434.tif 000013
【図１３】
0004787434.tif 000014
【図１４】
0004787434.tif 000015
【図１５】
0004787434.tif 000016
【図１６】
0004787434.tif 000017
【図１７】
0004787434.tif 000018