[go: up one dir, main page]

JP2002544690A - Systems, devices and methods for secure communication and access control - Google Patents

Systems, devices and methods for secure communication and access control

Info

Publication number
JP2002544690A
JP2002544690A JP2000616599A JP2000616599A JP2002544690A JP 2002544690 A JP2002544690 A JP 2002544690A JP 2000616599 A JP2000616599 A JP 2000616599A JP 2000616599 A JP2000616599 A JP 2000616599A JP 2002544690 A JP2002544690 A JP 2002544690A
Authority
JP
Japan
Prior art keywords
random number
true random
electronic device
pseudo
true
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000616599A
Other languages
Japanese (ja)
Inventor
アダム シェフィ,
Original Assignee
ワーコップ インベストメント リミテッド
ロン, ベンヤミン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/104,014 external-priority patent/US6445794B1/en
Application filed by ワーコップ インベストメント リミテッド, ロン, ベンヤミン filed Critical ワーコップ インベストメント リミテッド
Publication of JP2002544690A publication Critical patent/JP2002544690A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 第1の位置および第2の位置において同一の電子ワンタイムパッドを生成するための方法であって、(a)該第1の位置において第1の電子デバイスを、および該第2の位置において第2の電子デバイスを提供するステップであって、該第1および該第2の電子デバイスが(i)不揮発性メモリと(ii)プロセッサと(iii)該不揮発性メモリ上に格納される少なくとも1つの真正乱数テーブルであって、該テーブルが該第1および該第2の電子デバイスに対して同一である、テーブルと(iv)該テーブルから真正乱数を得るための少なくとも1つのソフトウェアプログラムであって、該ソフトウェアプログラムは該不揮発性メモリ上に格納され、かつ該少なくとも1つのソフトウェアプログラムは該プロセッサによって動作される、ソフトウェアプログラムとを有する、ステップと、(b)該第1の電子デバイスと該第2の電子デバイスとの間の通信のための通信チャネルを提供するステップと、(c)選択手順にしたがって、該第1および該第2の電子デバイスにおける該テーブルから、選択された真正乱数を選択するステップであって、該選択手順は該第1および該第2の電子デバイスに対して同一であり、該選択手順は該通信チャネル上で該第1および該第2の電子デバイス間で鍵の少なくとも一部を交換するステップを含み、該選択された真正乱数は該第1および該第2の電子デバイスに対して同一である、ステップと、(d)該選択された真正乱数を用いて、該第1および該第2の位置において、同一の電子ワンタイムパッドの少なくとも1つを形成するステップとを含む方法。該同一電子ワンタイムパッドは、任意の所望の長さを有する。実用上無制限量の真正乱数を生成する方法がまた提供され、該真正乱数が複数の位置において同一であり、該方法がデータプロセッサによって動作され、該方法は、(a)真正乱数の同一テーブル、同一ポインタ、同一シードおよび同一擬似乱数生成器を該複数の位置において提供するステップと、(b)該ポインタにしたがって該真正乱数の同一テーブルから、得られた真正乱数を得るステップであって、該得られた真正乱数が該複数の位置において同一である、ステップと、(c)該擬似乱数生成器によって、生成された擬似乱数を生成するステップであって、該生成された擬似乱数が該複数の位置において同一である、ステップと、(d)該得られた真正乱数および該生成された擬似乱数を組み合わせて少なくとも1つの該量の真正乱数を形成するステップであって、該少なくとも1つの該量の真正乱数が該複数の位置において同一である、ステップとを含む。加えて、本発明は、「スター」ネットワークシステムを含む。ここで、中央電子デバイスは、マスターテーブルを有し、かつ複数の顧客電子デバイスは、それぞれ2つの形態で格納された少なくとも1つのテーブルを有し、その両方の形態のうちの1つは、該マスターテーブルにしたがって暗号化され、他方は、非暗号化形態である。次に、該顧客電子デバイスは、該暗号化されたテーブルを該中央電子デバイスに送信し、該中央電子デバイスは、通信を開始するために該テーブルを復号化する。   (57) [Summary] A method for generating an identical electronic one-time pad at a first location and a second location, comprising: (a) providing a first electronic device at the first location and a second electronic device at the second location. Providing two electronic devices, the first and second electronic devices comprising: (i) a non-volatile memory; (ii) a processor; and (iii) at least one stored on the non-volatile memory. A true random number table, wherein the table is the same for the first and second electronic devices, and (iv) at least one software program for obtaining a true random number from the table; The software program is stored on the non-volatile memory, and the at least one software program is operated by the processor; Software program; (b) providing a communication channel for communication between the first electronic device and the second electronic device; and (c) following a selection procedure. Selecting a selected true random number from the table in the first and second electronic devices, wherein the selecting procedure is the same for the first and second electronic devices; The procedure includes exchanging at least a portion of a key between the first and second electronic devices over the communication channel, wherein the selected authentic random number is transmitted to the first and second electronic devices. (D) using the selected true random number to form at least one of the same electronic one-time pads at the first and second locations. The method comprising the door. The same electronic one-time pad has any desired length. A method for generating a practically unlimited amount of true random numbers is also provided, wherein the true random numbers are identical at a plurality of locations, the method is operated by a data processor, the method comprising: (a) an identical table of true random numbers; Providing the same pointer, the same seed, and the same pseudo-random number generator at the plurality of positions; and (b) obtaining the obtained true random number from the same table of the true random numbers according to the pointer, And (c) generating a pseudorandom number generated by the pseudorandom number generator, wherein the pseudorandom number is the same at the plurality of positions. And (d) combining the obtained true random number and the generated pseudo-random number to at least one of the quantity of true randomness And forming a said at least no genuine random number one said amount is identical at the location of the plurality of, and a step. In addition, the present invention includes a "star" network system. Here, the central electronic device has a master table, and the plurality of customer electronic devices each have at least one table stored in two forms, one of both forms being one of the two forms. Encrypted according to the master table, the other is in unencrypted form. Next, the customer electronic device sends the encrypted table to the central electronic device, which decrypts the table to initiate communication.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】 (発明の属する技術分野および背景技術) 本発明は、二者間の安全な通信を提供するシステム、デバイスおよび方法に関
する。より詳細には、本発明は、通信ネットワーク上にそのような安全な通信を
提供するためのシステム、デバイスおよび方法に関する。
The present invention relates to a system, a device, and a method for providing secure communication between two parties. More particularly, the present invention relates to systems, devices and methods for providing such secure communications over a communications network.

【0002】 二者間安全通信は、これまでずっと重要だが困難な課題であった。現在情報が
二者間で共有される場合、第3の非認証者が同様にこの情報にアクセスし得る。
この問題が深刻となるのは、認証された二者が遠距離をおいて離れており、情報
が直接通信ではなくメッセージの形態で転送されなければならない場合である。
歴史的に、メッセージの内容は、暗号化技術によって保護されることもあった。
暗号化技術において、内容は、目標のメッセージ受信者だけに理解可能な別の形
態に変換される。
[0002] Two-way secure communication has always been an important but difficult task. If the current information is shared between the two parties, a third unauthenticated person may access this information as well.
This problem is exacerbated when the authenticated parties are far apart and the information must be transferred in the form of a message rather than a direct communication.
Historically, the contents of messages were sometimes protected by encryption techniques.
In encryption technology, the content is converted into another form that is understandable only to the intended message recipient.

【0003】 情報転送技術がより複雑かつ高度になるにつれ、暗号化技術もより複雑かつ高
度になってきた。現在、暗号化技術は、特定鍵を使用する数学的アルゴリズムに
したがって元のメッセージを理解できない保護メッセージに符号化することによ
って行われ得る。正規の受信者のみが、保護メッセージを元のメッセージに復号
化するために必要な同じアルゴリズムおよび特定鍵の両方を有するべきである。
したがって、理解できない符号化メッセージは、正規の受信者以外に対して安全
を維持しつつ、電話ネットワークなどの比較的安全でない通信チャネルを介して
自由に送信され得る。
[0003] As information transfer techniques have become more complex and sophisticated, so have encryption techniques. Currently, encryption techniques can be performed by encoding the original message into an incomprehensible protected message according to a mathematical algorithm that uses a particular key. Only legitimate recipients should have both the same algorithm and the specific key needed to decrypt the protected message into the original message.
Thus, unintelligible encoded messages can be freely transmitted over relatively insecure communication channels, such as telephone networks, while maintaining security for non-authorized recipients.

【0004】 当然ながら、符号化メッセージの安全性は、鍵の所有およびアルゴリズムが非
認証の第三者によってどれだけ破られにくいかによって変わる。第三者は、鍵を
識別し、実際には鍵をコピーし、次にその実際の鍵を使用してメッセージを復号
化する。また、ドアがロックに対する鍵を有さずに破られ得るように、暗号化ア
ルゴリズムも正規の数学的鍵がなくても破られ得る。どちらの場合も、鍵が長い
ほど、当て推量の攻撃または力ずくの攻撃がより難しくなる。
[0004] Of course, the security of the encoded message depends on the possession of the key and how hard the algorithm can be broken by an unauthorized third party. The third party identifies the key, actually copies the key, and then uses the actual key to decrypt the message. Also, just as doors can be broken without a key to the lock, the encryption algorithm can also be broken without a legitimate mathematical key. In both cases, the longer the key, the more difficult the guesswork or brute force attack.

【0005】 しかし、コンピュータ技術がますます高速になるにつれ、多くのこれまでの「
難攻不落」のアルゴリズムが力ずくの攻撃に屈してきた。例えば、56ビット鍵
を用いるDES(データ暗号化規格)アルゴリズムは、1976年に始まったと
きには難攻不落と考えられた。1993年までに、56ビット鍵を用いるDES
は、理論的には、非常に高度なコンピュータを用いれば力ずくで7時間で破られ
得た。この問題を解決するために、鍵は128ビットに延長された。他のアルゴ
リズムも、力ずくの攻撃に弱いことが証明されてきたので、現在は攻撃に対する
脆弱性を低減するためにより長い鍵を用いて使用される。
[0005] However, as computer technology has become increasingly faster, many previous "
The impregnable algorithm has succumbed to brute force attacks. For example, the DES (Data Encryption Standard) algorithm using a 56-bit key was considered invulnerable when it began in 1976. By 1993, DES with 56-bit key
Could, in theory, be broken in seven hours with a very sophisticated computer. To solve this problem, the key was extended to 128 bits. Other algorithms have also proven to be vulnerable to brute force attacks and are currently used with longer keys to reduce their vulnerability to attacks.

【0006】 コンピュータ技術はなおもますます強力かつ高速になってきているので、今日
の「難攻不落」アルゴリズムが将来の力ずくの攻撃に屈しないと期待できる理由
は全くない。さらに、あるアルゴリズムは、新規の因数分解アルゴリズムなどの
新規の数学関数の発見によって(容易には予期できないが)、より破られやすく
なってきた。そのような関数は、「安全」な暗号アルゴリズムを攻撃に対して脆
弱にし得る。したがって、数学的なアルゴリズムだけで情報に対する安全のすべ
てを提供しようと期待することは、明らかに十分でない。
[0006] As computer technology is becoming ever more powerful and fast, there is no reason to expect today's "impregnable" algorithms to not succumb to future brute force attacks. In addition, some algorithms have become more vulnerable (although not easily predictable) to the discovery of new mathematical functions, such as new factorization algorithms. Such a function may make "secure" cryptographic algorithms vulnerable to attack. Thus, it is clearly not enough to expect that mathematical algorithms alone will provide all of the security for information.

【0007】 公開鍵−秘密鍵ペアを使用することによって一層の安全が提供され得る。この
システムにおいて、例えばPGP(かなり良いプライバシー)暗号化ソフトウェ
アにおいて使用されるが、送信者が公開鍵を使用してメッセージを暗号化し、そ
して受信者が秘密鍵を用いてそれを復号化する。
[0007] Further security may be provided by using a public key-private key pair. In this system, for example, used in PGP (very good privacy) encryption software, the sender encrypts the message using a public key and the recipient decrypts it using a private key.

【0008】 上記のように、暗号化技術によるそのような安全対策は、不安全な通信チャネ
ル上を安全なメッセージを送信するために重要である。例えば、音声およびファ
クシミリ送信は通常、電話ネットワーク上を送信されるが、それらは盗聴され得
る。この問題は、携帯電話などの非常に不安全な通信チャネルに対してより深刻
となる。そのような不安全な通信チャネルは、電気店で「既製品」として購入し
得るスキャナーなどのハードウェアを用いて簡単にアクセスされる。したがって
、不安全なチャネル上の通信の安全化のためのデバイスおよび方法は重要である
[0008] As noted above, such security measures with encryption techniques are important for transmitting secure messages over insecure communication channels. For example, voice and facsimile transmissions are typically sent over telephone networks, but they can be eavesdropped. This problem is exacerbated for very insecure communication channels such as mobile phones. Such insecure communication channels are easily accessed using hardware such as scanners, which can be purchased as "off the shelf" at electronics stores. Therefore, devices and methods for securing communications over insecure channels are important.

【0009】 そのような方法の1つの例は、Eberhardに与えられた米国特許第5,
473,689号において開示される。この方法において、2つの電子デバイス
が2つのランダムな数を生成および交換し、各デバイスは両方の数を知る。次に
、各暗号化された数の一部を交換することによって、両方の数は暗号化され、そ
して比較される。両方の暗号化された数が一致する場合のみ通信が生じる。この
方法の1つの問題は、両側がそのランダムな数の暗号化および復号化のために同
じ鍵を有さなければいけない点である。したがって、この鍵は、特に交換される
場合に、非認証者によって盗まれやすい。
[0009] One example of such a method is described in US Pat.
473,689. In this way, two electronic devices generate and exchange two random numbers, and each device knows both numbers. Then, by exchanging a portion of each encrypted number, both numbers are encrypted and compared. Communication occurs only if both encrypted numbers match. One problem with this method is that both sides must have the same key for that random number of encryptions and decryptions. Thus, this key is susceptible to being stolen by unauthorized parties, especially when exchanged.

【0010】 Puhlらに与えられた米国特許第5,564,106は、暗号化鍵への盲目
的アクセスを提供する方法を記載する。ここで、第1グループのメンバの鍵が、
第1グループがその第1グループのメンバを識別することなしに、第2グループ
に提供される。そのような方法は、企業の従業員を調査する政府機関が、その企
業がその従業員を識別することを可能とせずに、その従業員の鍵にアクセスする
ことを可能にするのに有用である。しかし、この方法は、元の暗号化方法の安全
性を前提とするので、不安全なチャネル上の安全な通信の役に立たない。
US Pat. No. 5,564,106 to Puhl et al. Describes a method for providing blind access to encryption keys. Here, the key of the member of the first group is
The first group is provided to the second group without identifying the members of the first group. Such a method would be useful for a government agency investigating a company's employees to allow the company to access the employee's keys without allowing the company to identify the employee. is there. However, this method does not lend itself to secure communication over an insecure channel because it assumes the security of the original encryption method.

【0011】 不安全なチャネル上の通信のためのいくつかの現在利用可能な暗号化方法の欠
点は、通信が生じる前にユーザが多くのステップを実行する必要があることであ
る。そのような暗号化が、例えば通信デバイスに組み込まれた半導体チップによ
って、自動的に実行されるならば、通信が生じる前にユーザが実際に暗号化を実
行する必要はない。そのようなデバイスの1例は、Davisに与えられた米国
特許第5,539,828号において開示される。このデバイスは、公開および
秘密の1対の鍵の両方、および秘密鍵を用いて暗号化された公開鍵を含むデジタ
ル証書を有する。実質的には、このデバイスは自動化された公開鍵暗号化を有す
るので、やはりこのデバイスを介した通信は暗号化方法と同程度に安全なだけで
ある。
A disadvantage of some currently available encryption methods for communication over an insecure channel is that the user must perform many steps before the communication can take place. If such encryption is performed automatically, for example by a semiconductor chip embedded in the communication device, there is no need for the user to actually perform the encryption before the communication takes place. One example of such a device is disclosed in US Pat. No. 5,539,828 to Davis. The device has a digital certificate that includes both a public and private pair of keys and a public key that is encrypted with the private key. In essence, since this device has automated public key encryption, again communication through this device is only as secure as the encryption method.

【0012】 他の市販のハードウェアデバイス、またはハードウェア/ソフトウェアシステ
ムは、同じ潜在的欠点を有する:デバイスおよびシステムは、使用される暗号化
方法と同程度に安全なだけである。そのようなデバイスおよびシステムの例とし
て、Litronic(Costa Mesa、California、USA
)の情報機密保護製品(スマートカードリーダおよび暗号化デバイスドライバ、
ならびにテキストおよびデータベース情報を暗号化するためのソフトウェアを含
む);Cylink Corp.(San Francisco、Califo
rnia、USA)のネットワーク機密保護製品(DES暗号化アルゴリズムを
使用して、LAN(ローカルエリアネットワーク)およびWAN(ワイドエリア
ネットワーク)上の機密保護を確保するのに役立つ);およびCylink(S
unnyvale、California、USA)の製品(DESまたは特許
登録された暗号化アルゴリズムをやはり使用する、デジタルネットワークのため
の高速暗号化を提供する)がある。これらは、今日の市場で入手可能な多くのそ
のような製品の例であり、安全通信および暗号化のための製品が幅広く普及し、
そして商業的需要があることを示す。
[0012] Other commercially available hardware devices, or hardware / software systems, have the same potential drawback: devices and systems are only as secure as the encryption methods used. Examples of such devices and systems include Litronic (Costa Mesa, California, USA)
) Information security products (smart card reader and encryption device driver,
And software for encrypting text and database information); Cylink Corp. (San Francisco, Califo
rnia, USA), which uses the DES encryption algorithm to help ensure security on LANs (Local Area Networks) and WANs (Wide Area Networks); and Cylink (S
There is a product of the United States of America (Unnyvale, California, USA), which provides high-speed encryption for digital networks, also using DES or patented encryption algorithms. These are examples of many such products available on the market today, where products for secure communications and encryption have become widely available,
And show that there is commercial demand.

【0013】 残念ながら、上記のように、これら製品のすべては、使用される暗号化方法と
同程度に安全なだけである。さらに、使用される暗号化方法のすべては、数学的
アルゴリズムおよび鍵に基づく。このことは、その暗号化方法が力ずくの攻撃に
よって破られる可能性があることを意味する。コンピュータ技術がより高度にな
り、かつこれらのアルゴリズムに関する新規の数学的アルゴリズムが利用可能に
なるにつれ、そのような力ずく攻撃は扱いやすくなり、よって暗号化データを非
認証傍受されやすくする。
Unfortunately, as noted above, all of these products are only as secure as the encryption methods used. Furthermore, all of the encryption methods used are based on mathematical algorithms and keys. This means that the encryption method can be broken by a brute force attack. As computer technology becomes more sophisticated and new mathematical algorithms for these algorithms become available, such brute force attacks become more manageable, and thus, the encrypted data is more susceptible to unauthorized interception.

【0014】 しかし、暗号化メッセージそのものに対する力ずく攻撃によっても、理論的に
破られない1つのタイプの暗号化法がある。このタイプの暗号化方法は、メッセ
ージそのものと同じ長さの乱数を伴う。破られる可能性のあるアルゴリズムはな
い。むしろ、メッセージは、メッセージと同じ長さを有する乱数にしたがって符
号化される。そのような乱数の各々は、メッセージを符号化するために1度だけ
使用される。符号化に乱数が使用されるので、符号化のために使用された乱数は
、当て推量され得ないし、数学的アルゴリズムまたは統計的分析にしたがっては
導き得ない。乱数を当て推量によって得るためには、特定のメッセージを符号化
するために使用された全乱数を当て推量しなければならない、これは実際にメッ
セージそのものを言い当てることに等しい。さらに、逆問題工学によってそのよ
うな乱数を1つ得ることで、他のメッセージが復号化される得るわけではない。
なぜなら後のメッセージが異なる乱数で符号化され得るからである。
However, there is one type of encryption that cannot be broken theoretically by a brute force attack on the encrypted message itself. This type of encryption involves a random number of the same length as the message itself. No algorithm can be broken. Rather, the message is encoded according to a random number having the same length as the message. Each such random number is used only once to encode the message. Since random numbers are used for encoding, the random numbers used for encoding cannot be guessed and cannot be derived according to mathematical algorithms or statistical analysis. In order to obtain a random number by guesswork, one has to guess all the random numbers used to encode a particular message, which is equivalent to actually guessing the message itself. Furthermore, obtaining one such random number by inverse problem engineering does not mean that other messages can be decrypted.
This is because later messages can be encoded with different random numbers.

【0015】 現在、この暗号化方法は通常、ワンタイムパッド(one−time pad
)の乱数を使用して、両者が同じ乱数を有することを必要とする。このパッドは
、一続きの乱数が書かれた、文字通りに紙の物理的パッドであり得る。パッドは
また、ディスケットなどの電子格納ハードウェアデバイスの形態であり得る。メ
ッセージが送信または受信されると、各者はパッドの1つの数を使用し、そして
次にその乱数を破棄する。両者は同じパッドを使用し、かつ同じ乱数を使用して
いるので、メッセージは確実に符号化および復号化され、力ずくの攻撃のおそれ
はない。当然ながら、紙のパッドまたはディスケットそのものは、物理的に盗ま
れたり、またはコピーされるが、そのような事態の防止および検出は、メッセー
ジの電子的窃盗に対するより比較的簡単である。
At present, this encryption method usually uses a one-time pad.
) Requires that both have the same random number. This pad can be a literally paper physical pad with a series of random numbers written on it. The pad may also be in the form of an electronic storage hardware device, such as a diskette. When a message is sent or received, each uses one number on the pad and then discards the random number. Since they both use the same pad and use the same random numbers, the message is reliably encoded and decoded and there is no risk of a brute force attack. Of course, the paper pad or diskette itself is physically stolen or copied, but preventing and detecting such events is relatively simpler than electronic theft of messages.

【0016】 現在利用可能な実施における「ワンタイムパッド」の1つの重大な欠点は、両
者が同じ物理的な紙パッドまたはディスケットを通信が生じる前に有さなければ
ならず、それによってあらかじめ必要な手配を整えた者だけに通信が限られるこ
とである。また、メッセージの保護は、両側のワンタイムパッド自体の物理的保
護と同程度だけのものである。さらに、両者は、符号化および復号化ステップが
生じるために所定のステップを行わなければならない。加えて、物理的な紙パッ
ドまたはコンピュータディスケットはこれらの乱数を無限量保持し得ないので、
物理的な紙パッドまたはコンピュータディスケットは定期的に置き換えられなけ
ればならない。したがって、現在利用可能な方法は、多くの異なる者間の広範囲
の通信に対しては、扱いにくく、かつ実用的でない。
One significant drawback of the “one-time pad” in currently available implementations is that both must have the same physical paper pad or diskette before communication takes place, thereby pre-requiring Communication is limited to those who have made arrangements. Also, message protection is only as good as the physical protection of the one-time pads themselves on both sides. In addition, both must perform certain steps in order for the encoding and decoding steps to occur. In addition, since physical paper pads or computer diskettes cannot hold an infinite number of these random numbers,
Physical paper pads or computer diskettes must be replaced on a regular basis. Thus, currently available methods are cumbersome and impractical for a wide range of communications between many different parties.

【0017】 したがって、例えば、不安全なチャネル上の安全な通信または安全な識別のた
めのものであって、自動化されており、かつ広範囲の通信および他の用途に対し
て実用的であり、さらに自身に対する力ずく攻撃を受けにくい「ワンタイムパッ
ド」を生成および使用するための方法ならびにシステムが必要であり、かつそれ
を有することは有用であり得る。
Thus, for example, for secure communication or secure identification over an insecure channel, which is automated and practical for a wide range of communications and other applications, A method and system for creating and using a "one-time pad" that is less susceptible to brute force against itself is needed and it may be useful to have one.

【0018】 (発明の要旨) 本発明によると、第1の位置および第2の位置において同一の電子ワンタイム
パッドを生成するための方法が提供され、該方法は、(a)該第1の位置におい
て第1の電子デバイスを、および該第2の位置において第2の電子デバイスを提
供するステップであって、該第1および該第2の電子デバイスが(i)不揮発性
メモリと(ii)プロセッサと(iii)該不揮発性メモリ上に格納される少な
くとも1つの真正乱数テーブルであって、該テーブルが該第1および該第2の電
子デバイスに対して同一である、テーブルと(iv)該テーブルから真正乱数を
得るための少なくとも1つのソフトウェアプログラムであって、該ソフトウェア
プログラムは該不揮発性メモリ上に格納され、かつ該少なくとも1つのソフトウ
ェアプログラムは該プロセッサによって動作される、ソフトウェアプログラムと
を有する、ステップと、(b)該第1の電子デバイスと該第2の電子デバイスと
の間の通信のための通信チャネルを提供するステップと、(c)選択手順にした
がって、該第1および該第2の電子デバイスにおける該テーブルから、選択され
た真正乱数を選択するステップであって、該選択手順は該第1および該第2の電
子デバイスに対して同一であり、該選択手順は該通信チャネル上で該第1および
該第2の電子デバイス間で鍵の少なくとも一部を交換するステップを含み、該選
択された真正乱数は該第1および該第2の電子デバイスに対して同一である、ス
テップと、(d)該選択された真正乱数を用いて、該第1および該第2の位置に
おいて、同一の電子ワンタイムパッドの少なくとも一部を形成するステップとを
含む。
SUMMARY OF THE INVENTION In accordance with the present invention, there is provided a method for generating an identical electronic one-time pad at a first location and a second location, the method comprising: (a) Providing a first electronic device at a location and a second electronic device at the second location, the first and second electronic devices comprising: (i) a non-volatile memory; and (ii) A processor and (iii) at least one true random number table stored on the non-volatile memory, the table being the same for the first and second electronic devices; and (iv) the table. At least one software program for obtaining a true random number from a table, wherein the software program is stored on the non-volatile memory; A software program having a software program operated by the processor; and (b) providing a communication channel for communication between the first electronic device and the second electronic device. (C) selecting a selected true random number from the tables in the first and second electronic devices according to a selection procedure, wherein the selection procedure includes the first and second electronic devices. Identical to the device, the selecting procedure includes exchanging at least a portion of a key between the first and second electronic devices over the communication channel, wherein the selected authentic random number is the Steps that are the same for one and the second electronic device; and (d) using the selected true random number in the first and the second locations. Forming at least a portion of the electronic one-time pad.

【0019】 好ましくは、前記同一の電子ワンタイムパッドは、任意の所望の長さである。Preferably, the same electronic one-time pad is of any desired length.

【0020】 本発明の好ましい実施形態によると、前記テーブルから前記選択された真正乱
数を選択する前記ステップは、(i)前記第1の電子デバイスにおいて第1の真
正乱数を生成し、かつ前記第2の電子デバイスにおいて第2の真正乱数を生成す
るステップと、(ii)前記チャネルを介して、該第1の真正乱数を該第2の電
子デバイスに送信し、かつ該第2の真正乱数を該第1の電子デバイスに送信する
ステップであって、該第1および該第2の真正乱数が前記鍵の前記少なくとも一
部を形成する、ステップとを含む。好ましくは、該方法が、(iii)ポインタ
を用いて、前記テーブルから、得られた真正乱数を得るステップであって、該ポ
インタは、実質的に該鍵と同一であって、該選択された乱数が該得られた真正乱
数にしたがって選択される、ステップをさらに含む。より好ましくは、該選択さ
れた真正乱数が該得られた真正乱数である。
According to a preferred embodiment of the present invention, the step of selecting the selected true random number from the table includes: (i) generating a first true random number in the first electronic device; Generating a second genuine random number in the second electronic device; and (ii) transmitting the first genuine random number to the second electronic device via the channel, and transmitting the second genuine random number to the second electronic device. Transmitting to the first electronic device, wherein the first and second authentic random numbers form the at least a portion of the key. Preferably, the method is: (iii) using a pointer to obtain the obtained true random number from the table, wherein the pointer is substantially the same as the key and the selected The method further comprises the step of selecting a random number according to the obtained true random number. More preferably, the selected true random number is the obtained true random number.

【0021】 あるいはおよび好ましくは、前記方法が(ii−a)前記第1および第2の真
正乱数をマージして前記鍵の前記少なくとも一部を形成するステップをさらに含
む。
Alternatively and preferably, said method further comprises (ii-a) merging said first and second true random numbers to form said at least a portion of said key.

【0022】 本発明の他の好ましい実施形態によると、前記第1および第2の電子デバイス
の少なくとも1つは、物理的ランダム現象の供給源を含み、該第1および該第2
の真正乱数の少なくとも1つが、該物理的ランダム現象の供給源から生成される
。好ましくは、該物理的ランダム現象の供給源が、音響ノイズの供給源および熱
ノイズの供給源からなる群から選択される。
According to another preferred embodiment of the present invention, at least one of said first and second electronic devices comprises a source of physical random phenomena, said first and said second electronic devices.
Is generated from a source of the physical random phenomenon. Preferably, the source of the physical random phenomenon is selected from the group consisting of a source of acoustic noise and a source of thermal noise.

【0023】 本発明の他の好ましい実施形態によると、前記第1および第2の電子デバイス
の少なくとも1つは、擬似乱数生成器を特徴とし、該擬似乱数生成器が前記不揮
発性メモリ中に格納された少なくとも1つのソフトウェアプログラムにしたがっ
て前記プロセッサによって動作され、該擬似乱数生成器が未定義期間実質的に連
続に動作され、前記第1および第2の真正乱数の少なくとも1つを生成する前記
ステップが該擬似乱数生成器から出力数を出力するステップを含む。
According to another preferred embodiment of the invention, at least one of said first and second electronic devices is characterized by a pseudo-random number generator, said pseudo-random number generator being stored in said non-volatile memory Operating by the processor according to the at least one software program performed, wherein the pseudo-random number generator is operated substantially continuously for an undefined period to generate at least one of the first and second true random numbers. Outputting the output number from the pseudo-random number generator.

【0024】 好ましくは、前記方法は、(iv)前記第1および第2の電子デバイスにおい
て少なくとも1つの同一の擬似乱数生成器を提供するステップであって、該少な
くとも1つの擬似乱数生成器が、前記不揮発性メモリ中に格納された少なくとも
1つのソフトウェアプログラムにしたがって前記プロセッサによって動作される
、ステップと、(v)第1のポインタを用いて、前記テーブルから、得られた真
正乱数を得るステップであって、該第1のポインタが前記鍵に実質的に同一であ
る、ステップと、(vi)該得られた真正乱数を該少なくとも1つの擬似乱数生
成器にシードとして与えるステップと、(vii)該少なくとも1つの擬似乱数
生成器から、生成された擬似乱数を得るステップであって、該生成された擬似乱
数が前記第1および第2の電子デバイスに対して同一である、ステップと、(v
iii)該生成された擬似乱数を第2のポインタとして使用して該テーブルから
該選択された真正乱数を選択するステップとをさらに含む。より好ましくは、該
選択された真正乱数を選択する該ステップが、(1)該少なくとも1つの擬似乱
数生成器から第2の生成された擬似乱数を生成するステップであって、該第2の
生成された擬似乱数が該第1および第2の電子デバイスに対して同一である、ス
テップと、(2)該第2の生成された擬似乱数と該選択された真正乱数とをマー
ジして、マージされた真正乱数を形成するステップであって、該マージされた真
正乱数が該選択された真正乱数である、ステップとをさらに含む。最も好ましく
は、該方法が、ステップ(vi)〜(viii)ならびに(1)および(2)を
少なくとも1度繰り返すステップをさらに含み、ステップ(vi)に対して該選
択された真正乱数が該得られた真正乱数であり、かつこれらのステップを繰り返
すために該第2のポインタがステップ(2)からの該選択された真正乱数である
。好ましくは、複数の選択された真正乱数がこのプロセスを少なくとも1度繰り
返すことによって得られる。
Preferably, the method comprises: (iv) providing at least one identical pseudo-random number generator in the first and second electronic devices, wherein the at least one pseudo-random number generator comprises: Operated by the processor according to at least one software program stored in the non-volatile memory; and (v) obtaining the obtained true random number from the table using a first pointer. Wherein said first pointer is substantially identical to said key; and (vi) seeding said at least one pseudorandom number generator as a seed to said at least one pseudorandom number generator; and (vii) Obtaining a generated pseudo-random number from the at least one pseudo-random number generator, wherein the generated pseudo-random number is Steps that are the same for the first and second electronic devices;
iii) selecting the selected true random number from the table using the generated pseudo random number as a second pointer. More preferably, the step of selecting the selected true random number comprises: (1) generating a second generated pseudo-random number from the at least one pseudo-random number generator; (2) merging the second generated pseudo-random number with the selected true random number, wherein the generated pseudo-random number is the same for the first and second electronic devices; Forming the generated true random number, wherein the merged true random number is the selected true random number. Most preferably, the method further comprises the step of repeating steps (vi)-(viii) and (1) and (2) at least once, wherein for said step (vi) said selected true random number is obtained. And the second pointer is the selected true random number from step (2) to repeat these steps. Preferably, a plurality of selected true random numbers are obtained by repeating this process at least once.

【0025】 本発明のさらに他の好ましい実施形態によると、前記方法は、(d)前記ワン
タイムパッドにしたがって前記第1の電子デバイスによって、メッセージと該ワ
ンタイムパッドからの前記選択された真正乱数とをマージ関数にしたがってマー
ジすることによって、該メッセージを暗号化して暗号化されたメッセージを形成
するステップと、(e)該暗号化されたメッセージを前記第2の電子デバイスに
前記通信チャネルを介して送信するステップとをさらに含む。
According to yet another preferred embodiment of the present invention, the method comprises: (d) by the first electronic device according to the one-time pad, a message and the selected true random number from the one-time pad. Encrypting the message to form an encrypted message by merging the encrypted message into the second electronic device via the communication channel. And transmitting.

【0026】 好ましくは、前記方法は、(f)前記暗号化されたメッセージを前記第2の電
子デバイスによって受信するステップと、(g)該暗号化されたメッセージに対
して逆関数を実行することによって該暗号化されたメッセージを復号化して前記
メッセージの前記少なくとも一部を得るステップとをさらに含む。
Preferably, the method comprises: (f) receiving the encrypted message by the second electronic device; and (g) performing an inverse function on the encrypted message. Decrypting said encrypted message to obtain said at least a portion of said message.

【0027】 好ましくは、前記メッセージは、複数の部分に分割可能である。より好ましく
は、該メッセージは、複数のバイトに分割可能であり、かつ該メッセージの該少
なくとも一部が該複数のバイトの1つである。
Preferably, the message is divisible into a plurality of parts. More preferably, the message is divisible into a plurality of bytes, and the at least part of the message is one of the plurality of bytes.

【0028】 また好ましくは、前記複数の真正乱数は、ランダムな時点で擬似乱数生成器の
シードを変化させることによって生成される。該シードは、それを選択された乱
数と置き換えまたは変更することによって変化され得る。該ランダムな時点自体
も、乱数にしたがって選択され得る。
Preferably, the plurality of true random numbers are generated by changing a seed of a pseudo random number generator at a random time. The seed can be changed by replacing or changing it with a selected random number. The random point in time itself can also be selected according to a random number.

【0029】 本発明のさらに別の好ましい実施形態によると、前記方法は、(d)前記ワン
タイムパッドにしたがって前記第1の電子デバイスによって、識別子と該ワンタ
イムパッドからの前記選択された真正乱数とをマージ関数にしたがってマージす
ることによって、該識別子を暗号化して暗号化されたメッセージを形成するステ
ップと、(e)該暗号化された識別子を前記第2の電子デバイスに送信するステ
ップと、(f)該第2の電子デバイスによって該暗号化された識別子を受信する
ステップと、(g)該暗号化された識別子に対して逆関数を実行することによっ
て該暗号化された識別子を復号化して該識別子を得るステップと、(h)該識別
子したがって、該第2の電子デバイスによって、アクセス制御モジュールへのア
クセスを決定するステップとをさらに含む。
According to yet another preferred embodiment of the present invention, the method comprises: (d) by the first electronic device according to the one-time pad, an identifier and the selected true random number from the one-time pad. Encrypting the identifier to form an encrypted message by merging the encrypted identifier according to a merge function; and (e) transmitting the encrypted identifier to the second electronic device; (F) receiving the encrypted identifier by the second electronic device; and (g) decrypting the encrypted identifier by performing an inverse function on the encrypted identifier. (H) obtaining access to an access control module by said second electronic device by said identifier; Deciding.

【0030】 好ましくは、前記マージ関数は、前記選択された真正乱数および前記識別子を
用いてXOR演算を実行するステップを含む。より好ましくは、前記アクセス制
御モジュールが、物理空間、電子デバイス、およびデータからなる群から選択さ
れる。また最も好ましくは、該物理空間は、部屋、金庫、自動車、建物および安
全設備からなる群から選択される。また最も好ましくは、該電子デバイスは、コ
ンピュータ、自動現金機、テレビ、携帯電話および通常の電話からなる群から選
択される。またより好ましくは、該データは、銀行口座、電子メール(e−ma
il)およびボイスメールからなる群から選択される。
Preferably, the merge function includes a step of performing an XOR operation using the selected true random number and the identifier. More preferably, said access control module is selected from the group consisting of physical space, electronic device, and data. Also most preferably, the physical space is selected from the group consisting of rooms, safes, cars, buildings and safety equipment. Also most preferably, the electronic device is selected from the group consisting of a computer, a cash machine, a television, a mobile phone and a regular phone. Even more preferably, the data is stored in a bank account, e-mail (e-ma
il) and voicemail.

【0031】 本発明の別の実施形態によると、アクセス制御モジュールへのユーザによるア
クセスを決定するための方法が提供され、該方法は、(a)該ユーザのための第
1の電子デバイスおよび該アクセス制御モジュールのための第2の電子デバイス
を提供するステップであって、該第1および該第2の電子デバイスそれぞれが(
i)不揮発性メモリと(ii)プロセッサと(iii)該不揮発性メモリ上に格
納される少なくとも1つの真正乱数テーブルであって、該テーブルが該第1およ
び該第2の電子デバイスに対して同一である、テーブルと(iv)該テーブルか
ら真正乱数を得るための少なくとも1つのソフトウェアプログラムであって、該
ソフトウェアプログラムは該不揮発性メモリ上に格納され、かつ該少なくとも1
つのソフトウェアプログラムは該プロセッサによって動作される、ソフトウェア
プログラムとを有する、ステップと、(b)該第1の電子デバイスと該第2の電
子デバイスとの間の通信のための通信チャネルを提供するステップと、(c)選
択手順にしたがって、該第1および該第2の電子デバイスにおける該テーブルか
ら、選択された真正乱数を選択するステップであって、該選択手順は該第1およ
び該第2の電子デバイスに対して同一であり、該選択された真正乱数は該第1お
よび該第2の電子デバイスに対して同一である、ステップと、(d)該第1の電
子デバイスによって、識別子と該選択された真正乱数とをマージ関数にしたがっ
てマージすることによって、該識別子を暗号化して暗号化されたメッセージを形
成するステップと、(e)該暗号化された識別子を前記第2の電子デバイスに送
信するステップと、(f)該第2の電子デバイスによって該暗号化された識別子
を受信するステップと、(g)該暗号化された識別子に対して逆関数を実行する
ことによって該暗号化された識別子を復号化して該識別子を得るステップであっ
て、該逆関数が該マージ関数の逆である、ステップと、(h)該識別子したがっ
て、該第2の電子デバイスによって、アクセス制御モジュールへのアクセスを決
定するステップとを含む。
According to another embodiment of the present invention, there is provided a method for determining access by a user to an access control module, the method comprising: (a) a first electronic device for the user; Providing a second electronic device for the access control module, wherein each of the first and second electronic devices comprises (
i) a non-volatile memory, (ii) a processor, and (iii) at least one true random number table stored on the non-volatile memory, the table being the same for the first and second electronic devices. And (iv) at least one software program for obtaining a true random number from the table, the software program being stored on the non-volatile memory, and
One software program having a software program operated by the processor; and (b) providing a communication channel for communication between the first electronic device and the second electronic device. And (c) selecting a selected true random number from the tables in the first and second electronic devices according to a selection procedure, wherein the selection procedure includes the first and the second The same for the electronic device, the selected true random number is the same for the first and the second electronic device; and (d) by the first electronic device, the identifier and the Encrypting the identifier to form an encrypted message by merging the selected authentic random number with a merge function; e) sending the encrypted identifier to the second electronic device; (f) receiving the encrypted identifier by the second electronic device; and (g) receiving the encrypted identifier. (D) decrypting the encrypted identifier by performing an inverse function on the generated identifier to obtain the identifier, wherein the inverse function is the inverse of the merge function; Determining an access to an access control module by the second electronic device accordingly.

【0032】 本発明のさらに別の実施形態によると、メッセージの安全な送信のための方法
が提供され、該方法は、(a)第1の位置において第1の電子デバイスを、およ
び第2の位置のおいて第2の電子デバイスを提供するステップであって、該第1
および該第2の電子デバイスそれぞれが(i)不揮発性メモリと(ii)プロセ
ッサと (iii)該不揮発性メモリ上に格納される少なくとも1つの真正乱数
テーブルであって、該テーブルが該第1および該第2の電子デバイスに対して同
一である、テーブルと(iv)該テーブルから真正乱数を得るための少なくとも
1つのソフトウェアプログラムであって、該少なくとも1つの該ソフトウェアプ
ログラムは該不揮発性メモリ上に格納され、かつ該少なくとも1つのソフトウェ
アプログラムは該プロセッサによって動作される、ソフトウェアプログラムとを
有する、ステップと、(b)該第1の電子デバイスと該第2の電子デバイスとの
間の通信のための通信チャネルを提供するステップと、(c)選択手順にしたが
って、該第1および該第2の電子デバイスにおける該テーブルから、選択された
真正乱数を選択するステップであって、該選択手順は該第1および該第2の電子
デバイスに対して同一であり、該選択された真正乱数は該第1および該第2の電
子デバイスに対して同一である、ステップと、(d)該第1の電子デバイスによ
って、該メッセージの少なくとも一部と該選択された真正乱数とをマージ関数に
したがってマージすることによって、該メッセージを暗号化して暗号化されたメ
ッセージを形成するステップと、(e)該暗号化されたメッセージを該通信チャ
ネル上で前記第2の電子デバイスに送信するステップとを含む。
According to yet another embodiment of the present invention, there is provided a method for secure transmission of a message, the method comprising: (a) providing a first electronic device at a first location and a second electronic device; Providing a second electronic device in a location, wherein the first electronic device comprises:
And each of the second electronic devices is: (i) a non-volatile memory, (ii) a processor, and (iii) at least one true random number table stored on the non-volatile memory, wherein the tables are the first and the second random number tables. A table, and (iv) at least one software program for obtaining a true random number from the table, wherein the at least one software program is located on the non-volatile memory, the table being identical to the second electronic device; Storing the at least one software program and the software program operated by the processor, comprising: (b) for communication between the first electronic device and the second electronic device. Providing the first and the second communication channels according to a selection procedure. Selecting a selected genuine random number from the table in a second electronic device, wherein the selecting procedure is the same for the first and second electronic devices and the selected genuine random number is selected. Is the same for the first and second electronic devices; and (d) the first electronic device converts at least a portion of the message and the selected true random number into a merge function. Thus, encrypting the message to form an encrypted message by merging; and (e) transmitting the encrypted message over the communication channel to the second electronic device. Including.

【0033】 本発明のさらに別の実施形態によると、電子ワンタイムパッドを生成するため
のデバイスが提供され、該デバイスは、(a)不揮発性メモリと、(b)プロセ
ッサと、(c)該不揮発性メモリ上に格納された読み取り専用の真正乱数テーブ
ルと、(d)該テーブルから、得られた真正乱数を得るための第1のソフトウェ
アプログラムであって、該第1のソフトウェアプログラムが該不揮発性メモリ上
に格納され、かつ該第1のソフトウェアプログラムが該プロセッサによって動作
される、第1のソフトウェアプログラムと、(e)鍵の少なくとも一部を受信す
るための入力ポートと、(f)該得られた真正乱数および選択手順にしたがって
、選択された真正乱数を選択するための第2のソフトウェアプログラムであって
、該選択された真正乱数が電子ワンタイムパッドの少なくとも一部を形成する、
第2のソフトウェアプログラムと、(g)該電子ワンタイムパッドを格納するた
めの読み取り/書き込みメモリとを含み、該不揮発性メモリ、該プロセッサおよ
び該入力ポートが単一チップ上に配置され、かつ該チップへのアクセスが該入力
ポートを介してのみ可能にされる。
According to yet another embodiment of the present invention, there is provided a device for generating an electronic one-time pad, the device comprising: (a) a non-volatile memory; (b) a processor; A read-only true random number table stored on a non-volatile memory; and (d) a first software program for obtaining the obtained true random number from the table, wherein the first software program is the first software program. A first software program stored on a volatile memory, and wherein the first software program is operated by the processor; (e) an input port for receiving at least a portion of a key; A second software program for selecting the selected true random number according to the obtained true random number and the selection procedure, Authenticated random numbers form at least a part of the electronic one-time pad,
A second software program; and (g) a read / write memory for storing the electronic one-time pad, wherein the non-volatile memory, the processor and the input port are located on a single chip; Access to the chip is enabled only through the input port.

【0034】 好ましくは、前記読み取り/書き込みメモリは、前記単一チップ上に配置され
る。あるいはおよび好ましくは、該読み取り/書き込みメモリは、物理的に分離
する位置にある。
Preferably, said read / write memory is located on said single chip. Alternatively and preferably, the read / write memory is at a physically separate location.

【0035】 好ましくは、前記第2のソフトウェアプログラムは、前記入力ポートを介して
コマンドを受信すると、前記選択された真正乱数を選択する。また好ましくは、
前記チップ上にリセット信号を受信するためのさらなる入力ポートをさらに含み
、前記第2の電子デバイスが、該チップが該リセット信号を受信するまで前記選
択された真正乱数を選択する。また好ましくは、該デバイスは、(h)生成され
た真正乱数を生成するための生成器であって、該生成された真正乱数が前記鍵の
第2の部分を形成し、該生成器が前記単一チップ上に位置する、生成器と、(i
)出力ポートであって、該出力ポートが該単一チップ上に位置し、該鍵の該第2
の部分が該出力ポートを介して送信可能である、出力ポートとをさらに含む。
Preferably, when the second software program receives a command via the input port, the second software program selects the selected true random number. Also preferably,
Further including an additional input port on the chip for receiving a reset signal, wherein the second electronic device selects the selected true random number until the chip receives the reset signal. Also preferably, the device is (h) a generator for generating a generated true random number, wherein the generated true random number forms a second part of the key, wherein the generator A generator located on a single chip, and (i
) An output port, wherein said output port is located on said single chip and said second one of said keys;
And an output port that can be transmitted via the output port.

【0036】 より好ましくは、前記生成器は、物理的ランダム現象の供給源を含み、前記生
成された真正乱数が該物理的ランダム現象の供給源から生成される。最も好まし
くは、該前記物理的ランダム現象の供給源は、音響ノイズの供給源および熱ノイ
ズの供給源からなる群から選択される。
More preferably, the generator includes a source of a physical random phenomenon, and the generated true random number is generated from the source of the physical random phenomenon. Most preferably, the source of the physical random phenomenon is selected from the group consisting of a source of acoustic noise and a source of thermal noise.

【0037】 あるいはおよび好ましくは、前記生成器が、前記不揮発性メモリ中に格納され
た少なくとも1つのソフトウェアプログラムにしたがって前記プロセッサによっ
て動作される擬似乱数生成器であり、該擬似乱数生成器が未定義期間実質的に連
続に動作され、該生成された真正乱数が該擬似乱数生成器から得られる。
[0037] Alternatively and preferably, said generator is a pseudo-random number generator operated by said processor according to at least one software program stored in said non-volatile memory, said pseudo-random number generator being undefined. Operating substantially continuously for a period of time, the generated true random number is obtained from the pseudo-random number generator.

【0038】 本発明の好ましい実施形態によると、前記入力ポートがメッセージを受信可能
であり、かつ電子ワンタイムパッドにしたがって該メッセージを暗号化して、暗
号化メッセージを形成するための少なくとも1つのソフトウェアプログラムが該
不揮発性メモリ上に格納され、該少なくとも1つのソフトウェアプログラムは前
記プロセッサによって動作され、該暗号化されたメッセージは前記出力ポートを
介して送信可能である。好ましくは、該入力ポートがメッセージを受信可能であ
り、かつ電子ワンタイムパッドにしたがって該メッセージを暗号化して、暗号化
メッセージを形成するための少なくとも1つのソフトウェアプログラムが、前記
チップから物理的に分離する位置に位置する第2の不揮発性メモリ上に格納され
、該少なくとも1つのソフトウェアプログラムは該プロセッサによって動作され
、該暗号化されたメッセージは該出力ポートを介して送信可能である。
According to a preferred embodiment of the present invention, said input port is capable of receiving a message and at least one software program for encrypting said message according to an electronic one-time pad to form an encrypted message Is stored on the non-volatile memory, the at least one software program is operated by the processor, and the encrypted message is transmittable via the output port. Preferably, the input port is capable of receiving a message, and at least one software program for encrypting the message according to an electronic one-time pad to form an encrypted message is physically separate from the chip. Stored on a second non-volatile memory located at a location where the at least one software program is run by the processor and the encrypted message is transmittable via the output port.

【0039】 本発明の他の好ましい実施形態によると、前記不揮発性メモリが識別子、およ
び電子ワンタイムパッドにしたがって該識別子を暗号化して、暗号化された識別
子を形成するための少なくとも1つのソフトウェアプログラムを含み、該少なく
とも1つのソフトウェアプログラムは前記プロセッサによって動作され、該暗号
化されたメッセージは前記出力ポートを介して送信可能である。
According to another preferred embodiment of the present invention, the non-volatile memory encrypts the identifier according to an electronic one-time pad and at least one software program for forming an encrypted identifier Wherein the at least one software program is run by the processor and the encrypted message is transmittable via the output port.

【0040】 本発明のさらに別の実施形態によると、複数の読み取り専用の乱数テーブルが
前記不揮発性メモリ上に格納され、かつ該テーブルのうちの少なくとも1つを選
択するための少なくとも1つのソフトウェアプログラムが該不揮発性メモリ上に
格納され、そして前記プロセッサによって動作され、該電子ワンタイムパッドは
該テーブルの内の該少なくとも1つにしたがって生成される。より好ましくは、
安全な通信のためのシステムが提供され、該システムが(a)本発明の好適な実
施形態による第1のデバイスと、(b)本発明の好適な実施形態による第2のデ
バイスとを含み、該複数の読み取り専用の乱数テーブルのうちの少なくとも1つ
が該第1のデバイスおよび第2のデバイス上で同一であり、前記ソフトウェアプ
ログラムが該少なくとも1つの同一テーブルを選択することが可能である。
According to yet another embodiment of the present invention, a plurality of read-only random number tables are stored on the non-volatile memory, and at least one software program for selecting at least one of the tables Is stored on the non-volatile memory and operated by the processor, the electronic one-time pad is generated according to the at least one of the tables. More preferably,
A system for secure communication is provided, the system comprising: (a) a first device according to a preferred embodiment of the present invention; and (b) a second device according to a preferred embodiment of the present invention; At least one of the plurality of read-only random number tables is the same on the first device and the second device, and the software program can select the at least one same table.

【0041】 以下、用語「メッセージ」は、バイトの形態であるデータの集合を意味する。
メッセージは、テキスト情報およびイメージ情報を含むが、これらに限定されな
い。
Hereinafter, the term “message” refers to a collection of data in the form of bytes.
The message includes, but is not limited to, textual information and image information.

【0042】 以下、用語「通信チャネル」は、通信を起こすことが可能である2つの電子デ
バイス間の任意の通信を意味する。通信チャネルの例としては、通常の電話ネッ
トワーク、任意のコンピュータネットワーク、ケーブルによって送信される無線
ケーブルおよび有線の両方、および携帯電話ネットワークなどがあるが、これら
に限定されない。ある環境においては、これらの通信チャネルはまた、「安全で
ないチャネル」と考えられる。「安全でないチャネル」は、これらのタイプの通
信が非認証第三者によって送信データが傍受されやすいこと(必然ではないが、
可能性がある)を意味する。以下、用語「オープンチャネル」は、安全対策がな
されていないチャネルを意味する。同様に、用語「オープンテキスト」は、任意
の通信チャネル上を送信される、暗号化されていないテキストを意味する。
Hereinafter, the term “communication channel” means any communication between two electronic devices capable of effecting communication. Examples of communication channels include, but are not limited to, a regular telephone network, any computer network, both wireless and wired, transmitted by cable, and cellular telephone networks. In some circumstances, these communication channels are also considered "insecure channels." An "insecure channel" means that these types of communications tend to be intercepted by unauthenticated third parties (but not necessarily,
(Possibly). Hereinafter, the term "open channel" means a channel for which no security measures have been taken. Similarly, the term "open text" means unencrypted text transmitted over any communication channel.

【0043】 電子デバイスの例として、ファクシミリ機、電話、携帯電話、テレビ、ならび
に音声、衛星アンテナ、テレビ送信器、ケーブル中継局およびコンピュータなど
による通信を意図する任意の他のデバイスを含む。以下、用語「コンピュータネ
ットワーク」は、データの送信を可能にする任意の2つのコンピュータ間の接続
を意味する。以下、用語「コンピュータ」は、DOS、WindowsTM、OS
/2TMまたはLinuxなどのオペレーティングシステムを有するパーソナルコ
ンピュータ(PC)、MacintoshTMコンピュータ、オペレーティングシ
ステムとしてJAVATM−OSを有するコンピュータ、Sun Microsy
stemsTMおよびSilicon GraphicsTMのコンピュータなどの
グラフィカルワークステーション、ならびにAIXまたはSun Micros
ystemsTMのSOLARISTMなどのUNIX(登録商標)オペレーティン グシステムのあるバージョン、または任意の他の入手可能なオペレーティングシ ステムを有する他のコンピュータをいう。以下、用語「WindowsTM」は、 Microsoft Inc.(USA)によるWindows95TM、Win dows3.xTM(「x」は「1」などの整数)、WindowsNTTM、Wi ndows98TM、WindowsCETMおよびこれらのオペレーティングシス テムの任意のアップグレードバージョンを含むが、これらに限定されない。
Examples of electronic devices include facsimile machines, telephones, cell phones, televisions, and any other device intended for communication by voice, satellite dish, television transmitter, cable repeater, computer, and the like. Hereinafter, the term "computer network" means a connection between any two computers that allows the transmission of data. Hereinafter, the term “computer” is used for DOS, Windows , OS
/ 2 TM or personal computer having an operating system such as Linux (PC), Macintosh TM computers, computers having JAVA TM -OS as the operating system, Sun Microsy
Graphical workstations such as the Stems and Silicon Graphics computers, and AIX or Sun Micros
It refers to other computers having ystems UNIX (registered trademark) operating system with a version such as SOLARIS TM of TM or any other available operating systems. Hereinafter, the term “Windows ” refers to Microsoft Inc. Windows 95 , Windows 3. This includes, but is not limited to, x (“x” is an integer such as “1”), WindowsNT , Windows98 , WindowsCE ™, and any upgraded version of these operating systems.

【0044】 以下、用語「非安全通信デバイス」は、本発明の安全な通信の方法を実行でき
ない任意のデバイスを意味する。同様に、用語「非安全通信プロトコル」は、本
発明の安全通信プロトコル以外の任意のプロトコルを意味する。このように、用
語「非安全」は、非安全デバイスまたは非安全プロトコルの実際の機密保護性ま
たは特徴を示すようには意図されず、そのデバイスまたはプロトコルが本発明の
ものでないことを示すようにだけ意図される。
Hereinafter, the term “non-secure communication device” refers to any device that cannot perform the secure communication method of the present invention. Similarly, the term "non-secure communication protocol" means any protocol other than the secure communication protocol of the present invention. Thus, the term "non-secure" is not intended to indicate the actual security or characteristics of a non-secure device or non-secure protocol, but to indicate that the device or protocol is not of the present invention. Only intended.

【0045】 以下、用語「真正乱数」は、意のままに繰り返し再生成できないという意味で
確率的にランダムである数を意味する。用語「擬似乱数」は、数学的アルゴリズ
ムにしたがって生成され、かつ理論的に繰り返し再生成し得る数を意味する。用
語「乱数生成器」は、コンピュータが擬似乱数を生成することができる数学的ア
ルゴリズムを意味する。そのような擬似乱数生成器の1つの特徴は、乱数が生成
されるごとにシードが自動的に変化されることである。以下、用語「選択手順」
は、例えば真正乱数テーブルから既存の乱数を選択するステップ、およびそのよ
うな既存の真正乱数がさらに変化、変更または操作される手順の両方を意味する
Hereinafter, the term “true random number” means a number that is stochastically random in the sense that it cannot be regenerated repeatedly at will. The term “pseudorandom number” means a number that is generated according to a mathematical algorithm and that can be theoretically regenerated repeatedly. The term "random number generator" refers to a mathematical algorithm that allows a computer to generate pseudorandom numbers. One feature of such a pseudo-random number generator is that the seed is automatically changed each time a random number is generated. Hereinafter, the term "selection procedure"
Means, for example, both the step of selecting an existing random number from a true random number table, and the procedure by which such an existing random number is further changed, changed or manipulated.

【0046】 以下、用語「自動現金機」は、磁気帯を有するカードを挿入し、そしてPIN
(個人識別番号)などの識別番号を入力すると現金が得られる機械を意味する。
Hereinafter, the term “cash machine” refers to inserting a card with a magnetic strip and
(Individual identification number) This means a machine where cash can be obtained by inputting an identification number.

【0047】 本発明について、ソフトウェアアプリケーションは、当業者によって容易に選
択され得る、実質的に任意の適切なプログラミング言語によって記述され得る。
選択されたプログラミング言語は、ソフトウェアプログラムが実行されるコンピ
ュータハードウェアおよびオペレーティングシステムに適合されるべきである。
適切なプログラミング言語の例として、C、C++およびJavaなどがあるが、
これらに限定されない。さらに、本発明の関数は、方法のための一続きのステッ
プとして記述される場合に、データプロセッサによって動作される一続きのソフ
トウェア命令として実施され得、本発明は、ソフトウェア、ファームウェアまた
はハードウェアとして実施され得る。
For the present invention, a software application can be written in substantially any suitable programming language that can be readily selected by one of ordinary skill in the art.
The programming language chosen should be adapted to the computer hardware and operating system on which the software program runs.
Examples of suitable programming languages include C, C ++, and Java,
It is not limited to these. Further, when the functions of the present invention are described as a sequence of steps for a method, they may be implemented as a sequence of software instructions operated by a data processor, and the present invention may be implemented as software, firmware or hardware. Can be implemented.

【0048】 上記および他の目的、局面および利点は、図面を参照した以下の本発明の好ま
しい実施形態の詳細な説明からよりよく理解され得る。
The above and other objects, aspects and advantages can be better understood from the following detailed description of preferred embodiments of the invention with reference to the drawings, in which:

【0049】 (発明の簡単な説明) 本発明は、例えば、不安全なチャネル上の安全な通信または安全な識別のため
の実用上無制限の個数の電子的「ワンタイムパッド」を作成および使用するため
の方法およびシステムに関する。システムは、少なくとも1つの乱数テーブルを
含みかつ電子的「ワンタイムパッド」を生成できる電子デバイス(例えば、半導
体チップ)を含む。安全な通信を行うためには、各者がこのチップまたは別の形
態の本発明の電子デバイスを有さなければいけない。
BRIEF DESCRIPTION OF THE INVENTION The present invention creates and uses a practically unlimited number of electronic "one-time pads", for example, for secure communication or secure identification over an insecure channel. And a system for the same. The system includes an electronic device (eg, a semiconductor chip) that includes at least one random number table and can generate an electronic “one-time pad”. For secure communication, each person must have this chip or another form of the electronic device of the present invention.

【0050】 次に、本発明の電子デバイスを有する任意の二者は、安全な通信または安全な
識別手順を行うことができる。どちらの場合も、好ましくは、二者は、鍵の一部
として少なくとも1つの乱数を送信する。次に、鍵は、選択手順に従って乱数テ
ーブルから少なくとも1つの真正乱数を選択することによって電子的「ワンタイ
ムパッド」を生成するための本発明の方法の一部として使用される。次に、「ワ
ンタイムパッド」は、例えば、メッセージを暗号化するために使用され得る。し
かし、「ワンタイムパッド」は、一度使用されるだけなので、検出され得ないし
、かつ分析によっても得られ得ない。さらに、鍵の1ビットが変化すれば、完全
に異なる「ワンタイムパッド」が得られる。各「ワンタイムパッド」は、二者間
通信の開始時に各者の各電子デバイスによって生成され、かつ任意の所望の長さ
であり得る。このように、「ワンタイムパッド」は、二者間通信の必要に応じて
生成され、そして次に好ましくは破棄される。
Then, any two persons with the electronic device of the present invention can perform secure communication or secure identification procedures. In either case, preferably, the two transmit at least one random number as part of the key. The key is then used as part of the method of the invention for generating an electronic "one-time pad" by selecting at least one true random number from a random number table according to a selection procedure. The "one-time pad" can then be used, for example, to encrypt the message. However, the "one-time pad" is used only once and cannot be detected and cannot be obtained by analysis. Further, if one bit of the key changes, a completely different "one-time pad" is obtained. Each "one-time pad" is generated by each of their electronic devices at the beginning of a two-party communication and can be of any desired length. Thus, a "one-time pad" is created as needed for a two-way communication and then preferably discarded.

【0051】 好ましくは、送信者および受信者の両方に相互に既知の少なくとも1つのテー
ブルにしたがって目標の受信者の識別子を暗号化することによってプロセスを開
始する。この識別子は公開である。次に、暗号化された識別子は、本発明の受信
電子デバイスに送信される。次に、受信電子デバイスは、相互に既知のテーブル
にしたがって暗号化された識別子を複合し、そして受信かつ復号化された識別子
と受信電子デバイスにおいて格納された識別子とを比較する。好ましくは、受信
電子デバイスは、格納された識別子が受信かつ復号化された識別子と異なる場合
に、その復号化手順を停止するように構成される。この好ましい実施形態は、非
認証受信者が認証ユーザの振りをして安全な通信またはその認証ユーザの識別手
順に参加することを防止する。
Preferably, the process starts by encrypting the target recipient identifier according to at least one table mutually known to both the sender and the recipient. This identifier is public. Next, the encrypted identifier is transmitted to the receiving electronic device of the present invention. The receiving electronic device then decrypts the encrypted identifier according to a mutually known table and compares the received and decrypted identifier with the identifier stored at the receiving electronic device. Preferably, the receiving electronic device is configured to stop the decoding procedure if the stored identifier is different from the received and decoded identifier. This preferred embodiment prevents unauthenticated recipients from impersonating the authenticated user and participating in secure communications or identification procedures for that authenticated user.

【0052】 本発明の好ましい実施形態によると、各者は、本発明の1つより多い電子デバ
イスを有し得る。例えば、銀行は、内部通信のための真正乱数の1つのテーブル
または1セットのテーブルを有する本発明の電子デバイス、および顧客と通信す
るための異なるセットのテーブルを有する別の電子デバイスまたは同じ本発明の
デバイスを有し得る。したがって、本発明の電子デバイスを有する任意の二者間
で安全な通信が行われ得るが、各者は、異なるグループのメンバ間の通信の階層
にしてがって複数の位置の他者と通信するために、1つより多くのそのようなデ
バイス、または1つより多いセットの真正乱数テーブルを有するそのようなデバ
イスを有し得る。
According to a preferred embodiment of the present invention, each person may have more than one electronic device of the present invention. For example, a bank may have an electronic device of the present invention having one table or set of tables of true random numbers for internal communication and another electronic device having a different set of tables for communicating with a customer or the same invention. Devices. Thus, while secure communication can take place between any two parties having the electronic device of the present invention, each party communicates with others at multiple locations in a hierarchy of communications between members of different groups. To do so, one may have more than one such device, or such a device with more than one set of true random number tables.

【0053】 上記のように、「ワンタイムパッド」の生成は、真正乱数に依存する。しかし
、本発明のチップまたは他の電子デバイスは、実用上無限個の乱数を生成し得る
ので、このチップを有するデバイスは理論的には、実質的に同じ数を一度より多
く使用することなしに多年にわたって通信を行い得る。したがって、本発明の方
法、デバイスおよびシステムは、実質的に同時な2つの位置の電子的「ワンタイ
ムパッド」の生成および使い捨てに関する。
As described above, generation of the “one-time pad” depends on true random numbers. However, a chip or other electronic device of the present invention can generate a practically infinite number of random numbers, so that a device with this chip could theoretically not use substantially the same number more than once. Can communicate for many years. Accordingly, the methods, devices and systems of the present invention relate to the generation and disposable of two substantially simultaneous electronic "one-time pads" at two locations.

【0054】 本発明は、例えば、不安全なチャネル上の安全な通信または安全な識別のため
の実用上無制限の個数の電子的「ワンタイムパッド」を作成および使用するため
方法およびシステムに関する。システムは、乱数の「ワンタイムパッド」を生成
し得る電子デバイス、例えば、半導体チップを含む。通信を行うために、各者は
、このチップを有さなければならない。しかし、チップは、ほとんど無数の乱数
を生成し得るので、このチップを有するデバイスは理論的には、実質的に同じ数
を一度より多く使用することなしに多年にわたって通信を行い得る。
The present invention is directed to methods and systems for creating and using a practically unlimited number of electronic “one-time pads” for secure communication or secure identification, for example, over an insecure channel. The system includes an electronic device, eg, a semiconductor chip, that can generate a “one-time pad” of random numbers. To communicate, each person must have this chip. However, since the chip can generate an almost infinite number of random numbers, devices with this chip can theoretically communicate for many years without using substantially the same number more than once.

【0055】 本発明の他の好ましい実施形態において、本発明のシステムを内蔵するデバイ
スが説明される。さらに他の好ましい実施形態は、例えば、金庫または自動車な
どの物理空間、コンピュータまたは自動現金機などの電子デバイス、もしくは銀
行口座に関連する情報などのデータへのアクセスを決定するための、対象者の偽
造防止識別のための方法およびシステムならびに関連の電子デバイスを説明する
In another preferred embodiment of the present invention, a device incorporating the system of the present invention is described. Still other preferred embodiments include, for example, a physical space such as a safe or car, an electronic device such as a computer or cash machine, or a subject's access to data such as information associated with a bank account. A method and system for anti-counterfeit identification and related electronic devices are described.

【0056】 また、同時に複数の位置で実用上無制限量の同一の真正乱数を生成する方法が
本発明の範囲内である。好ましくは、以下の方法は、データプロセッサによって
動作されるソフトウェアモジュールとして実施形態化される。第1のステップに
おいて、ポインタにしたがって真正乱数を、真正乱数を含む少なくとも1つのテ
ーブルから選択する。ポインタは、複数の位置に対して既知であるので、選択さ
れた真正乱数は、すべての位置で同一である。次に、選択された真正乱数は、1
つの擬似乱数生成器によって生成された少なくとも1つの擬似乱数と組み合わさ
れ、最終的な真正乱数を形成する。擬似乱数生成器は、すべての位置で同じであ
り、かつすべての位置で同じシードを有するので、すべての位置で同じ擬似乱数
が生成される。したがって、すべての位置で同じ最終的な真正乱数が形成される
A method for simultaneously generating a practically unlimited amount of the same true random number at a plurality of positions is within the scope of the present invention. Preferably, the following method is embodied as a software module operated by a data processor. In a first step, a true random number is selected from at least one table containing the true random number according to the pointer. Since the pointer is known for a plurality of positions, the selected true random number is the same at all positions. Next, the selected true random number is 1
Combined with at least one pseudo-random number generated by one pseudo-random number generator to form a final true random number. Since the pseudo-random number generator is the same at all positions and has the same seed at all positions, the same pseudo-random number is generated at all positions. Therefore, the same final true random number is formed at all positions.

【0057】 本発明のこの方法の好ましい特徴によると、さらなる独立の擬似乱数生成器が
、上記の乱数生成器のシードを置き換えるランダムな時点を決定する。新しいシ
ードは、本発明の方法にしたがって生成され、そしてしたがってすべての位置で
同一である。さらに、さらなる独立の擬似乱数生成器はまた、すべての位置で同
じであり、シードが置き換えられる時点も同一である。さらに好ましくは、これ
らの時点は、出力される数の列によって決定される。この好ましい特徴は、擬似
乱数生成器によって生成された擬似乱数を「言い当てる」ことの困難性を大きく
する。
According to a preferred feature of the method of the present invention, a further independent pseudo-random number generator determines a random point in time for replacing the seed of the above-mentioned random number generator. New seeds are generated according to the method of the invention and are therefore identical at all positions. Furthermore, the further independent pseudo-random number generator is also the same in all positions, and the same when the seed is replaced. More preferably, these times are determined by the sequence of numbers output. This preferred feature increases the difficulty of "gutting" the pseudorandom number generated by the pseudorandom number generator.

【0058】 あるいはおよびより好ましくは、新しいシードが、熱ノイズなどの完全にラン
ダムな物理源から得られるポインタにしたがって生成される。ポインタは、1つ
の位置で得られ、そしてすべての他の位置へ送信されるか、あるいはポインタの
第1の部分が1つの位置で得られるとともにポインタの第2の部分が異なる位置
で得られ、ポインタのその部分が交換されるのいずれかである。必要に応じてお
よび好ましくは、ポインタは、各位置で乱数のワンタイムパッドにしたがって、
暗号化された状態で送信される。次にシードは、必要に応じて、さらなる擬似乱
数生成器によって決定された時点ではなく、所定の時点で置き換えられる。より
好ましくは、所定の時点は、乱数テーブルの大きさにしたがって決定され、シー
ドの置き換えは、より小さなテーブルに対してより頻繁に行われる。
Alternatively and more preferably, a new seed is generated according to a pointer obtained from a completely random physical source, such as thermal noise. The pointer is obtained at one position and transmitted to all other positions, or the first part of the pointer is obtained at one position and the second part of the pointer is obtained at a different position; Either that part of the pointer is exchanged. Optionally and preferably, at each location the pointer follows a one-time pad of random numbers.
Sent in an encrypted state. The seed is then replaced, if necessary, at a predetermined time, rather than at a time determined by a further pseudo-random number generator. More preferably, the predetermined point in time is determined according to the size of the random number table, and the replacement of the seed is performed more frequently for smaller tables.

【0059】 本発明の電子的「ワンタイムパッド」を生成するための方法、デバイスおよび
システムの原理および動作は、図面およびそれにともなう説明を参照してよりよ
く理解され得、これらの図面は、例示の目的のためだけに与えられ、そして限定
を意味しない。
The principles and operation of a method, device and system for producing an electronic “one-time pad” of the present invention may be better understood with reference to the drawings and accompanying descriptions. And is not meant to be limiting.

【0060】 ここで図面を参照する。図1は、本発明による、2つの異なる位置で実質的に
任意の所望の長さを有する実用上無制限個の電子的「ワンタイムパッド」の同一
コピーを生成するための例示的方法である。この方法において、真正または確率
的な乱数が、同じ真正乱数が両位置で選択されることを可能にするプロトコルに
したがって選択される。方法は、例えば、コンピュータによって動作されている
ソフトウェアプログラムとして実施され得る。この実施において、2つの異なる
位置は、ネットワークによって接続された2つの異なるコンピュータであり得る
ので、通信は、当該分野において周知なようにコンピュータおよびネットワーク
の通信ハードウェアを介して提供され得る。
Reference is now made to the drawings. FIG. 1 is an exemplary method for producing a practically unlimited number of identical copies of an electronic "one-time pad" having substantially any desired length at two different locations, according to the present invention. In this method, a true or probabilistic random number is selected according to a protocol that allows the same true random number to be selected at both locations. The method may be implemented, for example, as a software program running on a computer. In this implementation, since the two different locations may be two different computers connected by a network, communication may be provided via the computer and network communication hardware as is well known in the art.

【0061】 最低限、両位置は、本発明の方法を実行し得る電子デバイスを有し得る。電子
デバイスは、不揮発性メモリおよびプロセッサを含むべきである。用語「電子デ
バイス」は、不揮発性メモリおよびプロセッサの両方が半導体チップなどの単一
のデバイス内だけに配置されることを意味するようには意図されない。代わりに
、例えば、不揮発性メモリおよびプロセッサは、単一のコンピュータ内に、また
は2つの異なるコンピュータ内に配置され得る。
At a minimum, both locations may have electronic devices capable of performing the method of the present invention. The electronic device should include a non-volatile memory and a processor. The term "electronic device" is not intended to mean that both the non-volatile memory and the processor are located only in a single device, such as a semiconductor chip. Alternatively, for example, the non-volatile memory and the processor may be located in a single computer or in two different computers.

【0062】 好ましくは、第1および第2の位置の両方の電子デバイスは、実質的に上記さ
れたように、通信チャネルを介して接続される。
[0062] Preferably, the electronic devices in both the first and second locations are connected via a communication channel substantially as described above.

【0063】 方法のステップ1において、両方の位置(「位置1」および「位置2」と呼ぶ
)で同一の少なくとも1つの真正乱数テーブルが提供される。真正乱数は、例え
ば、そのような数の本から得られ得る。本明細書では、各真正乱数は、ポインタ
として機能する連続な数によって指定される。例えば、テーブル中の第1の乱数
は数「1」で指定され、第2の乱数は数「2」で指定され、などである。真正乱
数テーブルは、電子デバイスの不揮発性メモリ上に格納される。
In step 1 of the method, at least one true random number table is provided that is identical at both positions (referred to as “position 1” and “position 2”). True random numbers can be obtained, for example, from such a number of books. In this specification, each true random number is specified by a continuous number that functions as a pointer. For example, the first random number in the table is specified by the number “1”, the second random number is specified by the number “2”, and so on. The true random number table is stored on the nonvolatile memory of the electronic device.

【0064】 加えて、テーブルから真正乱数を得るためにその真乱数テーブルにアクセスし
得るソフトウェアプログラムが提供される。ソフトウェアプログラムは、プロセ
ッサによって動作され、かつ不揮発性メモリ上に格納される。以下、語句「真正
乱数を得る」は、真正乱数テーブルからそのような数を直接読み取るまたはアク
セスする行為を意味する。
In addition, a software program is provided that can access the true random number table to obtain a true random number from the table. The software program is operated by the processor and stored on the non-volatile memory. Hereinafter, the phrase "obtain true random numbers" means the act of directly reading or accessing such numbers from a true random number table.

【0065】 方法のステップ2において、位置1および位置2で同一または異なり得る数生
成器が提供される。数生成器は、例えば、シードから擬似乱数を生成するPC(
パーソナルコンピュータ)コンピュータなどの計算デバイスによって実行される
数学的アルゴリズム、または熱ノイズまたは音響ノイズを生成するデバイスなど
の物理的ランダム現象の供給源のいずれかである。
In step 2 of the method, a number generator is provided which may be the same or different at position 1 and position 2. The number generator is, for example, a PC that generates a pseudorandom number from a seed (
(Personal Computer) Either a mathematical algorithm executed by a computing device such as a computer, or a source of physical random phenomena such as a device that generates thermal or acoustic noise.

【0066】 どちらの場合も、好ましくは、数生成器を使用して真正乱数を生成する。物理
的ランダム現象の生成源について、この効果は供給源の性質に固有である。数学
的アルゴリズムについて、この効果は、数生成器の出力によって好ましくは連続
的に変更されるシードから始めて、数生成器を定義されない期間動作させ、そし
て次に必要に応じて生成された数を使用することによって得られる。この状況に
おいて、数生成器は、生成される数が本質的にランダムに選択され得、そしてし
たがって予測可能でないので、事実上ルーレットの回転盤として働き得る。その
ような数生成器の1つの例は、ランダム事象からのシードを用いて動作される擬
似数生成器である。
In both cases, preferably, a true random number is generated using a number generator. For sources of physical random phenomena, this effect is inherent in the nature of the source. For mathematical algorithms, the effect is to start the seed, preferably continuously modified by the output of the number generator, run the number generator for an undefined period, and then use the generated number as needed It is obtained by doing. In this situation, the number generator can effectively act as a roulette wheel, since the numbers generated can be chosen essentially randomly and are therefore unpredictable. One example of such a number generator is a pseudo-number generator operated with seeds from random events.

【0067】 方法のステップ3において、位置1および位置2の数生成器は、第1の生成さ
れた数および第2の生成された数として指定される少なくとも1つの数を生成す
る。説明を明確にするために、2つの生成された数だけ(各位置に1つ)を本明
細書中では用いたが、各位置はそのような数を複数個生成し得ることが理解され
る。加えて、各側によって生成された数の個数は、必ずしも同一でなくてもよい
。ステップ4において、第1の生成された数が、位置1から位置2へ送信され、
他方第2の生成された数が、位置2から位置1へ送信される。したがって、各位
置は、生成された数のすべてを有し、それらはワンタイムパッドに対する「ワン
タイム鍵」の少なくとも一部を集合的に形成する。
In step 3 of the method, the position 1 and position 2 number generators generate at least one number designated as a first generated number and a second generated number. For clarity, only two generated numbers (one at each position) are used herein, but it will be understood that each position may generate more than one such number. . In addition, the number of numbers generated by each side need not be the same. In step 4, the first generated number is transmitted from position 1 to position 2,
On the other hand, a second generated number is transmitted from position 2 to position 1. Thus, each location has all of the generated numbers, which collectively form at least a portion of the "one-time key" for the one-time pad.

【0068】 好ましくは、「ワンタイム鍵」は、これらの生成された数を操作することによ
って、例えば、これらの生成された数をマージして少なくとも1つのマージされ
た数を形成することによって形成される。そのとき、マージされた数は、「ワン
タイム鍵」であり得る。
Preferably, the “one-time key” is formed by manipulating these generated numbers, for example by merging these generated numbers to form at least one merged number. Is done. Then, the merged number may be a “one-time key”.

【0069】 ステップ5において、「ワンタイム鍵」を使用し、ポインタにしたがってテー
ブルから少なくとも1つの真正乱数を得る。そのポインタは、連続した数などで
あり、それによって真正乱数は指定される。例えば、第1および第2の生成され
た数の両方は、おそらくテーブルの一部を指定するために第1の生成された数を
使用し、他方第2の生成された数を特定の真正乱数へのポインタとして使用する
ことによって、組み合わされて1つの真正乱数を得る。あるいはおよび好ましく
は、各生成された数を使用して真正乱数を得ることにより、2つの真正乱数が得
られる。
In step 5, at least one true random number is obtained from the table according to the pointer using the “one-time key”. The pointer is a continuous number or the like, which specifies a true random number. For example, both the first and second generated numbers probably use the first generated number to specify a portion of the table, while the second generated number is a specific true random number. To obtain one true random number by using it as a pointer to. Alternatively and preferably, two true random numbers are obtained by using each generated number to obtain a true random number.

【0070】 この時点で、方法は終了し得、少なくとも1つかつ好ましくは複数の真正乱数
が生成され、得られた真正乱数がワンタイムパッドの少なくとも一部を形成する
選択された真正乱数である。しかし、本発明の好ましい実施形態によると、方法
は継続し、ステップ6において各位置で少なくとも1つの擬似乱数生成器を提供
し、この少なくとも1つの擬似乱数生成器は、各電子デバイスの不揮発性メモリ
中に格納された少なくとも1つのソフトウェアプログラムにしたがい各電子デバ
イスのプロセッサによって動作される。擬似乱数生成器は、例えば、PC(パー
ソナルコンピュータ)コンピュータなどの計算デバイスによって実行される数学
的アルゴリズムであり、シードから擬似乱数を生成する。この擬似乱数生成器は
、好ましくは、ステップ1の数生成器と異なる。しかし、擬似乱数生成器は、両
方の位置で同一でなければいけなく、同じシードが両側の擬似乱数生成器に与え
られるならば、同じ擬似乱数が出力として生成され得る。
At this point, the method may end and at least one and preferably a plurality of true random numbers are generated, and the resulting true random numbers are selected true random numbers that form at least a part of a one-time pad. . However, in accordance with a preferred embodiment of the present invention, the method continues, providing at least one pseudo-random number generator at each location in step 6, wherein the at least one pseudo-random number generator includes a non-volatile memory of each electronic device. It is operated by the processor of each electronic device according to at least one software program stored therein. The pseudorandom number generator is a mathematical algorithm executed by a computing device such as a PC (personal computer) computer, and generates a pseudorandom number from a seed. This pseudo-random number generator is preferably different from the number generator in step 1. However, the pseudo-random number generator must be the same at both locations, and if the same seed is provided to the pseudo-random number generators on both sides, the same pseudo-random number can be generated as output.

【0071】 ステップ7において、得られた真正乱数(単数または複数)は、各位置の擬似
乱数生成器のためのシード(単数または複数)として使用され、両方の位置で同
一である生成された擬似乱数を生成する。2つの真正乱数があれば、それらをマ
ージしてシードを形成する。好ましくは、擬似乱数生成器は、一旦特定のシード
が与えられると、実質的にさらなる介入なしに実行し得るようにシードを変更す
る。
In step 7, the true random number (s) obtained are used as seed (s) for the pseudo-random number generator at each location, and the generated pseudo-random number (s) is identical at both locations. Generate random numbers. If there are two true random numbers, they are merged to form a seed. Preferably, the pseudorandom number generator, once given a particular seed, changes the seed so that it can be executed substantially without further intervention.

【0072】 ステップ8において、この擬似乱数は、新規の真正乱数を得るために真正乱数
テーブルへの第2のポインタとして使用される。このステップのための真正乱数
テーブルは、前のステップと同じテーブルであり得る。あるいはおよび好ましく
は、テーブルは異なり得る。しかし、この真正乱数テーブルは、位置1および位
置2の両方で同一でなければいけないので、選択された真正乱数は、位置1およ
び位置2の両方で同一である。選択された真正乱数は、必要に応じておよび好ま
しくは、選択された真正乱数を形成する。
In step 8, this pseudo-random number is used as a second pointer to a true random number table to obtain a new true random number. The true random number table for this step can be the same table as the previous step. Alternatively and preferably, the tables may be different. However, this true random number table must be the same at both position 1 and position 2, so the selected true random number is the same at both position 1 and position 2. The selected authentic random numbers optionally and preferably form a selected authentic random number.

【0073】 あるいはおよび好ましくは、ステップ9において、位置1および位置2でやは
り同一である第2の生成された擬似乱数が生成される。この乱数は、ステップ7
の擬似乱数生成器または異なる擬似乱数生成器を用いて生成され得る。しかし、
擬似乱数生成器およびその生成器のためのシードの両方は、位置1および位置2
の両方について同一でなければいけないので、位置1および位置2で同じ擬似乱
数が得られる。ステップ10において、ステップ8において選択された選択され
た真正乱数は、ステップ9において生成された擬似乱数とマージされ、マージさ
れた真正乱数を形成する。マージステップは、確率分布を維持する関数によって
実行される必要があるので、マージされた数はまた、真正乱数である。例えば、
その関数は、それらを一緒に加算するか、またはXOR論理ビット演算を行い得
る。好ましくは、ステップ8〜10は、少なくとも1度繰り返され、選択された
またはマージされた真正乱数は、真正乱数テーブルへの第2のポインタを形成す
る。より好ましくは、それらのステップが1度より多く繰り返される。
Alternatively and preferably, in step 9, a second generated pseudo-random number that is also identical at position 1 and position 2 is generated. This random number is calculated in step 7
Or a different pseudo-random number generator. But,
Both the pseudo-random number generator and the seed for that generator are position 1 and position 2
, The same pseudo-random number is obtained at position 1 and position 2. At step 10, the selected true random number selected at step 8 is merged with the pseudo-random number generated at step 9 to form a merged true random number. Since the merge step needs to be performed by a function that maintains the probability distribution, the merged number is also a true random number. For example,
The function may add them together or perform an XOR logical bit operation. Preferably, steps 8 to 10 are repeated at least once, and the selected or merged true random numbers form a second pointer to the true random number table. More preferably, those steps are repeated more than once.

【0074】 ステップ11において、マージされた乱数が、「ワンタイムパッド」の少なく
とも一部であるように出力される。次に、方法は、所望サイズの「ワンタイムパ
ッド」を生成する必要のある回数分ステップ8〜11を繰り返し得る。
In step 11, the merged random number is output to be at least part of the “one-time pad”. The method may then repeat steps 8-11 as many times as necessary to generate a "one-time pad" of the desired size.

【0075】 必要に応じて、複数の真正乱数は、ランダムな時点で擬似乱数生成器のシード
を変化させることによって生成される。シードは、選択された乱数と置換または
それを用いて変更することによって、変化され得る。ランダムな時点そのものは
また、乱数にしたがって選択され得る。別の選択肢として、真正乱数を擬似乱数
とマージさせる上記ステップの内の少なくとも1つ以上を使用して、真正乱数を
生成し得る。1つより多くのステップが使用されるならば、そのステップは、実
質的に任意の順番であり得る。
If necessary, a plurality of true random numbers are generated by changing the seed of the pseudo-random number generator at random times. The seed can be changed by replacing or using the selected random number. The random point in time itself can also be chosen according to a random number. Alternatively, at least one or more of the above steps of merging a true random number with a pseudo-random number may be used to generate a true random number. If more than one step is used, the steps can be in virtually any order.

【0076】 本発明のこの方法の好ましい特徴によると、さらなる独立の擬似乱数生成器は
、上記擬似乱数生成器(単数または複数)のシードが置き換えられるランダムな
時点を決定する。新規のシードは、本発明のこの方法にしたがって生成され、そ
してこのためすべての位置で同一である。好ましくは、新規のシードは、上記ス
テップで説明される乱数テーブルから生成される乱数である。さらに、さらなる
独立な擬似乱数生成器はまた、すべての位置で同一であるので、シードが置き換
えられる時点もまた、同一である。さらに好ましくは、これらの時点は、出力さ
れた数の列にしたがって決定される。この好ましい特徴は、擬似乱数生成器によ
って生成された擬似乱数を「言い当てる」ことの困難性を大きくし、そしてこの
ため生成された乱数を決定しようとすることの困難性を大きくする。
According to a preferred feature of this method of the present invention, a further independent pseudo-random number generator determines a random point in time when the seed of said pseudo-random number generator (s) is replaced. New seeds are generated according to this method of the invention and are therefore identical at all positions. Preferably, the new seed is a random number generated from the random number table described in the above step. Furthermore, the time at which the seed is replaced is also the same, since the further independent pseudo-random number generator is also the same at all positions. More preferably, these times are determined according to the output number sequence. This preferred feature makes it more difficult to "guess" the pseudo-random numbers generated by the pseudo-random number generator, and thus more difficult to determine the generated random numbers.

【0077】 本発明のより好ましい特徴によると、乱数を生成するためのプロセスは、複数
の乱数を必要とするごとに新規の乱数テーブルを生成し、そして上記のようにこ
れらの新規のテーブルからその複数の乱数を生成するのさらなるステップを伴う
。新規の乱数テーブルは、一時的なテーブルであるだけがもっとも好ましく、そ
して複数の乱数が生成された後で壊される。この好ましい特徴は、格納されたテ
ーブルと生成された乱数とを区別し、これにより複数の生成された乱数を「言い
当てる」ことの困難性を大きくする。
According to a more preferred feature of the invention, the process for generating random numbers generates a new random number table each time a plurality of random numbers are required, and as described above, from these new tables. It involves the further step of generating a plurality of random numbers. Most preferably, the new random number table is a temporary table, and is destroyed after the random numbers have been generated. This preferred feature distinguishes between stored tables and generated random numbers, thereby increasing the difficulty of "gutting" a plurality of generated random numbers.

【0078】 この方法の1つの特有の利点は、各真正乱数の位置がその方法の出力の観察に
よって暴露されないように、有限個の乱数を含むテーブルからの数を選択可能に
することである。また、真正乱数テーブルが有限であるが、例えば、使用される
真正乱数の個数がほんの約数百から数千である場合など、真正乱数の任意の特定
の列を1度より多く使用する確率は、ほとんどないくらいに小さい。例えば、4
0億個の本発明の電子デバイスが同じ8000個の乱数を含む同じテーブルを有
し、かつ「ワンタイムパッド」を生成するために12バイト鍵を使用すると仮定
すると、すべてのデバイスが1年のあいだ1分当たりにつき1度「ワンタイムパ
ッド」を生成した後は、そのような生成されたパッドのうちで前に生成されたパ
ッドと同一であるものはほんの1つだけであると期待される。擬似乱数生成器の
シードが上記好ましい方法にしたがって変更されるならば、生成された数は、「
言い当てる」ことも、または外部ソースによって決定することもさらにより困難
である。したがって、本発明の方法は、実用上無制限の個数のそのような「ワン
タイムパッド」が繰り返しなしに生成されることを可能にする。
One particular advantage of this method is that it allows a selectable number from a table containing a finite number of random numbers so that the position of each true random number is not exposed by observing the output of the method. Also, although the true random number table is finite, the probability of using any particular column of true random numbers more than once, such as when the number of true random numbers used is only about hundreds to thousands, is Small, almost never. For example, 4
Assuming that 100 million electronic devices of the present invention have the same table containing the same 8000 random numbers and use a 12-byte key to generate a "one-time pad", all devices will have After generating a “one-time pad” once per minute during that time, only one such generated pad is expected to be identical to the previously generated pad. . If the seed of the pseudo-random number generator is changed according to the above preferred method, the generated number will be "
It is even more difficult to "guess" or determine by an external source. Thus, the method of the present invention allows a practically unlimited number of such "one-time pads" to be generated without repetition.

【0079】 図2Aは、2つの異なる位置で同一である電子的「ワンタイムパッド」を生成
するための本発明の電子デバイスの例を示すブロック図である。そのデバイス例
は、集積された単一チップの実施形態として示されるが、必ずしもすべての構成
要素が単一のチップ上に配置される必要はない。なお、本明細書中に記載される
構成要素は、論理または仮想エンティティとして意図され、機能によって識別さ
れ、必ずしも物理的な構成要素でないことに意図されたい。電子的「ワンタイム
パッド」の動作は、実質的に図1に記載の通りである。
FIG. 2A is a block diagram illustrating an example of an electronic device of the present invention for generating an electronic “one-time pad” that is identical at two different locations. Although the example device is shown as an integrated single chip embodiment, not all components need be located on a single chip. It is noted that components described herein are intended as logical or virtual entities, are identified by function, and are not necessarily physical components. The operation of the electronic "one-time pad" is substantially as described in FIG.

【0080】 ワンタイムパッドデバイス10は、例えばROM(読み取り専用メモリ)であ
り得る内部不揮発性メモリ12を有する。不揮発性メモリ12は、少なくとも1
つのソフトウェアプログラムを含む。ソフトウェアプログラムは、擬似乱数生成
器のための命令およびワンタイムパッドデバイス10を動作する(特に、異なる
ワンタイムパッドデバイス10間の通信を可能にする)ための任意の動作命令を
含む。不揮発性メモリ12はまた、少なくとも1つの読み取り専用真正乱数テー
ブルおよびそのテーブルから真正乱数を得るための第1のソフトウェアプログラ
ムを含む。擬似乱数生成器は、擬似乱数を生成し得る、プロセッサ14によって
ソフトウェアとして動作される数学的アルゴリズムである。第1のソフトウェア
プログラムはまた、プロセッサ14によって動作される。
The one-time pad device 10 has an internal non-volatile memory 12 which can be, for example, a ROM (Read Only Memory). The non-volatile memory 12 has at least one
Includes two software programs. The software program includes instructions for the pseudo-random number generator and any operating instructions for operating the one-time pad device 10 (particularly enabling communication between different one-time pad devices 10). Non-volatile memory 12 also includes at least one read-only true random number table and a first software program for obtaining true random numbers from the table. A pseudo-random number generator is a mathematical algorithm that can generate pseudo-random numbers and is operated as software by the processor 14. The first software program is also operated by the processor 14.

【0081】 加えて、好ましくは、ワンタイムパッドデバイス10は、電子ワンタイムパッ
ドなどであり、情報の読み取りおよび書き込みの両方のためのさらなる読み取り
/書き込みメモリを特徴し、本明細書中ではRAM(ランダムアクセスメモリ)
16として示される。RAM16は、例えば、揮発性メモリ12がROMである
ならば、特に必要である。不揮発性メモリ12が、例えばフラッシュアレイなど
であり、書き込み可能ならば、不揮発性メモリ12およびRAM16は、必要に
応じて1つのメモリ中に組み合わせられ得る。あるいはおよび好ましくは、RA
M16は、ワンタイムパッドデバイス10の他の構成要素とは異なる、物理的に
分離された位置に配置される。
In addition, preferably, the one-time pad device 10 is an electronic one-time pad or the like, and features additional read / write memory for both reading and writing information, and is referred to herein as a RAM ( Random access memory)
Shown as 16. The RAM 16 is particularly necessary if, for example, the volatile memory 12 is a ROM. If the non-volatile memory 12 is, for example, a flash array and is writable, the non-volatile memory 12 and the RAM 16 can be combined in one memory as needed. Alternatively and preferably, RA
The M16 is located at a physically separated location different from other components of the one-time pad device 10.

【0082】 好ましくは、ワンタイムパッドデバイス10はまた、中断なしにかつ他の任意
のワンタイムパッドデバイス10からの通信に関係なく真正乱数を生成するため
の分離数生成器を有する。別の擬似乱数生成器が数生成器として使用されるなら
ば、好ましくは、この擬似乱数生成器は、ワンタイムパッドデバイス10がまず
電気的パワーを受けとると実質的にすぐにシードから始まる数を生成し始める。
選択の時間そのものがランダムであるから、これらの数は真正乱数として選択さ
れるので、選択された数は、あらかじめ決定され得ない。より好ましくは、実質
的にどのワンタイムパッドデバイス10も、この擬似乱数生成器のための異なる
シードを有する。もっとも好ましくは、数生成器は、熱ノイズ、音響ノイズ、ま
たは放射性崩壊などのランダム現象の供給源などのランダム事象を使用して真正
乱数を生成する。
Preferably, the one-time pad device 10 also has a separable number generator for generating true random numbers without interruption and independent of communication from any other one-time pad device 10. If another pseudo-random number generator is used as the number generator, preferably the pseudo-random number generator generates a number starting from the seed substantially as soon as the one-time pad device 10 first receives electrical power. Start generating.
Since the selection time itself is random, these numbers are selected as true random numbers, so the selected number cannot be predetermined. More preferably, substantially any one-time pad device 10 has a different seed for this pseudo-random number generator. Most preferably, the number generator generates a true random number using a random event, such as a source of random phenomena such as thermal noise, acoustic noise, or radioactive decay.

【0083】 また、好ましくは、不揮発性メモリ12、RAM16(あれば)、およびプロ
セッサ14は、ワンタイムパッドデバイス10の外部からはアクセス可能でない
。したがって、真正乱数テーブルおよび異なるワンタイムパッドデバイス10間
の通信を可能にし、かつ図1の方法を実行するためのソフトウェアプログラムは
、ワンタイムパッドデバイス10の外部からアクセス可能でない。代わりに、ワ
ンタイムパッドデバイス10は、情報を受信するための入力ポート18、および
情報を送信するための出力ポート20を有する。好ましくは、通信は、入力ポー
ト18および出力ポート20を介してのみ可能であるので、ワンタイムパッドデ
バイス10は、プログラムの後で他を電気的にシールされる。このシールは、例
えばワンタイムパッドデバイス10の1つ以上のレッグに電流を流して特定の内
部接続を破壊することによって行う。したがって、安全な接続が、ワンタイムパ
ッドデバイス10と他の外部エンティティとの間に提供されるので、ワンタイム
パッドデバイス10の内部動作は実質的に障害なしに進行し得る。これらの所望
の特徴を内蔵するチップの1つの例は、データの書き込みおよび複数回の上書き
が可能であるが、そのチップからデータを読み取ることによっては情報を引き出
し得ないチップである。
Also, preferably, the nonvolatile memory 12, the RAM 16 (if any), and the processor 14 are not accessible from outside the one-time pad device 10. Thus, a software program for enabling communication between the true random number table and the different one-time pad devices 10 and performing the method of FIG. 1 is not accessible from outside the one-time pad device 10. Instead, the one-time pad device 10 has an input port 18 for receiving information and an output port 20 for transmitting information. Preferably, communication is only possible through input port 18 and output port 20, so that one-time pad device 10 is electrically sealed to the other after programming. This is accomplished, for example, by passing current through one or more legs of the one-time pad device 10 to break certain interconnects. Thus, since a secure connection is provided between the one-time pad device 10 and other external entities, the internal operation of the one-time pad device 10 can proceed substantially without interruption. One example of a chip that incorporates these desired features is a chip that can write data and overwrite multiple times, but cannot retrieve information by reading data from the chip.

【0084】 好ましくは、ソフトウェアプログラムは、入力ポート18を介したコマンドを
受信する際に、選択された真正乱数を選択する。
Preferably, the software program selects the selected true random number when receiving a command via the input port 18.

【0085】 入力ポート18および出力ポート20は両方とも、例えば任意の標準的なマイ
クロプロセッサである、プロセッサ14に接続される。プロセッサ14は、不揮
発性メモリ12上に格納された任意のソフトウェアプログラムを動作させること
、入力ポート18からデータを受信すること、および出力ポート20を介してあ
る限定セットのデータを送信することが可能である。データのセットは、例えば
、不揮発性メモリ12中に格納されたソフトウェアプログラムにしたがって限定
される。好ましくは、データのセットは、図1に示すように、ワンタイムパッド
デバイス10から送信される「ワンタイム鍵」の一部を含む。同様に、実質的に
任意のデータが入力ポート18を介して受信され得るが、プロセッサ14は、例
えば図1に示すようにワンタイムパッドデバイス10から受信される「ワンタイ
ム鍵」の一部を含む得る、比較的制限されたセットのデータに作用し得るだけで
ある。プロセッサ14はまた、好ましくは、任意の必要な動作を実行するために
必要な場合に、RAM16にデータを書き込むか、またはそこからデータを読み
出し得る。
[0085] Both the input port 18 and the output port 20 are connected to the processor 14, for example any standard microprocessor. Processor 14 can operate any software program stored on non-volatile memory 12, receive data from input port 18, and transmit a limited set of data via output port 20 It is. The data set is limited according to, for example, a software program stored in the nonvolatile memory 12. Preferably, the set of data includes a portion of a "one-time key" transmitted from the one-time pad device 10, as shown in FIG. Similarly, while substantially any data may be received via input port 18, processor 14 may include a portion of the “one-time key” received from one-time pad device 10, for example, as shown in FIG. It can only operate on a relatively limited set of data that can include. Processor 14 may also preferably write data to or read data from RAM 16 as needed to perform any necessary operations.

【0086】 ワンタイムパッドデバイス10の動作は以下の通りである。ワンタイムパッド
デバイス10が別のそのようなデバイス(図示せず)から信号を受信すると、ワ
ンタイムパッドデバイス10は、上記のように、ワンタイム鍵の一部を生成し、
そしてこの部分を出力ポート20を介してその別のデバイスに送信する。信号は
、入力ポート18を介するか、チップの他のレッグを介するか、または任意の他
の識別プロトコルにしたがい得る。いずれにしても、次にその別のデバイスは、
ワンタイム鍵のその他の部分をワンタイムパッドデバイス10に送信し、ワンタ
イムパッドデバイス10はこの部分を入力ポート18を介して受信し得る。ワン
タイムパッドデバイス10の残りの動作は、所望の長さのワンタイムパッドが生
成されるまで実質的に図1に説明される通りである。
The operation of the one-time pad device 10 is as follows. When one-time pad device 10 receives a signal from another such device (not shown), one-time pad device 10 generates a portion of the one-time key, as described above,
Then, this part is transmitted to the other device via the output port 20. The signal may be through the input port 18, through another leg of the chip, or according to any other identification protocol. In any case, then the other device:
The other portion of the one-time key may be sent to the one-time pad device 10, which may receive this portion via the input port 18. The remaining operation of the one-time pad device 10 is substantially as described in FIG. 1 until a desired length of the one-time pad is generated.

【0087】 必要に応じておよび好ましくは、ワンタイムパッドデバイス10は、選択され
た真正乱数を選択するための手順が実質的にワンタイムパッドデバイス10がリ
セット信号を受信するまで実行されるような、リセット信号を受信するためのさ
らなる入力ポート19を特徴とする。
Optionally and preferably, the one-time pad device 10 is such that the procedure for selecting the selected authentic random number is performed substantially until the one-time pad device 10 receives a reset signal. , A further input port 19 for receiving a reset signal.

【0088】 図2Bにおけるフローチャートに動作が示されるワンタイムパッドデバイス1
0の好ましい実施形態によると、不揮発性メモリ12はまた、特定のワンタイム
パッドデバイス10を識別するためのユニークな識別番号を含み得る(ステップ
1)。識別番号は、可逆な数学関数にしたがって、ワンタイムパッドデバイス1
0によって、生成されたワンタイムパッドの少なくとも一部を使用し、識別番号
を生成されたワンタイムパッドからの少なくとも1つの数とマージさせることに
よって暗号化され得る(ステップ2)。例えば、XOR演算子は、識別番号の各
ディジットおよび生成されたワンタイムパッドからの真正乱数を用いて実行され
、暗号化識別番号を形成する。使用される真正乱数は、例えば生成されたワンタ
イムパッドからの第1の乱数を使用することによって、両方のデバイスに対して
同一であり得る。
The one-time pad device 1 whose operation is shown in the flowchart in FIG. 2B
According to a preferred embodiment of 0, the non-volatile memory 12 may also include a unique identification number to identify a particular one-time pad device 10 (step 1). The identification number is determined according to a reversible mathematical function.
By 0, at least a portion of the generated one-time pad may be used and encrypted by merging the identification number with at least one number from the generated one-time pad (step 2). For example, the XOR operator is performed using each digit of the identification number and the generated true random number from the one-time pad to form an encrypted identification number. The true random number used can be the same for both devices, for example by using the first random number generated from the one-time pad.

【0089】 次に、暗号化識別番号は、ワンタイムパッドデバイス10から送信され、そし
て別のデバイス(図示せず)によって受信され得る(ステップ3)。次に、その
別のデバイスは、ステップ2の関数の逆関数にしたがって、上記のように生成さ
れたワンタイムパッドの同一コピーを使用して、暗号化識別番号を復号化する(
ステップ4)。例えば、ステップ2の関数が加算であるならば、その逆関数は、
減算である。XOR演算の逆関数は、XOR演算自身である。識別番号は、ワン
タイムパッドデバイス10の正規の識別の証明として機能し得る(ステップ5)
。ワンタイムパッドデバイス10のこの実施形態の実施例は、銀行などの組織が
、通信を開始する(例えば、取引の実行)前に正規の識別番号を用いて正規の顧
客を識別することを可能にし得る。
Next, the encrypted identification number can be transmitted from the one-time pad device 10 and received by another device (not shown) (step 3). The other device then decrypts the encrypted identification number using the same copy of the one-time pad generated above according to the inverse of the function of step 2 (
Step 4). For example, if the function of step 2 is addition, its inverse function is
Subtraction. The inverse function of the XOR operation is the XOR operation itself. The identification number may serve as proof of the legitimate identity of the one-time pad device 10 (step 5).
. An example of this embodiment of the one-time pad device 10 allows an organization such as a bank to identify a legitimate customer using a legitimate identification number before initiating communication (eg, performing a transaction). obtain.

【0090】 図2Cは、ワンタイムパッドデバイス10の別の好ましい実施形態の動作のフ
ローチャートを示す。ここで、ワンタイムパッドデバイス10は、メッセージの
暗号化のために使用される。ステップ1において、さらなるソフトウェアプログ
ラム、または同じソフトウェアプログラムのさらなる部分が、プロセッサ14に
よる実行のために不揮発性メモリ12上に提供される。ステップ2についての上
記のようにワンタイムパッドが生成された後、メッセージ(暗号文または平文の
いずれか)がワンタイムパッドデバイス10によって入力ポート18を介して受
信される(ステップ3)。メッセージが暗号化されるならば、ワンタイムパッド
デバイス10は、ワンタイムパッドを使用することによってメッセージを復号化
する(ステップ4)。あるいは、メッセージが平文であるならば、ワンタイムパ
ッドデバイス10は、ワンタイムパッドを使用することによってメッセージを暗
号化する。暗号化および復号化のプロセスは、図2Bの識別番号について記載さ
れたものと同様である。
FIG. 2C shows a flowchart of the operation of another preferred embodiment of the one-time pad device 10. Here, the one-time pad device 10 is used for message encryption. In step 1, a further software program, or a further portion of the same software program, is provided on non-volatile memory 12 for execution by processor 14. After the one-time pad has been generated as described above for step 2, a message (either ciphertext or plaintext) is received by the one-time pad device 10 via the input port 18 (step 3). If the message is encrypted, the one-time pad device 10 decrypts the message by using the one-time pad (step 4). Alternatively, if the message is in the clear, the one-time pad device 10 encrypts the message by using a one-time pad. The process of encryption and decryption is similar to that described for the identification numbers in FIG. 2B.

【0091】 メッセージを暗号化するために、好ましくは、メッセージは、複数の部分に(
例えば、複数のバイト)に分割される。各部分は、逆関数にしたがって、ワンタ
イムパッドからの1つの真正乱数とマージすることによって暗号化される。例え
ば、XOR演算は、1つの真正乱数およびメッセージの各バイトを用いて実行さ
れ得る。XORに対する同じ演算である、その演算の逆が、次にメッセージの復
号化のために、ワンタイムパッドからの同一ワンタイム数を用いて再び実行され
る。
To encrypt a message, preferably the message is divided into multiple parts (
(For example, a plurality of bytes). Each part is encrypted by merging with one true random number from the one-time pad according to the inverse function. For example, an XOR operation may be performed using one true random number and each byte of the message. The same operation on the XOR, the inverse of that operation, is then performed again, using the same one-time number from the one-time pad, for message decoding.

【0092】 ワンタイムパッドの長さは、必要に応じて、メッセージの部分の個数を第1の
ワンタイムパッドデバイス10から別のそのようなデバイスへ送信することによ
ってあらかじめ決定される。あるいはおよび好ましくは、第1のワンタイムパッ
ドデバイス10は、メッセージを暗号化し、そしてしたがってメッセージの部分
の個数を計算したので、ワンタイムパッドを生成するプロセスは、適切な長さが
獲得されるまで単に継続し、適切な長さが獲得された時点で第1のワンタイムパ
ッドデバイス10は単にプロセスを停止する。また、あるいはおよび好ましくは
、両方のワンタイムパッドデバイス10は、メッセージを復号化または暗号化す
るために「急ぎで」実質的に同時にワンタイムパッドを生成および使用し、より
好ましくは、メッセージの長さなどの情報を第1に交換しない。
The length of the one-time pad is predetermined by transmitting the number of message parts from the first one-time pad device 10 to another such device, if necessary. Alternatively and preferably, the first one-time pad device 10 has encrypted the message, and thus calculated the number of parts of the message, so that the process of generating the one-time pad will continue until the appropriate length is obtained. Simply continue and the first one-time pad device 10 simply stops the process when the appropriate length is obtained. Also, and preferably, both one-time pad devices 10 generate and use the one-time pad "on the fly" substantially simultaneously to decrypt or encrypt the message, and more preferably the length of the message. Information is not exchanged first.

【0093】 図2A、2Bまたは2Cにおいて説明され、そして図2Dにおいて示されるよ
うなワンタイムパッドデバイス10の好ましい実施形態において、テーブルセッ
ト11およびテーブルセット13として示される、真正乱数の少なくとも2つの
セットの読み取り専用テーブルが、不揮発性メモリ12上に提供される。用語「
テーブルセット」は、本明細書中において、少なくとも1つのそのようなテーブ
ルを含むように使用される。この実施形態において、セット13などの少なくと
も1つのテーブルセットは、任意の他のワンタイムパッドデバイス10を用いた
「公開」通信のためのものである。セット11などの少なくとも1つの他のテー
ブルセットは、例えば、銀行内のユーザなどのプライベートグループのユーザの
ために指定される。このセットは、このプライベートグループに対してユニーク
であり、他のどのワンタイムパッドデバイス10もそのプライベートグループの
メンバによって動作されるセットの外側にこの同じセットを有さない。当然なが
ら、真正乱数の多くのそのようなテーブルセットが提供され得る。特定のテーブ
ルセットの選択は、ワンタイムパッドデバイス10を動作させるソフトウェアプ
ログラムによる通信時になされ得る。したがって、グループのメンバだけがこの
特別なテーブルセットを有し得るので、より一層の機密保護がグループ内の内部
通信に対して提供される。
In a preferred embodiment of the one-time pad device 10 described in FIG. 2A, 2B or 2C and shown in FIG. 2D, at least two sets of true random numbers, shown as table set 11 and table set 13 Is provided on the non-volatile memory 12. the term"
A “table set” is used herein to include at least one such table. In this embodiment, at least one table set, such as set 13, is for “public” communication with any other one-time pad device 10. At least one other table set, such as set 11, is designated for users in a private group, for example, users in a bank. This set is unique to this private group, and no other one-time pad device 10 has this same set outside of the set operated by members of that private group. Of course, many such table sets of true random numbers can be provided. The selection of a particular set of tables may be made during communication by a software program that operates the one-time pad device 10. Thus, more security is provided for internal communications within the group, since only members of the group may have this special set of tables.

【0094】 さらに、好ましくは、特定のテーブルセット11を有するワンタイムパッドデ
バイス10の数は、例えば、グループの1つのメンバによって記録され得る。テ
ーブルセット11を用いる1つのそのようなワンタイムパッドデバイス10が盗
まれるか、失われるか、またはそうでなければグループの1メンバから除去され
るならば、テーブルセット11を有する残りのワンタイムパッドデバイス10は
、動作から除去され、そしてワンタイムパッドデバイス10の異なるグループに
よって真正乱数の異なるテーブルセットに置き換えられる。したがって、1つの
グループに対してユニークな特別のテーブルセットを有する任意の特定のワンタ
イムパッドデバイス10へのアクセスは、より密接に調節され得る可能性がある
Further, preferably, the number of one-time pad devices 10 having a particular table set 11 may be recorded, for example, by one member of the group. If one such one-time pad device 10 using table set 11 is stolen, lost, or otherwise removed from one member of the group, the remaining one-time pad with table set 11 The device 10 is removed from operation and replaced by a different group of one-time pad devices 10 with a different table set of true random numbers. Thus, access to any particular one-time pad device 10 that has a special set of tables unique to one group could be more closely adjusted.

【0095】 図2A〜2Dのいずれかに示されるワンタイムパッドデバイス10のさらに別
の好ましい実施形態において、通信のプロセスは、送信ワンタイムパッドデバイ
ス10および受信ワンタイムパッドデバイス10の両方に相互に既知である少な
くとも1つのテーブルにしたがって、目標の受信ワンタイムパッドデバイス10
の識別子を暗号化することによって開始する。この識別子は、公開であり得る。
次に、暗号化された識別子は、メッセージまたは他の通信手順の開始時に、受信
ワンタイムパッドデバイス10に送信される。次に、受信ワンタイムパッドデバ
イス10は、相互に既知のテーブルにしたがって、暗号化された識別子を復号化
し、そして受信および復号化された識別子と受信ワンタイムパッドデバイス10
に格納された識別子とを比較する。受信ワンタイムパッドデバイス10は、好ま
しくは、格納された識別子が受信および復号化された識別子と異なるならば、復
号化手順が停止されるように構成される。この好ましい実施形態は、非認証受信
者が認証ユーザの振りをしてその認証ユーザの安全な通信または識別手順に参加
することを防止する。
In still another preferred embodiment of the one-time pad device 10 shown in any of FIGS. According to at least one known table, the target receiving one-time pad device 10
Start by encrypting the identifier of This identifier may be public.
Next, the encrypted identifier is sent to the receiving one-time pad device 10 at the start of a message or other communication procedure. Next, the receiving one-time pad device 10 decrypts the encrypted identifier according to a mutually known table, and receives the decrypted identifier and the received one-time pad device 10.
Is compared with the identifier stored in. The receiving one-time pad device 10 is preferably configured such that if the stored identifier is different from the received and decoded identifier, the decoding procedure is stopped. This preferred embodiment prevents an unauthorized recipient from impersonating the authenticated user and participating in the secure communication or identification procedure of the authenticated user.

【0096】 図3は、対象者の偽造防止識別のためのシステムの実施例の模式ブロック図で
ある。このシステムは、好ましくは、図2Aおよび2Bの電子ワンタイムパッド
デバイスの好ましい実施形態を有する。識別システム22は、対象デバイス24
およびアクセスデバイス26を含む。好ましくは、対象デバイス24およびアク
セスデバイス26の両方は、それぞれワンタイムパッドデバイス10を特徴とす
る。あるいは、図1および図2A〜2Dにおいて説明される動作を実行し得る任
意の電子デバイスが、ワンタイムパッドデバイス10にとって代わり得る。いず
れにしても、対象デバイス24およびアクセスデバイス26の両方はそれぞれの
ワンタイムパッドデバイス10が実質的に上記のように動作することを可能にす
るために、ワンタイム鍵の構成要素などの必要な情報を送信および受信し得る。
FIG. 3 is a schematic block diagram of an embodiment of a system for forgery prevention identification of a subject. This system preferably has the preferred embodiment of the electronic one-time pad device of FIGS. 2A and 2B. The identification system 22 includes a target device 24
And an access device 26. Preferably, both target device 24 and access device 26 each feature one-time pad device 10. Alternatively, any electronic device that can perform the operations described in FIGS. 1 and 2A-2D can replace one-time pad device 10. In any event, both target device 24 and access device 26 require the necessary ones, such as one-time key components, to enable respective one-time pad device 10 to operate substantially as described above. Information may be sent and received.

【0097】 対象デバイス24およびアクセスデバイス26は、通信チャネル28を介して
通信する。通信チャネル28は、多くの異なるタイプのチャネルのいずれかであ
り得る。そのようなチャネルは、赤外線などの任意の波長の光信号、他の電磁信
号、音声信号、視覚イメージ、有線および無線ケーブル、または人工衛生送信、
ならびに携帯電話ネットワーク、通常の電話ネットワークまたは任意のタイプの
コンピュータネットワークを使用するチャネルを含むが、それらに限定されない
The target device 24 and the access device 26 communicate via a communication channel 28. Communication channel 28 may be any of a number of different types of channels. Such channels include optical signals of any wavelength, such as infrared, other electromagnetic signals, audio signals, visual images, wired and wireless cables, or artificial sanitary transmissions,
As well as, but not limited to, a channel using a cellular telephone network, a regular telephone network or any type of computer network.

【0098】 対象デバイス24は、アクセス制御モジュール30へのアクセスを獲得するた
めに識別されることを必要とするユーザ(図示せず)によって動作される。簡便
のために、対象デバイス24は、車のための電子ロックと同様のサイズの小型携
帯デバイス、またはスマートカード程度にまで小さいものであり得る。アクセス
制御モジュール30の例としては、部屋、金庫、車、建物または安全設備などの
物理的空間、コンピュータ、テレビ、自動現金機、携帯電話および通常電話など
の電子デバイス、および銀行口座、電子メール(e−mail)およびボイスメ
ールなどに関連する情報などのデータなどであるが、これらに限定されない。こ
れらの例から示され得るように、あるアクセス制御モジュール30の両方は、ユ
ーザが動作の前に識別されることを必要とし、そしてユーザの行為から生じる任
意の結果情報を暗号化し得る。両方の特徴を好ましく有するアクセス制御モジュ
ール30の例としては、通常の電話および携帯電話などであるが、それらに限定
されない。
The target device 24 is operated by a user (not shown) that needs to be identified in order to gain access to the access control module 30. For convenience, the target device 24 may be a small portable device, similar in size to an electronic lock for a car, or as small as a smart card. Examples of access control module 30 include physical spaces such as rooms, safes, cars, buildings or safety equipment, electronic devices such as computers, televisions, cash machines, mobile phones and regular telephones, and bank accounts, emails ( e-mail) and data such as information related to voice mail, etc., but are not limited thereto. As can be seen from these examples, both certain access control modules 30 require the user to be identified prior to action and may encrypt any resulting information resulting from the user's actions. Examples of an access control module 30 that preferably has both features include, but are not limited to, regular phones and mobile phones.

【0099】 対象デバイス24は、実質的に図2A、2Bおよび2Dに対して説明されるよ
うにアクセスデバイス26と通信を行う。簡単には、対象デバイス24内のワン
タイムパッドデバイス10の不揮発性メモリ12はまた、特定対象デバイス24
を識別するためのユニークな識別子を含む。そのような識別子の例としては、識
別番号、文字列、電子生成音響トーンのシーケンス、または量子化され得る実質
的に任意の他のタイプの情報などであるが、これらに限定されない。識別子は、
ワンタイムパッドデバイス10によって、生成されたワンタイムパッドの少なく
とも一部を使用し、可逆でなければならない数学関数にしたがって、その識別子
と生成されたワンタイムパッドからの少なくとも1つの数とをマージさせること
によって、暗号化され得る。
The target device 24 communicates with the access device 26 substantially as described for FIGS. 2A, 2B and 2D. Briefly, the non-volatile memory 12 of the one-time pad device 10 in the target device 24 also
Includes a unique identifier for identifying Examples of such identifiers include, but are not limited to, an identification number, a character string, a sequence of electronically generated acoustic tones, or virtually any other type of information that may be quantized. The identifier is
The one-time pad device 10 uses at least a portion of the generated one-time pad and merges its identifier with at least one number from the generated one-time pad according to a mathematical function that must be reversible. Can be encrypted.

【0100】 次に、暗号化された識別子は、対象デバイス24から送信され得、そしてアク
セスデバイス26によって受信され得る。次に、アクセスデバイス26は、上記
のように、その暗号化された識別子を復号化し得る。次に、アクセスデバイス2
6は、対象デバイス24のための識別子のリストに対してその識別子をチェック
する。アクセスデバイス26は、例えば、ユーザ(図示せず)がアクセス制御モ
ジュール30へのアクセス権を与えられることを可能にするか、または他の関数
を使用してユーザがアクセスを許可されるべきかを決定し得る。識別子は、対象
デバイス24(したがって、おそらくユーザ)の正規のアイデンティティの証明
として機能し得る。
Next, the encrypted identifier may be transmitted from target device 24 and received by access device 26. Next, access device 26 may decrypt the encrypted identifier, as described above. Next, access device 2
6 checks the identifier against a list of identifiers for the target device 24. The access device 26 may, for example, allow a user (not shown) to be given access to the access control module 30 or determine whether the user should be granted access using other functions. Can decide. The identifier may serve as proof of the legitimate identity of the target device 24 (and, thus, perhaps the user).

【0101】 あるいは、識別子は、アクセスデバイス26によって格納および暗号化され得
る。つぎに、アクセスデバイス26は、暗号化された識別子を対象デバイス24
に送信し得る。次に、対象デバイス24は、暗号化された識別子を復号化し、そ
してその識別子にしたがってあるタイプの肯定応答をアクセスデバイス26に送
信する必要があり得る。必要に応じて、対象デバイス24は、アクセスデバイス
26から分離された別のアクセス許可デバイス32に対して応答を送信し得る。
この構成によると、アクセス許可デバイス32は、ワンタイムパッドデバイス1
0を含む必要は必ずしもないが、対象デバイス24から受信される信号にしたが
って動作可能な通常のアクセス許可デバイス32であり得る。
Alternatively, the identifier may be stored and encrypted by the access device 26. Next, the access device 26 transmits the encrypted identifier to the target device 24.
Can be sent to The target device 24 may then need to decrypt the encrypted identifier and send some type of acknowledgment to the access device 26 according to the identifier. If desired, target device 24 may send a response to another access-allowed device 32 that is separate from access device 26.
According to this configuration, the access permission device 32 is a one-time pad device 1
It is not necessary to include 0, but may be a normal access granting device 32 operable according to signals received from the target device 24.

【0102】 識別システム22の別の好ましい実施形態によると、静的識別子に加えて、ま
たはそれに置き換わるものとして、真正乱数は、ワンタイムパッドの真正乱数を
生成するためのプロセスにしたがって、対象デバイス24およびアクセスデバイ
ス26に対して、それぞれのワンタイムデバイス10によって「急ぎで」生成さ
れ得る。次に、対象デバイス24は、この真正乱数をアクセスデバイス26に送
信しうる。アクセスデバイス26は、この受信した真正乱数を、アクセスデバイ
ス26のワンタイムパッドデバイス10によって生成された真正乱数と比較し得
る。2つの数が同一ならば、アクセスはユーザに与えられ得る。そうでなければ
、アクセスは拒否される。なぜなら、同じ真正乱数を選択できないことは、対象
デバイス24が正規でないことを示し得るからである。識別は、上記のように、
プライベートグループに限定された真正乱数のテーブルを使用することによって
、より特定化され得る。
According to another preferred embodiment of the identification system 22, in addition to, or as an alternative to, the static identifier, the authentic random number is the target device 24 according to a process for generating a one-time pad authentic random number. And access device 26 may be generated "on the fly" by the respective one-time device 10. Next, the target device 24 may transmit the true random number to the access device 26. The access device 26 may compare the received true random number with the true random number generated by the one-time pad device 10 of the access device 26. If the two numbers are the same, access can be given to the user. Otherwise, access is denied. This is because the inability to select the same true random number may indicate that the target device 24 is not legitimate. Identification, as described above,
It can be more specific by using a table of true random numbers restricted to private groups.

【0103】 加えて、またはこれら他の識別機構に置き換わるものとして、パスワードが、
アクセスデバイス26および/または対象デバイス24に格納され得る。ユーザ
は、アクセスが許可される前にパスワードを入力することを要求され得る。
In addition or as an alternative to these other identification mechanisms, the password
It may be stored on the access device 26 and / or the target device 24. The user may be required to enter a password before access is granted.

【0104】 識別システム22のこれらの異なる実施形態のすべては、好ましくは、他の既
存のモードの識別と並列または直列に組み合わせられ得る。その他の既存のモー
ドの識別は、スマートカードおよびリーダー、磁気帯カードおよびリーダー、声
紋または指紋を登録するためのデバイス、および単に手動で動作する機械的ロッ
クおよび鍵も含むが、これらに限定されない。
All of these different embodiments of the identification system 22 can preferably be combined in parallel or series with other existing modes of identification. Other existing modes of identification include, but are not limited to, smart cards and readers, magnetic strip cards and readers, devices for enrolling voice prints or fingerprints, and mechanical locks and keys that only operate manually.

【0105】 図4Aは、図2A、2Cおよび2Dのデバイスを使用する、本発明の安全通信
のためのシステムの実施例を示す。安全通信システム34は、複数の安全通信デ
バイス36を含む。そのうちの2つだけを例示の明確さのために示すが、いかな
る限定も意図しない。複数の安全通信デバイス36は、例えば、ファクシミリ機
であるか、またはファクシミリ機に接続される。好ましくは、各安全通信デバイ
ス36は、ワンタイムパッドデバイス10を特徴とする。あるいは、図1ならび
に図2Aおよび2Cに記載の動作を実行し得る任意の電子デバイスが、ワンタイ
ムパッドデバイス10にとって代わり得る。いずれにしても、安全通信デバイス
36は両方とも、それぞれのワンタイムパッドデバイス10が実質的に上記のよ
うに動作することを可能にするために、ワンタイム鍵の構成要素などの必要な情
報を送信および受信し得る。
FIG. 4A shows an embodiment of a system for secure communication of the present invention using the devices of FIGS. 2A, 2C and 2D. The secure communication system 34 includes a plurality of secure communication devices 36. Only two of them are shown for illustrative clarity, but are not intended to be limiting. The plurality of secure communication devices 36 are, for example, a facsimile machine or are connected to the facsimile machine. Preferably, each secure communication device 36 features a one-time pad device 10. Alternatively, any electronic device that can perform the operations described in FIG. 1 and FIGS. 2A and 2C can replace one-time pad device 10. In any event, both secure communication devices 36 provide the necessary information, such as one-time key components, to enable each one-time pad device 10 to operate substantially as described above. Can send and receive.

【0106】 第1の安全通信デバイス38は、第2の安全通信デバイス40に通信チャネル
42を介して接続される。通信チャネル42は、非認証者によるアクセスまたは
「盗聴」から必ずしも安全ではない。通信チャネル42の例は、上記され、そし
て既存の電話ネットワークおよび携帯電話ネットワーク、ならびにコンピュータ
ネットワークを含むが、これらに限定されない。
The first secure communication device 38 is connected to the second secure communication device 40 via a communication channel 42. The communication channel 42 is not always secure from access or “sniffing” by unauthorized parties. Examples of communication channels 42 are described above and include, but are not limited to, existing telephone and cellular networks, and computer networks.

【0107】 通信は、図2Cについて本質的に説明されるような第1の安全通信デバイス3
8と第2の通信デバイス40との間に生じる。簡単には、第1の安全通信デバイ
ス38は、例えば、少なくとも1つの真正乱数をワンタイム鍵の1つの構成要素
として送信することによって、通信チャネル42を介して、通信に対する要求を
送信する。次に、第2の安全通信デバイス40は、少なくとも他の1つの真正乱
数ワンタイム鍵の1つの構成要素として送信することによって、その要求を受信
し、そしてそれにしたがって応答する。次に、第1の安全通信デバイス38と第
2の通信デバイス40は、図1、2A、2Cおよび2Dについて説明されるよう
にワンタイムパッドを生成する。次に、メッセージは、図2Cにおいて説明され
る方法と実質的に同様の方法にしたがって、第1の安全通信デバイス38によっ
て暗号化され、そして次に、第2の安全通信デバイス40に送信される。次に、
第2の安全通信デバイス40は、実質的に図2Cにおいて説明されるように暗号
化されたメッセージを復号化する。
The communication is performed on the first secure communication device 3 as essentially described with reference to FIG. 2C.
8 and the second communication device 40. Briefly, the first secure communication device 38 sends a request for communication via the communication channel 42, for example, by sending at least one true random number as one component of a one-time key. Next, the second secure communication device 40 receives the request and responds accordingly by transmitting it as one component of at least one other authentic random one-time key. Next, the first secure communication device 38 and the second communication device 40 create a one-time pad as described for FIGS. 1, 2A, 2C and 2D. Next, the message is encrypted by the first secure communication device 38 and then transmitted to the second secure communication device 40, in a manner substantially similar to that described in FIG. 2C. . next,
The second secure communication device 40 decrypts the encrypted message substantially as described in FIG. 2C.

【0108】 また図4Aにおいて示されるように、安全通信システム34は、1つ以上の非
安全通信デバイス44を含む。安全通信デバイス44のうちの1つだけを例示を
明確にするために示すが、限定をなんら意図しない。第1の安全通信デバイス3
8が、例えば、メッセージを非安全通信デバイス44に送信するならば、第1の
安全通信デバイス38は、非安全通信デバイス44が安全な通信プロトコルを実
行できないと決定し得る。そのような決定がなされるのは、非安全通信デバイス
44が第1の安全通信デバイス38によってなされた安全な通信の要求に応答で
きないからであり、この決定により、第1の安全通信デバイス38は、非安全通
信プロトコルにスイッチする。あるいは、非安全通信デバイス44がメッセージ
を第1の安全通信デバイス38に送信することを試みるならば、非安全通信デバ
イス44は、非安全通信プロトコルを使用して通信を開始し得る。そのような状
況において、第1の安全通信デバイス38はまた、非安全通信プロトコルにスイ
ッチすることによって応答し得る。好ましくは、第1の安全通信デバイス38は
、そのようなイベントの記録またはログを保持し得る。その記録またはログは、
例えば、非安全通信デバイスのアイデンティティおよびメッセージの内容を記述
する。
As also shown in FIG. 4A, the secure communication system 34 includes one or more non-secure communication devices 44. Only one of the secure communication devices 44 is shown for clarity of illustration, but is not intended to be limiting in any way. First secure communication device 3
If 8, for example, sends a message to non-secure communication device 44, first secure communication device 38 may determine that non-secure communication device 44 cannot execute a secure communication protocol. Such a determination is made because the non-secure communication device 44 is unable to respond to the request for secure communication made by the first secure communication device 38, and the first secure communication device 38 Switch to a non-secure communication protocol. Alternatively, if non-secure communication device 44 attempts to send a message to first secure communication device 38, non-secure communication device 44 may initiate communication using a non-secure communication protocol. In such a situation, the first secure communication device 38 may also respond by switching to a non-secure communication protocol. Preferably, first secure communication device 38 may maintain a record or log of such events. The record or log is
For example, describe the identity of the non-secure communication device and the content of the message.

【0109】 必要に応じて、上記例において、任意のタイプの非安全通信デバイスが通信を
開始するならば、第1の安全通信デバイス38は、代わりに、ユーザ(図示せず
)を変更し得る。好ましくは、ユーザは、非安全通信デバイスを用いる安全でな
い通信が許可されるべきかどうかを決定するために、安全でない通信が要求され
る場合にユーザが変更されるべきかどうかを決定し得る。別の選択肢として、好
ましくは、例えば、第1の安全通信デバイス38が非安全通信デバイス44と通
信を開始することを試みている場合にのみ、ユーザは、変更されることを選択し
得る。したがって、安全でない通信は、自動的にまたはユーザの選択にしたがっ
てのいずれかで実行され得る。
[0109] Optionally, in the above example, if any type of non-secure communication device initiates communication, the first secure communication device 38 may instead change the user (not shown). . Preferably, the user may determine whether the user should be changed when unsecured communication is required to determine whether unsecured communication using the non-secure communication device is allowed. As another option, preferably, the user may choose to be changed only if, for example, the first secure communication device 38 is attempting to initiate communication with the non-secure communication device 44. Thus, insecure communication may be performed either automatically or according to a user's choice.

【0110】 安全通信デバイス36の例として、ファクシミリ機、音声スクランブラ、モデ
ム、イーサネット(登録商標)カード、通常の電話または携帯電話などがあるが 、これらに限定されない。加えて、安全通信デバイス36はまた、例えば各テレ ビ加入者へ「個人用」サービスを提供できるように、テレビ放送施設からの信号 へのアクセスを提供し得る。また、安全通信デバイス36は、ガスまたは電気な どの公益設備のための遠隔地メータからの情報の正確な識別を可能にし得るので 、公益設備プロバイダは、例えば、そのような情報の供給元および正確度を肯定 的に識別し得る。
Examples of the secure communication device 36 include, but are not limited to, a facsimile machine, a voice scrambler, a modem, an Ethernet card, a regular telephone or a mobile phone. In addition, the secure communication device 36 may also provide access to signals from television broadcast facilities, for example, to provide "personal" service to each television subscriber. Also, because the secure communication device 36 may allow for accurate identification of information from remote meters for utility equipment, such as gas or electricity, the utility equipment provider may, for example, determine the source and accuracy of such information. Degrees can be identified positively.

【0111】 これらの実施形態について、安全通信デバイス36は、ユーザに対して透明で
あり得、かつユーザを参照せずに自動的に安全通信プロトコルを実行し得る。可
能性のある例外は、通信が非安全通信デバイス44と実行される場合であり、こ
の場合、ユーザは、上記のように必要に応じて変更され得る。
[0111] For these embodiments, the secure communication device 36 may be transparent to the user and may automatically execute the secure communication protocol without reference to the user. A possible exception is when communication is performed with a non-secure communication device 44, in which case the user may be changed as needed as described above.

【0112】 あるいはおよび好ましくは、安全通信デバイス36は、図4Bにおいて示すよ
うに、別の電子デバイスが接続される「ブラックボックス」として使用され得る
。図示されるように、非安全通信デバイス46は、安全通信デバイス36に接続
される。安全通信デバイス36が存在しない場合、非安全通信デバイス46は通
常、非安全通信チャネル42に直接に接続され得る。その代わりに、図4Bにお
いて、非安全通信デバイス46は、安全通信デバイス36に接続される。次に、
安全通信デバイス36は、非安全通信チャネル42に接続される。したがって、
非安全通信デバイス46へのまたはそこからのすべてのメッセージまたは通信は
、安全通信プロトコルにしたがって、非安全通信デバイス46への変更なしに、
実行される。
Alternatively and preferably, the secure communication device 36 may be used as a “black box” to which another electronic device is connected, as shown in FIG. 4B. As shown, the non-secure communication device 46 is connected to the secure communication device 36. If the secure communication device 36 is not present, the non-secure communication device 46 may typically be connected directly to the non-secure communication channel 42. Instead, in FIG. 4B, the non-secure communication device 46 is connected to the secure communication device 36. next,
Secure communication device 36 is connected to non-secure communication channel 42. Therefore,
All messages or communications to or from the non-secure communication device 46 will be made according to the secure communication protocol without modification to the non-secure communication device 46.
Be executed.

【0113】 例のみとして、限定を意図せず、非安全通信デバイス46は、ファクシミリ機
、電話または音声スクランブラであり得、および非安全通信チャネル42は、通
常の電話線であり得る。次に、非安全通信デバイス46からの電話プラグは、適
切に適応された入力ポート48を介して安全通信デバイス36へ挿入され得る。
次に、出力ポート50は、非安全通信チャネル42への接続ポイントであるテレ
フォンジャックに接続される。一旦これらの接続がなされると、非安全通信デバ
イス46および安全通信デバイス36の組合せは、安全通信デバイス36が実際
に非安全通信デバイス46に内蔵されるのと実質的に同様に動作する。しかし、
主な利点は、既存の非安全通信デバイスが本発明の安全通信に適応され得ること
である。加えて、非安全通信デバイスは、非安全通信デバイスの各タイプについ
て特別な製造または工場を必要とせずに、「既製品」で購入され得る。その代わ
りに、すべてのそのようなデバイスは、ユーザにとって不都合なしに、安全通信
デバイス36を用いて所望通りに適応され得る。
By way of example only, and not by way of limitation, non-secure communication device 46 may be a facsimile machine, telephone or voice scrambler, and non-secure communication channel 42 may be a regular telephone line. The telephone plug from the non-secure communication device 46 can then be inserted into the secure communication device 36 via an appropriately adapted input port 48.
Next, output port 50 is connected to a telephone jack, which is a connection point to non-secure communication channel 42. Once these connections are made, the combination of the non-secure communication device 46 and the secure communication device 36 operates in substantially the same manner as the secure communication device 36 is actually built into the non-secure communication device 46. But,
The main advantage is that existing non-secure communication devices can be adapted for the secure communication of the present invention. In addition, non-secure communication devices can be purchased "off-the-shelf" without requiring special manufacturing or factories for each type of non-secure communication device. Instead, all such devices can be adapted as desired using the secure communication device 36 without inconvenience to the user.

【0114】 安全通信デバイスが非安全通信デバイスないに内蔵されるかどうか、または安
全通信デバイスが製造後に追加されるかどうかのいずれの状況においても、動作
中に必要とされるさらなる関数またはデータ演算は、安全通信デバイス36内の
ワンタイムパッド10のRAM16中に記録され得る。当然ながら、RAM16
は、安全通信デバイス36が電気パワーを喪失した後に必要となる情報の格納に
適切でない。そのような情報が、安全通信デバイス36のステータスに関われず
保持される必要があるならば、例えば、フラッシュアレイがRAM16にとって
代わり得る。
Additional functions or data operations required during operation, whether the secure communication device is embedded in a non-secure communication device or whether the safety communication device is added after manufacture May be recorded in the RAM 16 of the one-time pad 10 in the secure communication device 36. Naturally, RAM16
Are not suitable for storing information needed after the secure communication device 36 loses electrical power. If such information needs to be retained regardless of the status of the secure communication device 36, for example, a flash array can replace the RAM 16.

【0115】 図2A〜2Dの本発明の電子デバイスのいずれかを用いて実施され得る本発明
のさらに別の実施形態によると、「スター」ネットワーク構成52が、図5に示
すように、これらのデバイスを用いて作成される。スターネットワーク52の中
央には、本発明の中央電子デバイス54がある。中央電子デバイス54は、本発
明の複数の顧客電子デバイス56と通信する。少なくとも1つの乱数マスターテ
ーブルが、中央電子デバイス54において保持される。各顧客電子デバイス56
は、それ自身のユニークなテーブルを有する。顧客電子デバイス56での各乱数
テーブルは、2つの形態(中央電子デバイス54におけるマスターテーブルにし
たがって暗号化されたもの、および暗号化されていないもの)で保持される。顧
客電子デバイス56が中央電子デバイス54と通信を開始する場合、顧客電子デ
バイス56はまず、そのユニークなテーブルを、暗号化された状態で、中央電子
デバイス54に送信する。次に、中央電子デバイス54は、少なくとも1つのマ
スターテーブルにしたがって、暗号化されたユニークなテーブルを復号化して、
その顧客電子デバイス56のユニークなテーブルを得る。次に、通信は、例えば
上記のように本発明の方法を実行するための乱数テーブルとしてユニークテーブ
ルを使用することによって、中央電子デバイス54と顧客電子デバイス56との
間で行われる。必要に応じて、これらのユニークなテーブルを使用して、中央電
子デバイス54および顧客電子デバイス56の両方に共通の方法にしたがって新
しいテーブルが作成され得る。また、必要に応じて、暗号化されたテーブルが中
央電子デバイス54によって復号化された後で、通信のための上記方法のいずれ
かがこの方法とともに使用され得る。加えて、必要に応じて、パスワードも顧客
電子デバイス56内部に記録され得る。ユーザは、顧客電子デバイス56にアク
セスするために、このパスワードを入力することを要求される。
According to yet another embodiment of the present invention, which may be implemented using any of the electronic devices of the present invention of FIGS. 2A-2D, a “star” network configuration 52 may be used, as shown in FIG. Created using a device. At the center of the star network 52 is the central electronic device 54 of the present invention. Central electronic device 54 communicates with a plurality of customer electronic devices 56 of the present invention. At least one random number master table is maintained at the central electronic device. Each customer electronic device 56
Has its own unique table. Each random number table at the customer electronic device 56 is maintained in two forms: one encrypted according to the master table at the central electronic device 54 and one unencrypted. When customer electronic device 56 initiates communication with central electronic device 54, customer electronic device 56 first transmits its unique table to central electronic device 54 in an encrypted state. Next, the central electronic device 54 decrypts the encrypted unique table according to the at least one master table,
A unique table for the customer electronic device 56 is obtained. Communication then takes place between the central electronic device 54 and the customer electronic device 56, for example by using the unique table as a random number table for performing the method of the invention as described above. If necessary, these unique tables can be used to create new tables according to methods common to both central electronic device 54 and customer electronic device 56. Also, if desired, any of the above methods for communication can be used with this method after the encrypted table has been decrypted by central electronic device 54. In addition, a password may be recorded within the customer electronic device 56 if desired. The user is required to enter this password to access customer electronic device 56.

【0116】 本発明のこの実施形態は、多くの異なる実施に使用され得る。例えば、中央電
子デバイス54は、クレジットカードへの課金に関するトランザクション要求を
処理するために、クレジットカードクリアリングセンターに設置され得る。中央
電子デバイス54はまた、クレジットカードのプロバイダに設置され得る。顧客
は、顧客電子デバイス56を介してクレジットカードへ課金を課すための要求を
行い得る。本発明のこの実施形態はまた、携帯電話および「有料TV」に使用さ
れ得る。「有料TV」においては、ユーザは、特定のテレビ番組を見るために料
金を払わなければならない。したがって、本発明のこの実施形態は、多くの異な
るタイプの商業活動に使用され得る。
This embodiment of the invention can be used for many different implementations. For example, central electronic device 54 may be located at a credit card clearing center to process transaction requests for credit card billing. Central electronic device 54 may also be located at a credit card provider. The customer may make a request to charge a credit card via the customer electronic device 56. This embodiment of the invention can also be used for mobile phones and "paid TV". In “pay TV”, a user must pay a fee to watch a particular television program. Thus, this embodiment of the present invention can be used for many different types of commercial activities.

【0117】 上記「ワンタイムパッド」デバイスのいずれかがまた、通常のコンピュータを
用いて実施され得、例えば、乱数メンバのテーブルは、ディスケット上の個人に
送信される。
[0117] Any of the above "one-time pad" devices may also be implemented using a conventional computer, for example, a table of random number members is sent to an individual on a diskette.

【0118】 上記記述は例となるようにのみ意図されること、および多くの他の実施形態が
本発明の精神および範囲内で可能であることが理解され得る。
It can be understood that the above description is intended only by way of example, and that many other embodiments are possible within the spirit and scope of the invention.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の電子「ワンタイムパッド」を生成する方法のフローチャートである。FIG. 1 is a flowchart of a method for generating an electronic “one-time pad” of the present invention.

【図2A】 本発明の電子「ワンタイムパッド」を生成するための電子デバイスの実施例を
例示する図である。
FIG. 2A illustrates an embodiment of an electronic device for generating an electronic “one-time pad” of the present invention.

【図2B】 本発明の電子「ワンタイムパッド」を生成するための電子デバイスの実施例を
例示する図である。
FIG. 2B illustrates an example of an electronic device for generating an electronic “one-time pad” of the present invention.

【図2C】 本発明の電子「ワンタイムパッド」を生成するための電子デバイスの実施例を
例示する図である。
FIG. 2C illustrates an embodiment of an electronic device for generating an electronic “one-time pad” of the present invention.

【図2D】 本発明の電子「ワンタイムパッド」を生成するための電子デバイスの実施例を
例示する図である。
FIG. 2D illustrates an embodiment of an electronic device for generating an electronic “one-time pad” of the present invention.

【図3】 本発明の図2Aおよび2Dのデバイスを使用するシステムの実施例を例示する
図である。
FIG. 3 illustrates an embodiment of a system using the devices of FIGS. 2A and 2D of the present invention.

【図4A】 安全な通信のためのシステムの実施例を例示する図である。FIG. 4A is a diagram illustrating an embodiment of a system for secure communication.

【図4B】 図4Aのシステム内の通信デバイスの実施例を例示する図である。FIG. 4B is a diagram illustrating an example of a communication device in the system of FIG. 4A.

【図5】 本発明の中央電子デバイスとクライアントデバイスとの間の安全な通信のため
の「スター」システムの実施例を例示する図である。
FIG. 5 illustrates an embodiment of a “star” system for secure communication between a central electronic device and a client device of the present invention.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,US,UZ,VN,YU,Z A,ZW 【要約の続き】 おいて同一である、ステップと、(d)該得られた真正 乱数および該生成された擬似乱数を組み合わせて少なく とも1つの該量の真正乱数を形成するステップであっ て、該少なくとも1つの該量の真正乱数が該複数の位置 において同一である、ステップとを含む。加えて、本発 明は、「スター」ネットワークシステムを含む。ここ で、中央電子デバイスは、マスターテーブルを有し、か つ複数の顧客電子デバイスは、それぞれ2つの形態で格 納された少なくとも1つのテーブルを有し、その両方の 形態のうちの1つは、該マスターテーブルにしたがって 暗号化され、他方は、非暗号化形態である。次に、該顧 客電子デバイスは、該暗号化されたテーブルを該中央電 子デバイスに送信し、該中央電子デバイスは、通信を開 始するために該テーブルを復号化する。──────────────────────────────────────────────────続 き Continuation of front page (81) Designated country EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE ), OA (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, KE, LS, MW, SD, SL, SZ, UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AL, AM, AT, AU, AZ, BA, BB, BG, BR , BY, CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS , JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, UA, UG, US, UZ, VN, YU, ZA, ZW (D) combining the obtained true random number and the generated pseudo-random number to form at least one true random number of the quantity, wherein the at least one true random number of the quantity is the plurality of true random numbers. The same at the position of In addition, the present invention includes a "star" network system. Here, the central electronic device has a master table, and the plurality of customer electronic devices each have at least one table stored in two forms, one of both forms being one of the two forms. , According to the master table, and the other is in unencrypted form. Next, the customer electronic device sends the encrypted table to the central electronic device, which decrypts the table to initiate communication.

Claims (94)

【特許請求の範囲】[Claims] 【請求項1】 第1の位置および第2の位置において同一の電子ワンタイム
パッドを生成するための方法であって、 (a)該第1の位置において第1の電子デバイスを、および該第2の位置にお
いて第2の電子デバイスを提供するステップであって、該第1および該第2の電
子デバイスが (i)不揮発性メモリと、 (ii)プロセッサと、 (iii)該不揮発性メモリ上に格納される少なくとも1つの真正乱数テー
ブルであって、該テーブルが該第1および該第2の電子デバイスに対して同一で
ある、テーブルと、 (iv)該テーブルから真正乱数を得るための少なくとも1つのソフトウェ
アプログラムであって、該ソフトウェアプログラムは該不揮発性メモリ上に格納
され、かつ該少なくとも1つのソフトウェアプログラムは該プロセッサによって
動作される、ソフトウェアプログラムとを有する、ステップと、 (b)該第1の電子デバイスと該第2の電子デバイスとの間の通信のための通
信チャネルを提供するステップと、 (c)選択手順にしたがって、該第1および該第2の電子デバイスにおける該
テーブルから、選択された真正乱数を選択するステップであって、該選択手順は
該第1および該第2の電子デバイスに対して同一であり、該選択手順は該通信チ
ャネル上で該第1および該第2の電子デバイス間で鍵の少なくとも一部を交換す
るステップを含み、該選択された真正乱数は該第1および該第2の電子デバイス
に対して同一である、ステップと、 (d)該選択された真正乱数を用いて、該第1および該第2の位置において、
同一の電子ワンタイムパッドの少なくとも1つを形成するステップと、 を含む方法。
1. A method for generating an identical electronic one-time pad at a first location and a second location, comprising: (a) providing a first electronic device at the first location; Providing a second electronic device at two locations, wherein the first and second electronic devices comprise: (i) a non-volatile memory; (ii) a processor; and (iii) on the non-volatile memory. At least one true random number table stored in the table, wherein the table is the same for the first and second electronic devices; and (iv) at least one for obtaining a true random number from the table. A software program, wherein the software program is stored on the non-volatile memory, and the at least one software program is (B) providing a communication channel for communication between the first electronic device and the second electronic device; and (c) selecting Selecting a selected true random number from the tables in the first and second electronic devices according to a procedure, wherein the selection procedure is the same for the first and second electronic devices. Wherein the selecting procedure includes exchanging at least a portion of a key between the first and second electronic devices over the communication channel, wherein the selected authentic random number is associated with the first and second electronic devices. (D) using the selected true random number at the first and second locations;
Forming at least one of the same electronic one-time pad.
【請求項2】 前記同一の電子ワンタイムパッドが任意の所望の長さである
、請求項1に記載の方法。
2. The method of claim 1, wherein the same electronic one-time pad is of any desired length.
【請求項3】 前記テーブルから前記選択された真正乱数を選択する前記ス
テップが (i)前記第1の電子デバイスにおいて第1の真正乱数を生成し、かつ前記第
2の電子デバイスにおいて第2の真正乱数を生成するステップと、 (ii)前記チャネルを介して、該第1の真正乱数を該第2の電子デバイスに
送信し、かつ該第2の真正乱数を該第1の電子デバイスに送信するステップであ
って、該第1および該第2の真正乱数が前記鍵の前記少なくとも一部を形成する
、ステップとを含む、請求項1に記載の方法。
3. The step of selecting the selected true random number from the table includes: (i) generating a first true random number in the first electronic device and a second true random number in the second electronic device. Generating a true random number; and (ii) transmitting the first true random number to the second electronic device via the channel and transmitting the second true random number to the first electronic device. 2. The method of claim 1, wherein the first and second authentic random numbers form the at least a portion of the key.
【請求項4】 (iii)ポインタを用いて、前記テーブルから、得られた
真正乱数を得るステップであって、該ポインタは、実質的に前記鍵と同一であっ
て、前記選択された乱数が該得られた真正乱数にしたがって選択される、ステッ
プをさらに含む請求項3に記載の方法。
And (iii) obtaining a true random number from said table using a pointer, said pointer being substantially the same as said key, and said selected random number being equal to said key. 4. The method of claim 3, further comprising the step of selecting according to the obtained true random number.
【請求項5】 前記選択された真正乱数が前記得られた真正乱数である、請
求項4に記載の方法。
5. The method of claim 4, wherein the selected true random number is the obtained true random number.
【請求項6】 (ii−a)前記第1および第2の真正乱数をマージして前
記鍵の前記少なくとも一部を形成するステップをさらに含む請求項3に記載の方
法。
6. The method of claim 3, further comprising (ii-a) merging the first and second true random numbers to form the at least a portion of the key.
【請求項7】 前記第1および第2の電子デバイスの少なくとも1つが物理
的ランダム現象の供給源を含み、該第1および該第2の真正乱数の少なくとも1
つが、該物理的ランダム現象の供給源から生成される、請求項3に記載の方法。
7. At least one of said first and second electronic devices includes a source of physical random phenomena, and at least one of said first and second true random numbers.
4. The method of claim 3, wherein one is generated from a source of the physical random phenomenon.
【請求項8】 前記物理的ランダム現象の供給源が、音響ノイズの供給源お
よび熱ノイズの供給源からなる群から選択される、請求項7に記載の方法。
8. The method of claim 7, wherein the source of the physical random phenomenon is selected from the group consisting of a source of acoustic noise and a source of thermal noise.
【請求項9】 前記第1および第2の電子デバイスの少なくとも1つが擬似
乱数生成器を特徴とし、該擬似乱数生成器が前記不揮発性メモリ中に格納された
少なくとも1つのソフトウェアプログラムにしたがって前記プロセッサによって
動作され、該擬似乱数生成器が未定義期間実質的に連続に動作され、前記第1お
よび第2の真正乱数の少なくとも1つを生成する前記ステップが該擬似乱数生成
器から出力数を出力するステップを含む、請求項3に記載の方法。
9. The processor according to claim 1, wherein at least one of said first and second electronic devices is characterized by a pseudo-random number generator, said pseudo-random number generator according to at least one software program stored in said non-volatile memory. And wherein the step of generating at least one of the first and second true random numbers comprises outputting an output number from the pseudo random number generator, wherein the pseudo random number generator is operated substantially continuously for an undefined period of time. 4. The method of claim 3, comprising the step of:
【請求項10】 (iv)前記第1および第2の電子デバイスにおいて少な
くとも1つの同一の擬似乱数生成器を提供するステップであって、該少なくとも
1つの擬似乱数生成器が、前記不揮発性メモリ中に格納された少なくとも1つの
ソフトウェアプログラムにしたがって前記プロセッサによって動作される、ステ
ップと、 (v)第1のポインタを用いて、前記テーブルから、得られた真正乱数を得る
ステップであって、該第1のポインタが前記鍵に実質的に同一である、ステップ
と、 (vi)該得られた真正乱数を該少なくとも1つの擬似乱数生成器にシードと
して与えるステップと、 (vii)該少なくとも1つの擬似乱数生成器から、生成された擬似乱数を得
るステップであって、該生成された擬似乱数が該第1および第2の電子デバイス
に対して同一である、ステップと、 (viii)該生成された擬似乱数を第2のポインタとして使用して該テーブ
ルから該選択された真正乱数を選択するステップと、 をさらに含む請求項3に記載の方法。
10. (iv) providing at least one identical pseudo-random number generator in the first and second electronic devices, wherein the at least one pseudo-random number generator is in the non-volatile memory Being operated by said processor according to at least one software program stored in: v) obtaining the obtained true random number from said table using a first pointer, (Vi) providing the obtained true random number as a seed to the at least one pseudorandom number generator; and (vii) providing the at least one pseudorandom number to the at least one pseudorandom number generator. Obtaining a generated pseudo-random number from a random number generator, wherein the generated pseudo-random number is stored in the first and second electronic data units; 4. The method of claim 3, further comprising: (viii) using the generated pseudorandom number as a second pointer to select the selected true random number from the table. The method described in.
【請求項11】 前記選択された真正乱数を選択する前記ステップが、 (1)前記少なくとも1つの擬似乱数生成器から第2の生成された擬似乱数を
生成するステップであって、該第2の生成された擬似乱数が前記第1および第2
の電子デバイスに対して同一である、ステップと、 (2)該第2の生成された擬似乱数と該選択された真正乱数とをマージして、
マージされた真正乱数を形成するステップであって、該マージされた真正乱数が
該選択された真正乱数である、ステップとをさらに含む、請求項10に記載の方
法。
11. The step of selecting the selected true random number includes: (1) generating a second generated pseudo-random number from the at least one pseudo-random number generator; The generated pseudo-random numbers correspond to the first and second
(2) merging the second generated pseudo-random number with the selected true random number;
11. The method of claim 10, further comprising the step of forming a merged true random number, wherein the merged true random number is the selected true random number.
【請求項12】 前記少なくとも1つの真正乱数テーブルを提供する前記ス
テップが、 (1)初期真正乱数テーブルを提供するステップと、 (2)第1のポインタを用いて、該テーブルから、得られた真正乱数を得るス
テップであって、該第1のポインタが前記鍵に実質的に同一である、ステップと
、 (3)該得られた真正乱数を前記少なくとも1つの擬似乱数生成器にシードと
して与えるステップと、 (4)該少なくとも1つの擬似乱数生成器から、生成された擬似乱数を得るス
テップであって、該生成された擬似乱数が前記第1および第2の電子デバイスに
対して同一である、ステップと、 (5)該生成された擬似乱数を第2のポインタとして使用して該初期テーブル
から該選択された真正乱数を選択するステップと、 (6)ステップ2〜5を繰り返して、前記少なくとも1つの真正乱数テーブル
を作成するステップとをさらに含む請求項11に記載の方法。
12. The step of providing the at least one true random number table comprises: (1) providing an initial true random number table; and (2) obtaining from the table using a first pointer. Obtaining a true random number, wherein the first pointer is substantially the same as the key; and (3) providing the obtained true random number as a seed to the at least one pseudo-random number generator. And (4) obtaining a generated pseudo-random number from the at least one pseudo-random number generator, wherein the generated pseudo-random number is the same for the first and second electronic devices. (5) selecting the selected true random number from the initial table using the generated pseudo-random number as a second pointer; (6) step Repeating steps 2-5 to create the at least one true random number table.
【請求項13】 前記選択された真正乱数を選択する前記ステップが、 (A)前記少なくとも1つの擬似乱数生成器から第2の生成された擬似乱数を
生成するステップであって、該第2の生成された擬似乱数が前記第1および第2
の電子デバイスに対して同一である、ステップと、 (B)該第2の生成された擬似乱数と該選択された真正乱数とをマージして、
マージされた真正乱数を形成するステップであって、該マージされた真正乱数が
該選択された真正乱数である、ステップとをさらに含む、請求項12に記載の方
法。
13. The step of selecting the selected true random number comprises: (A) generating a second generated pseudo-random number from the at least one pseudo-random number generator; The generated pseudo-random numbers correspond to the first and second
(B) merging the second generated pseudo-random number with the selected true random number;
13. The method of claim 12, further comprising forming a merged true random number, wherein the merged true random number is the selected true random number.
【請求項14】 前記得られた真正乱数が前記選択された真正乱数である請
求項10のステップ(vi)〜(viii)、および前記第2のポインタが請求
項10および11のステップを繰り返すためのステップ11(2)からの該選択
された真正乱数である請求項11のステップを少なくとも1度、繰り返すステッ
プをさらに含む請求項11に記載の方法。
14. The steps (vi) to (viii) of claim 10 wherein the obtained true random number is the selected true random number, and the second pointer repeats the steps of claims 10 and 11. 12. The method of claim 11, further comprising repeating the step of claim 11 at least once, wherein said selected true random number from step 11 (2) of step (a).
【請求項15】 複数の選択された真正乱数が、請求項14のステップを少
なくとも1回繰り返すことによって得られる、請求項14に記載の方法。
15. The method of claim 14, wherein a plurality of selected true random numbers are obtained by repeating the steps of claim 14 at least once.
【請求項16】 ステップ(vi)が、 (1)前記第1および第2の電子デバイスにおいてさらなる同一の擬似乱数生
成器を提供するステップであって、該さらなる擬似乱数生成器が、前記不揮発性
メモリ中に格納された少なくとも1つのソフトウェアプログラムにしたがって前
記プロセッサによって動作される、ステップと、 (2)前記シードを用いて、該さらなる擬似乱数生成器によってさらなる擬似
乱数を生成するステップと、 (3)該さらなる擬似乱数を用いて第2のシードを形成するステップと、 (4)該シードを該第2のシードで置き換えるステップとをさらに含む、請求
項10に記載の方法。
16. The step (vi) comprising: (1) providing a further identical pseudo-random number generator in said first and second electronic devices, said further pseudo-random number generator comprising: Being operated by the processor according to at least one software program stored in a memory; (2) generating further pseudo-random numbers by the further pseudo-random number generator using the seed; (3) 11. The method of claim 10, further comprising :) forming a second seed using the further pseudo-random number; and (4) replacing the seed with the second seed.
【請求項17】 前記第2のシードが前記さらなる擬似乱数である、請求項
16に記載の方法。
17. The method of claim 16, wherein said second seed is said further pseudorandom number.
【請求項18】 ステップ(4)は、前記さらなる擬似乱数生成器によって
決定されたランダム間隔で実行される、請求項17に記載の方法。
18. The method according to claim 17, wherein step (4) is performed at random intervals determined by the further pseudo-random number generator.
【請求項19】 ステップ(3)が、 (A)前記少なくとも1つの擬似乱数生成器から、生成された擬似乱数を得る
ステップであって、該生成された擬似乱数が前記第1および第2の電子デバイス
に対して同一である、ステップと、 (B)該生成された擬似乱数をさらなるポインタとして使用して前記テーブル
からさらなる真正乱数を選択するステップと、 (C)該さらなる真正乱数から前記第2のシードを形成するステップとをさら
に含む、請求項16に記載の方法。
19. A step (3) of: (A) obtaining a generated pseudo-random number from the at least one pseudo-random number generator, wherein the generated pseudo-random number is the first and second pseudo random numbers. (B) selecting the further authentic random number from the table using the generated pseudo-random number as an additional pointer; and (C) selecting the second authentic random number from the additional true random number. Forming the two seeds.
【請求項20】 前記さらなる真正乱数から前記第2のシードを形成する前
記ステップが、 (I)前記少なくとも1つの擬似乱数生成器から第2の生成された擬似乱数を
生成するステップであって、該第2の生成された擬似乱数が前記第1および第2
の電子デバイスに対して同一である、ステップと、 (II)該第2の生成された擬似乱数と該さらなる真正乱数とをマージして、
マージされた真正乱数を形成するステップであって、該マージされた真正乱数が
該第2のシードである、ステップとをさらに含む、請求項19に記載の方法。
20. The step of forming the second seed from the further true random number comprises: (I) generating a second generated pseudo-random number from the at least one pseudo-random number generator; The second generated pseudo-random number is the first and second pseudo-random numbers.
(II) merging the second generated pseudo-random number with the further true random number;
20. The method of claim 19, further comprising forming a merged true random number, wherein the merged true random number is the second seed.
【請求項21】 ステップ(vi)が、 (1)完全にランダムな物理的供給源を提供するステップと、 (2)該完全にランダムな物理的供給源によって新規の乱数を生成するステッ
プと、 (3)該新規の乱数を用いて第2のシードを形成するステップと、 (4)前記シードを該第2のシードで置き換えるステップとをさらに含む、請
求項10に記載の方法。
21. Step (vi) comprising: (1) providing a completely random physical source; and (2) generating a new random number with the completely random physical source. The method of claim 10, further comprising: (3) forming a second seed using the new random number; and (4) replacing the seed with the second seed.
【請求項22】 ステップ(2)が、 (A)少なくとも1つのポインタを生成して乱数を選択するステップと、 (B)該少なくとも1つのポインタを交換するステップと、 (C)該乱数を選択して、選択された乱数を形成するステップと、 (D)該選択された乱数にしたがって前記新規の乱数を選択するステップとを
さらに含む、請求項21に記載の方法。
22. Step (2) includes: (A) generating at least one pointer and selecting a random number; (B) exchanging the at least one pointer; and (C) selecting the random number. 22. The method of claim 21, further comprising: forming a selected random number; and (D) selecting the new random number according to the selected random number.
【請求項23】 ステップ(2)が所定の間隔で実行される、請求項22に
記載の方法。
23. The method according to claim 22, wherein step (2) is performed at predetermined intervals.
【請求項24】 前記所定の間隔が、前記乱数テーブルのサイズにしたがっ
て決定される、請求項23に記載の方法。
24. The method according to claim 23, wherein the predetermined interval is determined according to a size of the random number table.
【請求項25】 前記選択された乱数を選択するステップが、 (i)前記第1および第2の電子デバイスにおいて少なくとも1つの同一の擬
似乱数生成器を提供するステップであって、該少なくとも1つの擬似乱数生成器
が、前記不揮発性メモリ中に格納された少なくとも1つのソフトウェアプログラ
ムにしたがって前記プロセッサによって動作される、ステップと、 (ii)実質的にランダムな時点において前記鍵をシードとして用いて、該擬
似乱数生成器によって、生成された擬似乱数を生成するステップとをさらに含む
、請求項1に記載の方法。
25. The step of selecting the selected random number comprises: (i) providing at least one identical pseudo-random number generator at the first and second electronic devices, wherein the at least one A pseudorandom number generator operated by the processor according to at least one software program stored in the non-volatile memory; and (ii) using the key as a seed at a substantially random time; Generating the generated pseudo-random numbers by the pseudo-random number generator.
【請求項26】 前記シードが、前記真正乱数テーブルから得られた、得ら
れた真正乱数によって変更される、請求項25に記載の方法。
26. The method according to claim 25, wherein the seed is modified by the obtained true random number obtained from the true random number table.
【請求項27】 前記ランダムな時点が前記得られた真正乱数にしたがって
選択される、請求項26に記載の方法。
27. The method of claim 26, wherein the random time point is selected according to the obtained true random number.
【請求項28】 (d)前記ワンタイムパッドにしたがって前記第1の電子
デバイスによって、メッセージの少なく一部分と該ワンタイムパッドからの前記
選択された真正乱数とをマージ関数にしたがってマージすることによって、該メ
ッセージを暗号化して暗号化されたメッセージを形成するステップと、 (e)該暗号化されたメッセージを前記第2の電子デバイスに前記通信チャネ
ルを介して送信するステップとをさらに含む、請求項1に記載の方法。
28. (d) merging at least a portion of a message with the selected true random number from the one-time pad by the first electronic device according to the one-time pad according to a merge function; The method further comprising: encrypting the message to form an encrypted message; and (e) transmitting the encrypted message to the second electronic device over the communication channel. 2. The method according to 1.
【請求項29】 (f)前記暗号化されたメッセージを前記第2の電子デバ
イスによって受信するステップと、 (g)該暗号化されたメッセージに対して逆関数を実行することによって該暗
号化されたメッセージを復号化して前記メッセージの前記少なくとも一部を得る
ステップとをさらに含む、請求項28に記載の方法。
29. (f) receiving the encrypted message by the second electronic device; and (g) performing the inverse function on the encrypted message by performing an inverse function on the encrypted message. Decoding the received message to obtain the at least a portion of the message.
【請求項30】 前記メッセージが複数のバイトに分割可能であり、かつ該
メッセージの前記少なくとも一部が該複数のバイトの1つである、請求項28に
記載の方法。
30. The method of claim 28, wherein the message is divisible into a plurality of bytes, and wherein the at least a portion of the message is one of the plurality of bytes.
【請求項31】 前記マージ関数が、前記選択された真正乱数および前記メ
ッセージの前記バイトを用いてXOR演算を実行するステップを含む、請求項3
0に記載の方法。
31. The merging function includes performing an XOR operation using the selected true random number and the bytes of the message.
The method according to 0.
【請求項32】 (d)前記ワンタイムパッドにしたがって前記第1の電子
デバイスによって、識別子と該ワンタイムパッドからの前記選択された真正乱数
とをマージ関数にしたがってマージすることによって、該識別子を暗号化して暗
号化されたメッセージを形成するステップと、 (e)該暗号化された識別子を前記第2の電子デバイスに送信するステップと
、 (f)該第2の電子デバイスによって該暗号化された識別子を受信するステッ
プと、 (g)該暗号化された識別子に対して逆関数を実行することによって該暗号化
された識別子を復号化して該識別子を得るステップであって、該逆関数が該マー
ジ関数の逆である、ステップと、 (h)該識別子にしたがって、該第2の電子デバイスによって、アクセス制御
モジュールへのアクセスを決定するステップとをさらに含む請求項1に記載の方
法。
32. (d) merging the identifier with the selected true random number from the one-time pad by the first electronic device according to the one-time pad according to a merge function, Encrypting to form an encrypted message; (e) transmitting the encrypted identifier to the second electronic device; and (f) encrypting the encrypted identifier by the second electronic device. (G) decrypting the encrypted identifier to obtain the identifier by performing an inverse function on the encrypted identifier, the inverse function comprising: (H) accessing the access control module by the second electronic device according to the identifier; The method of claim 1, further comprising the step of determining.
【請求項33】 前記マージ関数が、前記選択された真正乱数および前記識
別子を用いてXOR演算を実行するステップを含む、請求項32に記載の方法。
33. The method of claim 32, wherein the merge function includes performing an XOR operation using the selected true random number and the identifier.
【請求項34】 前記アクセス制御モジュールが、物理空間、電子デバイス
、およびデータからなる群から選択される、請求項32に記載の方法。
34. The method of claim 32, wherein said access control module is selected from the group consisting of physical space, electronic device, and data.
【請求項35】 前記物理空間が、部屋、金庫、自動車、建物および安全設
備からなる群から選択される、請求項34に記載の方法。
35. The method of claim 34, wherein the physical space is selected from the group consisting of a room, a safe, a car, a building, and security equipment.
【請求項36】 前記電子デバイスが、コンピュータ、自動現金機、テレビ
、携帯電話および通常の電話からなる群から選択される、請求項34に記載の方
法。
36. The method of claim 34, wherein the electronic device is selected from the group consisting of a computer, a cash machine, a television, a mobile phone, and a regular phone.
【請求項37】 前記データが、銀行口座、電子メール(e−mail)お
よびボイスメールからなる群から選択される、請求項34に記載の方法。
37. The method of claim 34, wherein the data is selected from the group consisting of a bank account, an e-mail, and a voice mail.
【請求項38】 アクセス制御モジュールへのユーザによるアクセスを決定
するための方法であって、 (a)該ユーザのための第1の電子デバイスおよび該アクセス制御モジュール
のための第2の電子デバイスを提供するステップであって、該第1および該第2
の電子デバイスが (i)不揮発性メモリと、 (ii)プロセッサと、 (iii)該不揮発性メモリ上に格納される少なくとも1つの真正乱数テー
ブルであって、該テーブルが該第1および該第2の電子デバイスに対して同一で
ある、テーブルと、 (iv)該テーブルから真正乱数を得るための少なくとも1つのソフトウェ
アプログラムであって、該少なくとも1つのソフトウェアプログラムは該不揮発
性メモリ上に格納され、かつ該少なくとも1つのソフトウェアプログラムは該プ
ロセッサによって動作される、ソフトウェアプログラムとを有する、ステップと
、 (b)該第1の電子デバイスと該第2の電子デバイスとの間の通信のための通
信チャネルを提供するステップと、 (c)選択手順にしたがって、該第1および該第2の電子デバイスにおける該
テーブルから、選択された真正乱数を選択するステップであって、該選択手順は
該第1および該第2の電子デバイスに対して同一であり、該選択された真正乱数
は該第1および該第2の電子デバイスに対して同一である、ステップと、 (d)該第1の電子デバイスによって、識別子と該選択された真正乱数とをマ
ージ関数にしたがってマージすることによって、該識別子を暗号化して暗号化さ
れたメッセージを形成するステップと、 (e)該暗号化された識別子を前記第2の電子デバイスに送信するステップと
、 (f)該第2の電子デバイスによって該暗号化された識別子を受信するステッ
プと、 (g)該暗号化された識別子に対して逆関数を実行することによって該暗号化
された識別子を復号化して該識別子を得るステップであって、該逆関数が該マー
ジ関数の逆である、ステップと、 (h)該識別子したがって、該第2の電子デバイスによって、アクセス制御モ
ジュールへのアクセスを決定するステップとを含む方法。
38. A method for determining access by a user to an access control module, the method comprising: (a) providing a first electronic device for the user and a second electronic device for the access control module. Providing, wherein the first and the second
(Ii) a non-volatile memory; (ii) a processor; and (iii) at least one true random number table stored on the non-volatile memory, wherein the table is the first and the second random number tables. (Iv) at least one software program for obtaining a true random number from the table, wherein the at least one software program is stored on the non-volatile memory; And the at least one software program comprises a software program operated by the processor; and (b) a communication channel for communication between the first electronic device and the second electronic device. (C) the first and second electronic data according to a selection procedure. Selecting a selected authentic random number from the table in the chair, wherein the selecting procedure is the same for the first and second electronic devices, wherein the selected authentic random number is the first authentic random number. And d. Being the same for the second electronic device; and (d) merging the identifier with the selected true random number according to the first electronic device according to a merge function. Encrypting to form an encrypted message; (e) transmitting the encrypted identifier to the second electronic device; and (f) encrypting the encrypted identifier by the second electronic device. (G) decrypting the encrypted identifier by performing an inverse function on the encrypted identifier to obtain the identifier. A flop, inverse function is the inverse of the merge function, the steps, in accordance (h) said identifier, by the second electronic device, the method comprising the steps of: determining access to the access control module.
【請求項39】 前記マージ関数が、前記選択された真正乱数および前記メ
ッセージのバイトを用いてXOR演算を実行するステップを含む、請求項38に
記載の方法。
39. The method of claim 38, wherein the merge function includes performing an XOR operation using the selected true random number and the bytes of the message.
【請求項40】 前記アクセス制御モジュールが、物理空間、電子デバイス
、およびデータからなる群から選択される、請求項38に記載の方法。
40. The method of claim 38, wherein said access control module is selected from the group consisting of a physical space, an electronic device, and data.
【請求項41】 前記物理空間が、部屋、金庫、自動車、建物および安全設
備からなる群から選択される、請求項40に記載の方法。
41. The method of claim 40, wherein the physical space is selected from the group consisting of a room, a safe, a car, a building, and safety equipment.
【請求項42】 前記電子デバイスが、コンピュータ、自動現金機、テレビ
、携帯電話および通常の電話からなる群から選択される、請求項40に記載の方
法。
42. The method of claim 40, wherein the electronic device is selected from the group consisting of a computer, a cash machine, a television, a mobile phone, and a regular phone.
【請求項43】 前記データが、銀行口座、電子メール(e−mail)お
よびボイスメールからなる群から選択される、請求項40に記載の方法。
43. The method of claim 40, wherein the data is selected from the group consisting of a bank account, an e-mail, and a voice mail.
【請求項44】 前記テーブルから前記選択された真正乱数を選択する前記
ステップが (i)前記第1の電子デバイスにおいて第1の真正乱数を生成し、かつ前記第
2の電子デバイスにおいて第2の真正乱数を生成するステップと、 (ii)前記チャネルを介して、該第1の真正乱数を該第2の電子デバイスに
送信し、かつ該第2の真正乱数を該第1の電子デバイスに送信するステップであ
って、該第1および該第2の真正乱数が前記鍵の前記少なくとも一部を形成する
、ステップとを含む、請求項38に記載の方法。
44. The method according to claim 44, wherein the step of selecting the selected true random number from the table comprises: (i) generating a first true random number in the first electronic device; and selecting a second true random number in the second electronic device. Generating a genuine random number; and (ii) transmitting the first genuine random number to the second electronic device via the channel and transmitting the second genuine random number to the first electronic device. 39. The method of claim 38, wherein the first and second authentic random numbers form the at least a portion of the key.
【請求項45】 (iii)ポインタを用いて、前記テーブルから、得られ
た真正乱数を得るステップであって、該ポインタは、実質的に前記鍵と同一であ
って、前記選択された乱数が該得られた真正乱数にしたがって選択される、ステ
ップをさらに含む請求項44に記載の方法。
45. (iii) obtaining an obtained true random number from the table using a pointer, wherein the pointer is substantially the same as the key, and the selected random number is The method of claim 44, further comprising the step of being selected according to the obtained true random number.
【請求項46】 前記選択された真正乱数が前記得られた真正乱数である、
請求項45に記載の方法。
46. The selected true random number is the obtained true random number.
46. The method of claim 45.
【請求項47】 (ii−a)前記第1および第2の真正乱数をマージして
前記鍵の前記少なくとも一部を形成するステップをさらに含む請求項44に記載
の方法。
47. The method of claim 44, further comprising (ii-a) merging the first and second true random numbers to form the at least a portion of the key.
【請求項48】 前記第1および第2の電子デバイスの少なくとも1つが物
理的ランダム現象の供給源を含み、前記第1および前記第2の真正乱数の少なく
とも1つが、該物理的ランダム現象の供給源から生成される、請求項44に記載
の方法。
48. At least one of said first and second electronic devices includes a source of physical random phenomena, and at least one of said first and second true random numbers provides a source of said physical random phenomena. 46. The method of claim 44, wherein the method is generated from a source.
【請求項49】 前記物理的ランダム現象の供給源が、音響ノイズの供給源
および熱ノイズの供給源からなる群から選択される、請求項48に記載の方法。
49. The method of claim 48, wherein the source of the physical random phenomenon is selected from the group consisting of a source of acoustic noise and a source of thermal noise.
【請求項50】 前記第1および第2の電子デバイスの少なくとも1つが擬
似乱数生成器を特徴とし、該擬似乱数生成器が前記不揮発性メモリ中に格納され
た少なくとも1つのソフトウェアプログラムにしたがって前記プロセッサによっ
て動作され、該擬似乱数生成器が未定義期間実質的に連続に動作され、前記第1
および第2の真正乱数の少なくとも1つを生成する前記ステップが該擬似乱数生
成器から出力数を出力するステップを含む、請求項44に記載の方法。
50. At least one of said first and second electronic devices is characterized by a pseudo-random number generator, said pseudo-random number generator according to at least one software program stored in said non-volatile memory. The pseudo-random number generator is operated substantially continuously for an undefined period,
45. The method of claim 44, wherein generating at least one of a second and a true random number comprises outputting an output number from the pseudo-random number generator.
【請求項51】 (iv)前記第1および第2の電子デバイスにおいて少な
くとも1つの同一の擬似乱数生成器を提供するステップであって、該少なくとも
1つの擬似乱数生成器が、前記不揮発性メモリ中に格納された少なくとも1つの
ソフトウェアプログラムにしたがって前記プロセッサによって動作される、ステ
ップと、 (v)第1のポインタを用いて、前記テーブルから、得られた真正乱数を得る
ステップであって、該第1のポインタが前記鍵に実質的に同一である、ステップ
と、 (vi)該得られた真正乱数を該少なくとも1つの擬似乱数生成器にシードと
して与えるステップと、 (vii)該少なくとも1つの擬似乱数生成器から、生成された擬似乱数を得
るステップであって、該生成された擬似乱数が該第1および第2の電子デバイス
に対して同一である、ステップと、 (viii)該生成された擬似乱数を第2のポインタとして使用して該テーブ
ルから該選択された真正乱数を選択するステップとをさらに含む請求項44に記
載の方法。
51. (iv) providing at least one identical pseudo-random number generator in the first and second electronic devices, wherein the at least one pseudo-random number generator is in the non-volatile memory; Being operated by said processor according to at least one software program stored in: v) obtaining the obtained true random number from said table using a first pointer, (Vi) providing the obtained true random number as a seed to the at least one pseudorandom number generator; and (vii) providing the at least one pseudorandom number to the at least one pseudorandom number generator. Obtaining a generated pseudo-random number from a random number generator, wherein the generated pseudo-random number is stored in the first and second electronic data units; 45. The method of claim 44, further comprising: (viii) selecting the selected true random number from the table using the generated pseudorandom number as a second pointer. The described method.
【請求項52】 前記選択された真正乱数を選択する前記ステップが、 (1)前記少なくとも1つの擬似乱数生成器から第2の生成された擬似乱数を
生成するステップであって、該第2の生成された擬似乱数が前記第1および第2
の電子デバイスに対して同一である、ステップと、 (2)該第2の生成された擬似乱数と該選択された真正乱数とをマージして、
マージされた真正乱数を形成するステップであって、該マージされた真正乱数が
該選択された真正乱数である、ステップとをさらに含む請求項51に記載の方法
52. The step of selecting the selected true random number includes: (1) generating a second generated pseudo-random number from the at least one pseudo-random number generator; The generated pseudo-random numbers correspond to the first and second
(2) merging the second generated pseudo-random number with the selected true random number;
52. The method of claim 51, further comprising forming a merged true random number, wherein the merged true random number is the selected true random number.
【請求項53】 前記得られた真正乱数が前記選択された真正乱数である請
求項51のステップ(vi)〜(viii)、および前記第2のポインタが請求
項51および52のステップを繰り返すための請求項49のステップ(2)から
の該選択された真正乱数である請求項52のステップを少なくとも1度、繰り返
すステップをさらに含む請求項52に記載の方法。
53. The steps (vi) to (viii) of claim 51, wherein the obtained true random number is the selected true random number, and the second pointer repeats the steps of claims 51 and 52. 53. The method of claim 52, further comprising repeating the step of claim 52 at least once, said selected true random number from step (2) of claim 49.
【請求項54】 複数の選択された真正乱数が、請求項53のステップを少
なくとも1回繰り返すことによって得られる、請求項53に記載の方法。
54. The method of claim 53, wherein the plurality of selected true random numbers are obtained by repeating the steps of claim 53 at least once.
【請求項55】 メッセージの安全な送信のための方法であって、 (a)第1の位置において第1の電子デバイスを、および第2の位置のおいて
第2の電子デバイスを提供するステップであって、該第1および該第2の電子デ
バイスが (i)不揮発性メモリと、 (ii)プロセッサと、 (iii)該不揮発性メモリ上に格納される少なくとも1つの真正乱数テー
ブルであって、該テーブルが該第1および該第2の電子デバイスに対して同一で
ある、テーブルと、 (iv)該テーブルから真正乱数を得るための少なくとも1つのソフトウェ
アプログラムであって、該少なくとも1つのソフトウェアプログラムは該不揮発
性メモリ上に格納され、かつ該少なくとも1つのソフトウェアプログラムは該プ
ロセッサによって動作される、ソフトウェアプログラムとを有する、ステップと
、 (b)該第1の電子デバイスと該第2の電子デバイスとの間の通信のための通
信チャネルを提供するステップと、 (c)選択手順にしたがって、該第1および該第2の電子デバイスにおける該
テーブルから、選択された真正乱数を選択するステップであって、該選択手順は
該第1および該第2の電子デバイスに対して同一であり、該選択された真正乱数
は該第1および該第2の電子デバイスに対して同一である、ステップと、 (d)該第1の電子デバイスによって、該メッセージの少なくとも一部と該選
択された真正乱数とをマージ関数にしたがってマージすることによって、該メッ
セージを暗号化して暗号化されたメッセージを形成するステップと、 (e)該暗号化されたメッセージを該通信チャネル上で前記第2の電子デバイ
スに送信するステップとを含む方法。
55. A method for secure transmission of a message, comprising: (a) providing a first electronic device at a first location and a second electronic device at a second location. Wherein the first and second electronic devices are: (i) a non-volatile memory; (ii) a processor; and (iii) at least one true random number table stored on the non-volatile memory. A table, wherein the table is the same for the first and second electronic devices; and (iv) at least one software program for obtaining a true random number from the table, wherein the at least one software A program is stored on the non-volatile memory, and the at least one software program is a software program operated by the processor. (B) providing a communication channel for communication between the first electronic device and the second electronic device; and (c) following the selection procedure. Selecting a selected true random number from the table in the first and second electronic devices, wherein the selecting procedure is the same for the first and second electronic devices, The authenticity random number is the same for the first and second electronic devices; and (d) by the first electronic device, at least a portion of the message and the selected authenticity random number. Encrypting the message to form an encrypted message by merging according to a merge function; and (e) transmitting the encrypted message to the communication channel. Method comprising the steps of: transmitting to said second electronic device on Le.
【請求項56】 前記メッセージが複数のバイトに分割可能であり、かつ該
メッセージの前記少なくとも一部が該複数のバイトの1つである、請求項55に
記載の方法。
56. The method of claim 55, wherein the message is divisible into a plurality of bytes, and wherein the at least a portion of the message is one of the plurality of bytes.
【請求項57】 前記マージ関数が、前記選択された真正乱数および前記メ
ッセージの前記バイトを用いてXOR演算を実行するステップを含む、請求項5
6に記載の方法。
57. The merging function includes performing an XOR operation using the selected true random number and the bytes of the message.
7. The method according to 6.
【請求項58】 前記テーブルから前記選択された真正乱数を選択する前記
ステップが (i)前記第1の電子デバイスにおいて第1の真正乱数を生成し、かつ前記第
2の電子デバイスにおいて第2の真正乱数を生成するステップと、 (ii)前記チャネルを介して、該第1の真正乱数を該第2の電子デバイスに
送信し、かつ該第2の真正乱数を該第1の電子デバイスに送信するステップであ
って、該第1および該第2の真正乱数が前記鍵の前記少なくとも一部を形成する
、ステップとを含む、請求項55に記載の方法。
58. The step of selecting the selected true random number from the table comprises: (i) generating a first true random number at the first electronic device and a second true random number at the second electronic device. Generating a genuine random number; and (ii) transmitting the first genuine random number to the second electronic device via the channel and transmitting the second genuine random number to the first electronic device. 56. The method of claim 55, wherein the first and second authentic random numbers form the at least a portion of the key.
【請求項59】 (iii)ポインタを用いて、前記テーブルから、得られ
た真正乱数を得るステップであって、該ポインタは、実質的に前記鍵と同一であ
って、前記選択された乱数が該得られた真正乱数にしたがって選択される、ステ
ップをさらに含む請求項58に記載の方法。
59. (iii) obtaining an obtained true random number from the table using a pointer, wherein the pointer is substantially the same as the key, and the selected random number is 59. The method of claim 58, further comprising the step of selecting according to the obtained true random number.
【請求項60】 前記選択された真正乱数が前記得られた真正乱数である、
請求項59に記載の方法。
60. The selected true random number is the obtained true random number,
60. The method according to claim 59.
【請求項61】 (ii−a)前記第1および第2の真正乱数をマージして
前記鍵の前記少なくとも一部を形成するステップをさらに含む請求項58に記載
の方法。
61. The method of claim 58, further comprising: (ii-a) merging the first and second true random numbers to form the at least a portion of the key.
【請求項62】 前記第1および第2の電子デバイスの少なくとも1つが物
理的ランダム現象の供給源を含み、前記第1および前記第2の真正乱数の少なく
とも1つが、該物理的ランダム現象の供給源から生成される、請求項58に記載
の方法。
62. At least one of said first and second electronic devices includes a source of physical random phenomena, and at least one of said first and second true random numbers provides a source of said physical random phenomena. 59. The method of claim 58, wherein the method is generated from a source.
【請求項63】 前記物理的ランダム現象の供給源が、音響ノイズの供給源
および熱ノイズの供給源からなる群から選択される、請求項62に記載の方法。
63. The method of claim 62, wherein the source of the physical random phenomenon is selected from the group consisting of a source of acoustic noise and a source of thermal noise.
【請求項64】 前記第1および第2の電子デバイスの少なくとも1つが擬
似乱数生成器を特徴とし、該擬似乱数生成器が前記不揮発性メモリ中に格納され
た少なくとも1つのソフトウェアプログラムにしたがって前記プロセッサによっ
て動作され、該擬似乱数生成器が未定義期間実質的に連続に動作され、前記第1
および第2の真正乱数の少なくとも1つを生成する前記ステップが該擬似乱数生
成器から出力数を出力するステップを含む、請求項58に記載の方法。
64. At least one of said first and second electronic devices features a pseudo-random number generator, said pseudo-random number generator according to at least one software program stored in said non-volatile memory. The pseudo-random number generator is operated substantially continuously for an undefined period,
59. The method of claim 58, wherein generating at least one of a second and a true random number comprises outputting an output number from the pseudo-random number generator.
【請求項65】 (iv)前記第1および第2の電子デバイスにおいて少な
くとも1つの同一の擬似乱数生成器を提供するステップであって、該少なくとも
1つの擬似乱数生成器が、前記不揮発性メモリ中に格納された少なくとも1つの
ソフトウェアプログラムにしたがって前記プロセッサによって動作される、ステ
ップと、 (v)第1のポインタを用いて、前記テーブルから、得られた真正乱数を得る
ステップであって、該第1のポインタが前記鍵に実質的に同一である、ステップ
と、 (vi)該得られた真正乱数を該少なくとも1つの擬似乱数生成器にシードと
して与えるステップと、 (vii)該少なくとも1つの擬似乱数生成器から、生成された擬似乱数を得
るステップであって、該生成された擬似乱数が前記第1および第2の電子デバイ
スに対して同一である、ステップと、 (viii)該生成された擬似乱数を第2のポインタとして使用して該テーブ
ルから該選択された真正乱数を選択するステップとをさらに含む請求項58に記
載の方法。
65. (iv) providing at least one identical pseudo-random number generator in the first and second electronic devices, wherein the at least one pseudo-random number generator is in the non-volatile memory Being operated by said processor according to at least one software program stored in: v) obtaining the obtained true random number from said table using a first pointer, (Vi) providing the obtained true random number as a seed to the at least one pseudorandom number generator; and (vii) providing the at least one pseudorandom number to the at least one pseudorandom number generator. Obtaining a generated pseudo-random number from a random number generator, wherein the generated pseudo-random number is stored in the first and second electronic devices; 59. The method of claim 58, further comprising the steps of: being the same for the device; and (viii) selecting the selected true random number from the table using the generated pseudorandom number as a second pointer. The described method.
【請求項66】 前記選択された真正乱数を選択する前記ステップが、 (1)前記少なくとも1つの擬似乱数生成器から第2の生成された擬似乱数を
生成するステップであって、該第2の生成された擬似乱数が前記第1および第2
の電子デバイスに対して同一である、ステップと、 (2)該第2の生成された擬似乱数と該選択された真正乱数とをマージして、
マージされた真正乱数を形成するステップであって、該マージされた真正乱数が
該選択された真正乱数である、ステップとをさらに含む請求項65に記載の方法
66. The step of selecting the selected true random number comprises: (1) generating a second generated pseudo-random number from the at least one pseudo-random number generator; The generated pseudo-random numbers correspond to the first and second
(2) merging the second generated pseudo-random number with the selected true random number;
66. The method of claim 65, further comprising forming a merged true random number, wherein the merged true random number is the selected true random number.
【請求項67】 前記得られた真正乱数が前記選択された真正乱数である請
求項65のステップ(vi)〜(viii)、および前記第2のポインタが請求
項65および66のステップを繰り返すための請求項66のステップ(2)から
の該選択された真正乱数である請求項66のステップを少なくとも1度、繰り返
すステップをさらに含む請求項66に記載の方法。
67. The steps (vi) to (viii) of claim 65, wherein the obtained true random number is the selected true random number, and the second pointer repeats the steps of claims 65 and 66. 70. The method of claim 66, further comprising repeating the step of claim 66 at least once, said selected true random number from step (2) of claim 66.
【請求項68】 複数の選択された真正乱数が、請求項67のステップを少
なくとも1回繰り返すことによって得られる、請求項67に記載の方法。
68. The method of claim 67, wherein a plurality of selected true random numbers are obtained by repeating the steps of claim 67 at least once.
【請求項69】 (f)前記暗号化されたメッセージを前記第2の電子デバ
イスによって受信するステップと、 (g)該暗号化されたメッセージに対して逆関数を実行することによって該暗
号化されたメッセージを復号化して前記メッセージの前記少なくとも一部を得る
ステップであって、該逆関数が前記マージ関数の逆である、ステップとをさらに
含む、請求項68に記載の方法。
69. (f) receiving the encrypted message by the second electronic device; and (g) performing the inverse function on the encrypted message by performing an inverse function on the encrypted message. 70. The method of claim 68, further comprising: decoding the received message to obtain the at least a portion of the message, wherein the inverse function is the inverse of the merge function.
【請求項70】 前記第2の電子デバイスが識別子を有し、かつステップ(
d)が、 (i)該第2の電子デバイスの該識別子をメッセージに付与するステップと、 (ii)該識別子および該メッセージを組み合わせて組合せメッセージを形成
するステップと、 (iii)前記第1の電子デバイスによって、該組合せメッセージの少なくと
も一部と前記選択された真正乱数をマージ関数にしたがってマージすることによ
って該組合せメッセージを暗号化して、前記暗号化されたメッセージを形成する
ステップとをさらに含む、請求項55に記載の方法。
70. The second electronic device has an identifier, and the step (
d): (i) assigning the identifier of the second electronic device to a message; (ii) combining the identifier and the message to form a combined message; (iii) the first Encrypting the combination message by the electronic device by merging at least a portion of the combination message and the selected true random number according to a merge function to form the encrypted message. 56. The method according to claim 55.
【請求項71】 (f)前記第2の電子デバイスによって前記暗号化された
識別子を受信するステップと、 (g)該第2の電子デバイスによって前記暗号化されたメッセージの少なくと
も該識別子を復号化して、受信された識別子を形成するステップと、 (h)該受信された識別子と該第2電子デバイスによって格納された識別子と
を比較するステップであって、該受信された識別子が該第2の電子デバイスに格
納された該識別子と同一である場合のみに該暗号化されたメッセージの残りを復
号化する、ステップとをさらに含む請求項70に記載の方法。
71. (f) receiving the encrypted identifier by the second electronic device; and (g) decrypting at least the identifier of the message encrypted by the second electronic device. Forming a received identifier; and (h) comparing the received identifier with an identifier stored by the second electronic device, wherein the received identifier is the second identifier. Decrypting the remainder of the encrypted message only if it is the same as the identifier stored on the electronic device.
【請求項72】 前記第1の電子デバイスおよび前記第2の電子デバイスに
おいて同一である乱数テーブルにしたがって、ステップ(g)が実行される、請
求項71に記載の方法。
72. The method of claim 71, wherein step (g) is performed according to a random number table that is the same on the first electronic device and the second electronic device.
【請求項73】 電子ワンタイムパッドを生成するためのデバイスであって
、 (a)不揮発性メモリと、 (b)プロセッサと、 (c)該不揮発性メモリ上に格納された読み取り専用の真正乱数テーブルと、 (d)該テーブルから、得られた真正乱数を得るための第1のソフトウェアプ
ログラムであって、該第1のソフトウェアプログラムが該不揮発性メモリ上に格
納され、かつ該第1のソフトウェアプログラムが該プロセッサによって動作され
る、第1のソフトウェアプログラムと、 (e)鍵の少なくとも一部を受信するための入力ポートと、 (f)該得られた真正乱数および選択手順にしたがって、選択された真正乱数
を選択するための第2のソフトウェアプログラムであって、該選択された真正乱
数が電子ワンタイムパッドの少なくとも一部を形成する、第2のソフトウェアプ
ログラムと、 (g)該電子ワンタイムパッドを格納するための読み取り/書き込みメモリと
を含み、 該不揮発性メモリ、該プロセッサおよび該入力ポートが単一チップ上に配置さ
れ、かつ該チップへのアクセスが該入力ポートを介してのみ可能にされる、デバ
イス。
73. A device for generating an electronic one-time pad, comprising: (a) a non-volatile memory; (b) a processor; and (c) a read-only true random number stored on the non-volatile memory. (D) a first software program for obtaining an obtained true random number from the table, wherein the first software program is stored on the non-volatile memory, and the first software program A first software program, wherein the program is operated by the processor; (e) an input port for receiving at least a portion of a key; and (f) selected according to the obtained true random number and a selection procedure. A second software program for selecting true random numbers, wherein the selected true random numbers are stored in at least an electronic one-time pad. And (g) a read / write memory for storing the electronic one-time pad, wherein the non-volatile memory, the processor and the input port are a single chip. A device located on top and where access to the chip is enabled only through the input port.
【請求項74】 前記読み取り/書き込みメモリが前記単一チップ上に配置
される、請求項73に記載のデバイス。
74. The device of claim 73, wherein said read / write memory is located on said single chip.
【請求項75】 前記読み取り/書き込みメモリが物理的に分離する位置に
ある、請求項73に記載のデバイス。
75. The device of claim 73, wherein said read / write memory is in a physically separate location.
【請求項76】 前記第2のソフトウェアプログラムが、前記入力ポートを
介してコマンドを受信すると、前記選択された真正乱数を選択する、請求項73
に記載のデバイス。
76. The second software program, when receiving a command via the input port, selects the selected true random number.
A device as described in.
【請求項77】 前記チップ上にリセット信号を受信するためのさらなる入
力ポートをさらに含み、前記第2の電子デバイスが、該チップが該リセット信号
を受信するまで前記選択された真正乱数を選択する、請求項73に記載のデバイ
ス。
77. A further input port for receiving a reset signal on the chip, wherein the second electronic device selects the selected true random number until the chip receives the reset signal. 74. The device of claim 73.
【請求項78】 (h)生成された真正乱数を生成するための生成器であっ
て、該生成された真正乱数が前記鍵の第2の部分を形成し、該生成器が前記単一
チップ上に位置する、生成器と、 (i)出力ポートであって、該出力ポートが該単一チップ上に位置し、該鍵の
該第2の部分が該出力ポートを介して送信可能である、出力ポートとをさらに含
む請求項73に記載のデバイス。
78. A generator for generating a generated true random number, wherein the generated true random number forms a second part of the key, the generator comprising the single chip A generator located above, (i) an output port, wherein the output port is located on the single chip, and wherein the second portion of the key is transmittable via the output port. 74. The device of claim 73, further comprising: an output port.
【請求項79】 前記生成器が物理的ランダム現象の供給源を含み、前記生
成された真正乱数が該物理的ランダム現象の供給源から生成される、請求項78
に記載のデバイス。
79. The generator of claim 78, wherein the generator comprises a source of physical random phenomena, and the generated true random number is generated from the source of physical random phenomena.
A device as described in.
【請求項80】 前記物理的ランダム現象の供給源が、音響ノイズの供給源
および熱ノイズの供給源からなる群から選択される、請求項79に記載のデバイ
ス。
80. The device of claim 79, wherein the source of the physical random phenomenon is selected from the group consisting of a source of acoustic noise and a source of thermal noise.
【請求項81】 前記生成器が前記不揮発性メモリ中に格納された少なくと
も1つのソフトウェアプログラムにしたがって前記プロセッサによって動作され
る擬似乱数生成器であり、該擬似乱数生成器が未定義期間実質的に連続に動作さ
れ、該生成された真正乱数が該擬似乱数生成器から得られる、請求項78に記載
のデバイス。
81. The generator, wherein the generator is a pseudorandom number generator operated by the processor according to at least one software program stored in the non-volatile memory, wherein the pseudorandom number generator is substantially for an undefined period. 79. The device of claim 78, operated continuously, wherein the generated true random number is obtained from the pseudo-random number generator.
【請求項82】 前記入力ポートがメッセージを受信可能であり、かつ前記
電子ワンタイムパッドにしたがって該メッセージを暗号化して、暗号化メッセー
ジを形成するための少なくとも1つのソフトウェアプログラムが前記不揮発性メ
モリ上に格納され、該少なくとも1つのソフトウェアプログラムは前記プロセッ
サによって動作され、該暗号化されたメッセージは前記出力ポートを介して送信
可能である、請求項78に記載のデバイス。
82. The non-volatile memory, wherein the input port is capable of receiving a message and at least one software program for encrypting the message according to the electronic one-time pad to form an encrypted message. 79. The device of claim 78, wherein the at least one software program is operated by the processor, and wherein the encrypted message is transmittable via the output port.
【請求項83】 前記入力ポートがメッセージを受信可能であり、かつ前記
電子ワンタイムパッドにしたがって該メッセージを暗号化して、暗号化メッセー
ジを形成するための少なくとも1つのソフトウェアプログラムが、前記チップか
ら物理的に分離する位置に位置する第2の不揮発性メモリ上に格納され、該少な
くとも1つのソフトウェアプログラムは前記プロセッサによって動作され、該暗
号化されたメッセージは前記出力ポートを介して送信可能である、請求項78に
記載のデバイス。
83. The input port is capable of receiving a message, and at least one software program for encrypting the message according to the electronic one-time pad to form an encrypted message comprises a physical program from the chip. Stored on a second non-volatile memory located at a location that is substantially separated, wherein the at least one software program is operated by the processor, and the encrypted message is transmittable through the output port. 79. The device of claim 78.
【請求項84】 前記不揮発性メモリが識別子、および前記電子ワンタイム
パッドにしたがって該識別子を暗号化して、暗号化された識別子を形成するため
の少なくとも1つのソフトウェアプログラムを含み、該少なくとも1つのソフト
ウェアプログラムは前記プロセッサによって動作され、該暗号化されたメッセー
ジは前記出力ポートを介して送信可能である、請求項78に記載のデバイス。
84. The non-volatile memory includes an identifier and at least one software program for encrypting the identifier according to the electronic one-time pad to form an encrypted identifier. 79. The device of claim 78, wherein a program is run by said processor, and said encrypted message is transmittable via said output port.
【請求項85】 複数の読み取り専用の乱数テーブルが前記不揮発性メモリ
上に格納され、かつ該テーブルのうちの少なくとも1つを選択するための少なく
とも1つのソフトウェアプログラムが該不揮発性メモリ上に格納され、そして前
記プロセッサによって動作され、前記電子ワンタイムパッドは該テーブルの内の
該少なくとも1つにしたがって生成される、請求項78に記載のデバイス。
85. A plurality of read-only random number tables stored on the non-volatile memory, and at least one software program for selecting at least one of the tables is stored on the non-volatile memory. 79. The device of claim 78, operated by said processor, wherein said electronic one-time pad is generated according to said at least one of said tables.
【請求項86】 (a)請求項85に記載の第1のデバイスと、 (b)請求項85に記載の第2のデバイスとを含み、 該複数の読み取り専用の乱数テーブルのうちの少なくとも1つが該第1のデバ
イスおよび第2のデバイス上で同一であり、前記ソフトウェアプログラムが該少
なくとも1つの同一テーブルを選択することが可能である、安全な通信のための
システム。
86. (a) The first device according to claim 85, and (b) the second device according to claim 85, wherein at least one of the plurality of read-only random number tables is included. A system for secure communication, wherein one is identical on the first device and the second device, and wherein the software program is capable of selecting the at least one identical table.
【請求項87】 (a)少なくとも1つのマスター乱数テーブルを特徴とす
る中央電子デバイスと、 (b)少なくとも1つの顧客電子デバイスであって、該少なくとも1つの顧客
電子デバイスは少なくとも1つの顧客乱数テーブル、および該少なくとも1つの
マスター乱数テーブルにしたがって暗号化された対応の暗号化された顧客乱数テ
ーブルを特徴として、暗号化されたテーブルを形成し、かつ該少なくとも1つの
顧客電子デバイスは、該対応の暗号化されたテーブルを該中央電子デバイスに送
信して該中央電子デバイスと通信を開始する、少なくとも1つの顧客電子デバイ
スとを含む安全な通信のためのシステム。
87. A central electronic device characterized by (a) at least one master random number table; and (b) at least one customer electronic device, wherein said at least one customer electronic device is at least one customer random number table. , And a corresponding encrypted customer random number table encrypted according to the at least one master random number table to form an encrypted table, and the at least one customer electronic device A system for secure communication, including at least one customer electronic device, transmitting an encrypted table to the central electronic device and initiating communication with the central electronic device.
【請求項88】 前記対応の暗号化されたテーブルは、前記少なくとも1つ
の顧客電子デバイスの外部において暗号化され、そして次に該少なくとも1つの
顧客電子デバイスによって格納される、請求項87に記載のシステム。
88. The method according to claim 87, wherein the corresponding encrypted table is encrypted outside of the at least one customer electronic device and is then stored by the at least one customer electronic device. system.
【請求項89】 前記少なくとも1つの顧客電子デバイスが顧客デバイスで
あり、かつ前記中央デバイスはクレジットカード取り扱い会社デバイスである、
請求項88に記載のシステム。
89. The at least one customer electronic device is a customer device and the central device is a credit card handling company device.
90. The system of claim 88.
【請求項90】 前記少なくとも1つの顧客電子デバイスが携帯電話であり
、かつ前記中央デバイスは携帯電話会社デバイスである、請求項88に記載のシ
ステム。
90. The system of claim 88, wherein said at least one customer electronic device is a mobile phone and said central device is a mobile carrier device.
【請求項91】 前記少なくとも1つの顧客電子デバイスがテレビであり、
かつ前記中央デバイスはテレビ会社送信デバイスである、請求項88に記載のシ
ステム。
91. The at least one customer electronic device is a television,
89. The system of claim 88, wherein the central device is a television company transmitting device.
【請求項92】 実用上無制限量の真正乱数を生成する方法であって、該真
正乱数が複数の位置において同一であり、該方法がデータプロセッサによって動
作され、該方法が (a)真正乱数の同一テーブル、同一ポインタ、同一シードおよび同一擬似乱
数生成器を該複数の位置において提供するステップと、 (b)該ポインタにしたがって該真正乱数の同一テーブルから、得られた真正
乱数を得るステップであって、該得られた真正乱数が該複数の位置において同一
である、ステップと、 (c)該擬似乱数生成器によって、生成された擬似乱数を生成するステップで
あって、該生成された擬似乱数が該複数の位置において同一である、ステップと
、 (d)該得られた真正乱数および該生成された擬似乱数を組み合わせて少なく
とも1つの該量の真正乱数を形成するステップであって、該少なくとも1つの該
量の真正乱数が該複数の位置において同一である、ステップとを含む、方法。
92. A method for generating a practically unlimited amount of true random numbers, wherein the true random numbers are the same at a plurality of locations, the method is operated by a data processor, and the method comprises the steps of: Providing the same table, the same pointer, the same seed, and the same pseudo-random number generator at the plurality of positions; and (b) obtaining the obtained true random number from the same table of the true random numbers according to the pointer. And (c) generating the pseudorandom number generated by the pseudorandom number generator, wherein the pseudorandom number is the same at the plurality of positions. (D) combining the obtained true random number and the generated pseudo-random number with at least one of Of a step of forming a true random number, wherein the at least true random number of one said amount is identical at the location of the plurality of, and the step method.
【請求項93】 ステップ(a)が、前記シードを生成するためのさらなる
擬似乱数生成器を提供するステップをさらに含む、請求項92に記載の方法。
93. The method of claim 92, wherein step (a) further comprises providing a further pseudo-random number generator for generating the seed.
【請求項94】 第1の位置および第2の位置において同一の電子ワンタイ
ムパッドを生成するための方法であって、 (a)該第1の位置において第1の電子デバイスを、および該第2の位置にお
いて第2の電子デバイスを提供するステップであって、該第1および該第2の電
子デバイスが (i)不揮発性メモリと、 (ii)プロセッサと、 (iii)該不揮発性メモリ上に格納される少なくとも1つの真正乱数テー
ブルであって、該テーブルが該第1および該第2の電子デバイスに対して同一で
ある、テーブルと、 (iv)該テーブルから真正乱数を得るためのかつ擬似乱数生成器を動作さ
せるための少なくとも1つのソフトウェアプログラムであって、該ソフトウェア
プログラムは該不揮発性メモリ上に格納され、かつ該少なくとも1つのソフトウ
ェアプログラムは該プロセッサによって動作される、ソフトウェアプログラムと
を有する、ステップと、 (b)該第1の電子デバイスと該第2の電子デバイスとの間の通信のための通
信チャネルを提供するステップと、 (c)選択手順にしたがって、該第1および該第2の電子デバイスにおける該
テーブルから、選択された真正乱数を選択するステップであって、該選択手順は
該第1および該第2の電子デバイスに対して同一であり、該選択手順は該通信チ
ャネル上で該第1および該第2の電子デバイス間で鍵の少なくとも一部を交換す
るステップを含み、かつ該選択手順が (i)該テーブルから、得られた真正乱数を得、そして該得られた真正乱数
を該擬似乱数生成器のためのシードとして使用して、該選択された真正乱数を選
択する、ステップと、 (ii)該擬似乱数生成器から擬似乱数を生成し、そして該擬似乱数にした
がって該テーブルから該選択された真正乱数を選択するステップと、 (iii)該擬似乱数生成器から擬似乱数を生成し、該テーブルから、得ら
れた真正乱数を得、そして該得られた真正乱数と該擬似乱数とをマージすること
によって、該選択された真正乱数を選択するステップと、 (iv)実質的にランダムな時点で該擬似乱数生成器のシードを変更し、そ
して該擬似乱数生成器の出力にしたがって該選択された真正乱数を選択するステ
ップとからなる群から選択される少なくとも1つのステップを含み、 該選択された真正乱数が該第1および該第2の電子デバイスに対して同一である
、ステップと、 (d)該選択された真正乱数を用いて、該第1および該第2の位置において、
該同一の電子ワンタイムパッドの少なくとも一部を形成するステップとを含む方
法。
94. A method for generating an identical electronic one-time pad at a first location and a second location, comprising: (a) providing a first electronic device at the first location; and Providing a second electronic device at two locations, wherein the first and second electronic devices comprise: (i) a non-volatile memory; (ii) a processor; and (iii) on the non-volatile memory. At least one true random number table stored in the table, wherein the table is the same for the first and second electronic devices; and (iv) obtaining a true random number from the table; At least one software program for operating a pseudo-random number generator, wherein the software program is stored on the non-volatile memory; (B) providing a communication channel for communication between the first electronic device and the second electronic device. (C) selecting a selected true random number from the tables in the first and second electronic devices according to a selection procedure, wherein the selection procedure includes the first and the second Being the same for an electronic device, the selecting procedure includes exchanging at least a portion of a key between the first and second electronic devices over the communication channel, and the selecting procedure comprises: (i) From the table, obtain the obtained true random number, and use the obtained true random number as a seed for the pseudorandom number generator to obtain the selected true random number. (Ii) generating a pseudo-random number from the pseudo-random number generator, and selecting the selected true random number from the table according to the pseudo-random number; (iii) the pseudo-random number generator Generating a pseudorandom number from the table, obtaining the obtained true random number from the table, and selecting the selected true random number by merging the obtained true random number and the pseudorandom number; iv) changing the seed of the pseudo-random number generator at a substantially random point in time and selecting the selected true random number according to the output of the pseudo-random number generator. (D) using the selected true random number, wherein the selected true random number is the same for the first and second electronic devices. Te, in the first position and the second,
Forming at least a portion of the same electronic one-time pad.
JP2000616599A 1998-06-24 1999-06-23 Systems, devices and methods for secure communication and access control Withdrawn JP2002544690A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US09/104,014 1998-06-24
US09/104,014 US6445794B1 (en) 1998-06-24 1998-06-24 System and method for synchronizing one time pad encryption keys for secure communication and access control
US09/309,873 US6266413B1 (en) 1998-06-24 1999-05-11 System and method for synchronizing one time pad encryption keys for secure communication and access control
US09/309,873 1999-05-11
PCT/US1999/014224 WO2000067548A2 (en) 1998-06-24 1999-06-23 One-time pad synchronization for secure communications and access control

Publications (1)

Publication Number Publication Date
JP2002544690A true JP2002544690A (en) 2002-12-24

Family

ID=26801105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000616599A Withdrawn JP2002544690A (en) 1998-06-24 1999-06-23 Systems, devices and methods for secure communication and access control

Country Status (5)

Country Link
EP (1) EP1166491A2 (en)
JP (1) JP2002544690A (en)
AU (1) AU6887800A (en)
CA (1) CA2347659A1 (en)
WO (1) WO2000067548A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008542944A (en) * 2005-06-07 2008-11-27 エヌエックスピー ビー ヴィ RFID communication method and apparatus with improved safety
JP2019192220A (en) * 2018-04-18 2019-10-31 力旺電子股▲ふん▼有限公司eMemory Technology Inc. Puf-based true random number generation system
JP2023546302A (en) * 2020-08-11 2023-11-02 クリプト,インコーポレイテッド Generating a unique cryptographic key from a pool of random elements

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959184B1 (en) * 1999-06-30 2005-10-25 Lucent Technologies Inc. Method for determining the security status of transmissions in a telecommunications network
DE10022014A1 (en) * 2000-05-05 2001-11-08 Kryptografics Gmbh Method and device for ensuring confidentiality and security against eavesdropping in communication between computer networks
IL144369A (en) 2001-07-17 2009-06-15 Eli Yanovsky Secure communication system and method using shared random source for key changing
EP1540877A4 (en) * 2002-07-16 2008-01-30 King Green Ltd Secure communication system and method using shared random source for key changing
DE102008042406B4 (en) 2008-09-26 2010-10-07 Compugroup Holding Ag Process for the secure exchange of data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4630201A (en) * 1984-02-14 1986-12-16 International Security Note & Computer Corporation On-line and off-line transaction security system using a code generated from a transaction parameter and a random number
US5293576A (en) * 1991-11-21 1994-03-08 Motorola, Inc. Command authentication process
JP2942913B2 (en) * 1993-06-10 1999-08-30 ケイディディ株式会社 Remote party authentication / encryption key distribution method
US5533128A (en) * 1995-01-18 1996-07-02 Vobach; Arnold Pseudo-random transposition cipher system and method
JPH0918357A (en) * 1995-06-30 1997-01-17 Sony Corp Data shuffling method and apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008542944A (en) * 2005-06-07 2008-11-27 エヌエックスピー ビー ヴィ RFID communication method and apparatus with improved safety
JP2019192220A (en) * 2018-04-18 2019-10-31 力旺電子股▲ふん▼有限公司eMemory Technology Inc. Puf-based true random number generation system
US11055065B2 (en) 2018-04-18 2021-07-06 Ememory Technology Inc. PUF-based true random number generation system
JP2023546302A (en) * 2020-08-11 2023-11-02 クリプト,インコーポレイテッド Generating a unique cryptographic key from a pool of random elements
JP7688582B2 (en) 2020-08-11 2025-06-04 クリプト,インコーポレイテッド Generating unique cryptographic keys from a pool of random elements

Also Published As

Publication number Publication date
CA2347659A1 (en) 2000-11-16
AU6887800A (en) 2000-11-21
WO2000067548A3 (en) 2001-08-09
WO2000067548A2 (en) 2000-11-16
EP1166491A2 (en) 2002-01-02

Similar Documents

Publication Publication Date Title
US6266413B1 (en) System and method for synchronizing one time pad encryption keys for secure communication and access control
US6073237A (en) Tamper resistant method and apparatus
US6160891A (en) Methods and apparatus for recovering keys
US6266420B1 (en) Method and apparatus for secure group communications
US6246771B1 (en) Session key recovery system and method
US6549626B1 (en) Method and apparatus for encoding keys
US6230269B1 (en) Distributed authentication system and method
US5642420A (en) Cryptoinformation repeater, subscriber terminal connected thereto, and cryptocommunication method
US7502467B2 (en) System and method for authentication seed distribution
US6950523B1 (en) Secure storage of private keys
US6018583A (en) Secure computer network
CN1327662A (en) Method and device for securely distributing public/secret key pairs
WO1998045975A9 (en) Bilateral authentication and information encryption token system and method
EP0858700A2 (en) Unified end-to-end security methods and systems for operating on insecure networks
JP3145116B2 (en) Access control and / or identification method and device
US7617402B2 (en) Copyright protection system, encryption device, decryption device and recording medium
US10762235B2 (en) Methods, systems, and media for storing and retrieving data from distributed vaults
US8176313B2 (en) Executable software security system
EP0912011A2 (en) Method and apparatus for encoding and recovering keys
EP0843439A2 (en) Data encryption technique
JP2002544690A (en) Systems, devices and methods for secure communication and access control
JPH04247737A (en) Enciphering device
AU753951B2 (en) Voice and data encryption method using a cryptographic key split combiner
US20100293390A1 (en) Secure movie download
JP3549657B2 (en) Private key retention management method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060905