JP3675494B2 - Method and apparatus for authenticating at least one identification device by means of a confirmation device - Google Patents

Method and apparatus for authenticating at least one identification device by means of a confirmation device Download PDF

Info

Publication number
JP3675494B2
JP3675494B2 JP01129694A JP1129694A JP3675494B2 JP 3675494 B2 JP3675494 B2 JP 3675494B2 JP 01129694 A JP01129694 A JP 01129694A JP 1129694 A JP1129694 A JP 1129694A JP 3675494 B2 JP3675494 B2 JP 3675494B2
Authority
JP
Japan
Prior art keywords
xor
vector
identification device
confirmation
confirmation device
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.)
Expired - Fee Related
Application number
JP01129694A
Other languages
Japanese (ja)
Other versions
JPH06348202A (en
Inventor
スターン ジャック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jacques Stern
Original Assignee
Jacques Stern
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
Application filed by Jacques Stern filed Critical Jacques Stern
Publication of JPH06348202A publication Critical patent/JPH06348202A/en
Application granted granted Critical
Publication of JP3675494B2 publication Critical patent/JP3675494B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)
  • Coin-Freed Apparatuses For Hiring Articles (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

【0001】
【産業上の利用分野】
本発明は確認装置によって少なくとも1つの識別装置を認証(authentifier)する方法に関するものであり、特にシンドロームによるデコード化 (decodage par syndrome)の問題に基づいて解読を無効にするプロトコル(protocole a apport nul de connaissance)で行われる認証方法に関するものである。本発明は、さらに、上記方法を実施するための識別装置および確認装置にも関するものである。
本発明は特に安全性が疑わしいチャネルを介して2つの装置間でデータを交換する場合いわゆるセキュリティー(安全)通信に適用される。
【0002】
【従来の技術】
セキュリティー通信では相互認識手段すなわち確認装置にユーザを認証させてユーザがデータまたはサービスにアクセスできるようにする手段が必要である。セキュリティー通信の必要は多数あり、特に、銀行のコンピュータで命令を転送する場合等を挙げることができる。この場合には、2つのコンピュータは正しく通信でき且つ不正者とは通信しないということが確実でなければならない。この他に、切符の自動販売機、有料テレビのデコーダー、カード公衆電話等を挙げることができる。これらのシステムでは識別装置がチップカード(ICカードともいう)や電子キー等の携帯装置で構成され、販売機やデコーダに収容された確認装置でチップカードや電子キーのような各種のアクセス手段の有効性を管理しなければならない。
【0003】
こうした場合に多く用いられる方法は秘密キーを用いた暗号化法を基礎とした認証方法であり、これまではこの方法が最も容易に実行できる方法であった。この方法では、チップカード等の識別装置と確認装置(例えば、端末装置、カード読取機、デコーダー、カード公衆電話等)とが同じ秘密キーを持ち、対称的アルゴリズムすなわち1方向機能によって識別が行われる。この方法の欠点は両者すなわち確認装置と識別装置とが互いに秘密を共有しなければならず、しかも、この条件が常に確認されていない点にある。すなわち、同じ秘密キーがネットワークの両方の端末すなわち確認装置と識別装置とに存在するため、海賊行為者が確認装置を購入してそれを分析すれば、確認装置の内部構造は知ることができるので、分析結果に基づいて海賊行為者が高性能な識別装置を作ることが技術的に可能であるという欠点がある。
【0004】
従来法のこの欠点から保護するための種々の方法の中で、解読を無効にするプロトコルが今日までのところより高い安全性を保証している。この解読を無効にするプロトコルの機能上の特徴は、限定された回数だけ識別装置と相互に情報交換し且つ確認装置の構造を完全に分析しただけでは識別装置を再構成することはできないという点にある。この解読を無効にするプロトコルはフィアット(FIAT)の米国特許第 4,748,668号やギロー(GUILLOU) 達の欧州特許出願第A-0,311,470 号等に記載されている。
しかし、この解読を無効にするプロトコルは識別問題の理想的な解決方法ではあるが、大きな欠点もある。すなわち、この方法を行うためには極めて多くの演算が必要であるためエレクトロニクス的には実施が難しい。
【0005】
そのために、エレクトロニクス的に容易に実施可能な識別方法を開発する試みが種々行われてきた。その1つの方法がシャミール(SHAMIR)の米国特許第4,932,056 号に記載されている。この特許に記載の方法はPKP法として呼ばれ、多数の数を扱う他のアルゴリズムに比べれば、エレクトロニクス的に比較的容易に実行できる。しかし、確認装置と識別装置間との間の交換速度が遅いという欠点がある。
【0006】
【発明が解決しようとする課題】
本発明の目的は上記欠点を解消したエレクトロニクス的に容易に実行可能な確認装置による識別装置の迅速な認証方法を提供することにある。
【0007】
【課題を解決するための手段】
本発明は「モジュラーナップザック(Modular Knapsack)」として知られた問題すなわちシンドロームによるデコード化の問題に基づく解読を無効にするプロトコルによって認証を実施する、確認装置によって少なくとも1つの識別装置を認証する認証方法を提供する。
本発明の認証方法の特徴は下記段階にある:
(1)識別装置と確認装置との間の対話を可能にするための、サイズがnでハミング重み(poids de Hamming)がd(d<n)である少なくとも1つのベクトルsで構成された秘密キーと、係数がランダムに選択されるサイズn×kのマトリックスMとK=Ms等の少なくとも1つのベクトルKとで構成されるパブリックキーとを設定し、
(2)識別装置側で、サイズがnのランダムなベクトルyとランダムな順列(une permutation)pとを生成し、y、p、s、Mの関数パラメータに暗号ハッシュ関数(une fonction de hachage)Hを適用して、得られたコミットメント(engagement)を確認装置へ送り、
(3)確認装置が取って識別装置へ送った任意の数の関数で、sを明らかにしないでy、p、siのある関数要素を識別装置で明らかにし、
(4)受けた要素とパブリックキーとを用いて確認装置側で上記の数の関数でコミットメントが正確であることをテストし、
(5)所望の安全レベルに応じた回数で上記の動作を反復する。この安全レベルは回数と共に指数的に大きくなる。
【0008】
【作用】
上記認証方法ではサイズn×kのマトリックスMを用いる。このマトリックスMは全てのユーザに共通でランダムに構成される。各ユーザは予め書き込まれた数dの1でnビットのワードの秘密キーを受ける。この場合、システムはパブリックキーKを例えばK=MSのように計算する。
あるいは、各ユーザに複数の秘密キーs[1],・・・, s[w] を与え、この各々にパブリックキーK[i] =Ms[i]を組み合せることもできる。これらのベクトルs[1], ・・・, s[w]は展開した単位コードを形成するのが好ましい。
【0009】
上記の識別方法は原理的にコミットメント法(technique d’ engagement)の概念に基づいている。今、Uを2進数要素のシーケンスとすると、Uに対するコミットメントは一定の暗号ハッシュ関数を介したUの画像である。このコミットメントは一方向関数として使用される。
【0010】
本発明認証方法の第1実施例では、第1段階で、
(a) 各プロセスに共通して、識別装置がその識別子および/またはこの識別子がベルトルKi に対応することを確認する確認装置に割り当てられた1つまたは複数のキーを明らかにする。
次いで、ランダムなベクトルyとランダムな順列pとを選択した後に、
(b) 識別装置が下記:
1 =H (p、My)、h2 =H (yp ) 、h3 =H(y xor s)p )
を計算して確認装置へ順列{h1 、h2 、h3 }を送る。
(ここで、xp はpで置換されたベクトルxを表し、xorは排他OR関数を表す)
(c) 次いで、確認装置がランダムに0<q<4の数を取り、この数を識別装置へ送る。
(d) そして、識別装置が下記で定義される応答rを計算し、確認装置へ送る:
q=1ならば、r={y、p}
q=2ならば、r={y xor s、p}
q=3ならば、r={yp 、sp
(e) 確認装置はr={U、V}を受けて下記であることを調べる:
q=1ならば、h1 =H(V、MU)で、h2 =H(Uv )
q=2ならば、h1 =H(V、(MU)xor K)で、h3 =H(Uv )
q=3ならば、h2 =H(U)、h3 =H(U xorV)且つVのハミング重み(poids de Hamming)がdである。
(f) このqに対応するテストが正しいこと確認された時に、確認装置がプロトコ
ルは成功裏に終了したと見なす。
【0011】
本発明の別の実施例では、ベクトルsがw個のベクトルs[1],s[2],・・・s[W]で置換されて、重みdの単体コードを形成する。この実施例では、ランダムなベクトルyとランダムな順列pとを選択した後に、
(b)識別装置がh=H(M,p)、h=H(y,s[1],・・・,s[w])を計算して、コミットメント{h、h}を識別装置へ送る。
(c)確認装置はランダムに2進数ベクトルb[1]、・・・、b[w]を取ってそれを識別装置に送る。
(d)識別装置は下記の式で定義される応答zを計算して確認装置へ送る:
z=y xor r s[1]b[1] xor s[2]b[2] xor s[3]b[3]・・xor s[w]b[w]
(e)確認装置はビットqをランダムに取って識別装置に送る。
(f)識別装置は下記の式で定義される回答rを送る:
q=0ならば、r={y、s[1],・・・,s[w]
q=1ならば、r={p}
(g)確認装置はq=0ならば、応答r={r[0]、r[1],・・・,r[w]}を受け、
q=1ならばr={r[0]}を受ける。
(h)確認装置は下記のことを調べる:
q=0ならば、h=H(r)、z=r[0] xor r[1]b[1]xor r[2]b[2] xor r[3]b[3]・・・xor r [w]b[w]で、{r[1],r[2],・・・r[w]}は単体コードを形成。
q=1ならば、H(M(順列(z,r[0])) xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xor K[w]b[w])、r[0])=h
(ここで、K[i]=Ms[i])
(i)qに対応するテストが正確であることが明らかな時に、確認装置はプロトコルが成功裏に終了したとみなす。
本発明の上記以外の利点は添付図面を参照した以下の本発明方法の各種実施例から明らかになろう。
【0012】
【実施例】
本発明は、解読を無効にするプロトコルによって実施される新規な認証方法に関するものである。
本発明方法の安全性はシンドロームによるデコード(DS)の問題に基づくものである。シンドロームによるデコード(DS)の問題は以下のように説明できよう。すなわち、2進数マトリックスMの場合でも、2進数ベクトルKの場合でも、Ms=Kのように重みsが比較的大きいか、小さい2進数ベクトルsを見つけることである。重みとはそのベクトル中の1のビット数を意味する。この問題はマトリックスMのサイズとsのハミング重み(poid de Hamming) dとを正しく選択すると、現在公知の計算手段で解くのは極めて難しい。シンドロームによるデコート化の問題を解決するための公知のアルゴリズム、例えば、レオン(J. S. Leon)の論文「大きなエラー補正コードの最小重みを計算するための確率アルゴリズム (A probabilistic algorithm for computing minimum weights of large error-correcting codes) 」(IEEE TIT 34(5) 第1354〜1359頁) やスターン(J. Stern)の論文「小さい重みのコードワードを見つける方法 (A method for finding codewords of small weight) 」 (Coding Theory & Applications, notes de lecture en Computer Science 388(1989) 、第 106〜113 頁) に記載のアルゴリズムは、計算時間がマトリックスのサイズに比例して指数関数的に長くなる。
【0013】
実際の計算手段では、Mのサイズが約 500×250 となり、dの値が50に近くなると、sを計算することができない。しかし、s(偶然ではあるが、正しい重みが付いた)がわかると、Kは計算することができる。
本発明では、この1方向特性を使用して、Kを知っている確認装置が相互作用中にその値を知らせずに識別装置がsを有しているか否かをテストすることができる。
【0014】
本発明の認証方法を実施する際には、正当権限者(autorite、アクセスが許された正当な使用者)が係数aijで構成されたマトリックスMをランダムに選択して公表(ubliier) する。実際には、マトリックスM全体を記憶するのを避けるために、f(i、j)によって各係数aijを生成させることができる(ここで、fは公表された任意の擬似ランダム関数である)。
また、正当権限者はハミング重みが比較的小さい2進数ベクトルの組sj すなわちs1,s2,・・・, sn を選択して、それを各識別装置に配分する。従って、識別装置iはsi を受ける。一方、パブリックキーKi (但し、Ki =Msi )を公表する。
【0015】
別の実施例では正当権限者がKi に署名を付けて、パブリックキーを有効化するめには正当権限者との相互通信を必要とする閉じた暗証システムを構成する秘密キーsi の保持者の同定システムを用いる。
以下、本発明方法の特殊な2つの実施態様を説明する。
【0016】
第1の方法を図1を参照して説明する。
図1は認証のために識別装置と確認装置との間で実行される通信プロトコルの概念図である。識別装置は例えばチップカードや電子キーで構成される物理的に侵入不可能なものである。チップカードの場合には内部メモリにアクセスすることは不可能であるが、確認装置の環境に関しては何も仮定していない。
図3、図4に概念的に示した識別装置および確認装置では、識別装置が不揮発性メモリ内にその秘密キーsとマトリックスMとを有している。同様に、確認装置は不揮発性メモリ内にパブリックキーの組KとマトリックスMとを有している。
識別装置が確認装置とコンタクトをとる場合に2つの装置が実行するプロトコルは下記の通りである:
(a)先ず、識別装置はその識別子および/またはそのキーKを確認装置に提示して、その識別子がベクトルKに対応することを確認する。
(b)次に、識別装置はランダムな2進数ベクトルyとランダムな順列pとを選択する。次いで、識別装置は下記要素:
=H(p、My)、h=H(y)、h=H(y xor s))を計算し、確認装置にコミットメント{h、h、h}を送る。
(ここで、xはpで順列化されたベクトルxを示し、xorは排他的ORを表す)
(c)次に、確認装置はランダムな数0<q<4を取って、その数を識別装置へ送る。
(d)次に、識別装置は下記で定義される回答を計算して確認装置へ送る:
q=1ならば、r={y、p}
q=2ならば、r={y xor s,p}
q=3ならば、r={y、s
(e)確認装置はr={U、V}を受けて下記をテストする:
q=1ならば、h=H(V、MU)かつh=H(U
q=2ならば、h=H(V、(MU)xor K)かつh=H(U
q=3ならば、h=H(U)、h=H(U xor V)かつVのハミング重みがdである。
(f)qに対応するテストが正解な場合には、確認装置はプロトコルを成功裏に終了する。テストが正解でない場合には識別装置は拒絶される。
識別装置が受入れられた時には、保護システムの入力/出力インターフェースに制御インパルスが送られてその後のトランザクションが開始される。上記の各操作全体は図1に示されており、その左側部分は識別装置側で実施された各操作であり、右側部分は確認装置側で実施された各操作である。矢印は一方の装置から他方の装置へ情報が送られることを示している。
【0017】
上記プロセスの安全性を大きくするためには、識別装置と確認装置の2つの装置が上記の段階を複数回すなわちt回繰り返して、全ての回数でプロトコルが成功した時のみしか確認装置が識別装置を認証しないようにするのが好ましい。好ましくは0<t<60のようなtを選択する。
【0018】
上記の基本的方法は、エレクトロニクス的に実行を単純化したり、計算時間を短くするために種々変更することができる。すなわち、ベクトルMyをキーで転送し、対応するテストを変更してH=H(p)を再定義することができる。別の実施例では、確認装置および/または識別装置がベクトル座標の二次的な組に部分的なテストを実施してより迅速に計算を実施する。これらの場合に、プロセス上の幾つかの段階を下記のように変更する:
すなわち、ランダムなベクトルyとランダムな順列pとを選択した後に、
(b)識別装置が下記式:
=H(p)、h=H(y)、h=H(y xor s)
を計算し、確認装置にコミットメント{h、h、h}を送り、
(c)次に、確認装置は互いに分離した数のリストG={g、・・・g}(但し、1<g<k)をランダムに取ってそれを識別装置へ送り、
(d)識別装置は、置換がGによって示されたMyのfビットだけを計算し、得られたベクトルZを確認装置へ送る。
【0019】
この場合、段階(e) も下記のように変更される:
(e) 確認装置はr={U、V}を受けて下記のように制御する:
q=1ならば、h1 =H(V)、h2 =H(Uv ) かつエキス(Extrait)(MU、G) xor Z=0 (ここで、エキス (MU、G)はx中でGによって表されたビットだけを選択することによって、得られた射影ベクトルを表す)、
q=2ならば、h1 =H(V)、h3 =H(Uv ) かつエキス (MU xorK、G) xor Z=0、
q=3ならば、h2 =H(U)、h3 ==H(U xor V)かつVのハミング重みはdである。
【0020】
本発明の方法の別の実施例では(b)段階を下記のように変更する:
(b)ランダムなベクトルyとランダムな順列pとを選択した後に、識別装置は下記式:
=H(p)、h=H(y)、h=H(y xor s))を計算し、確認装置にコミットメント{h、h、h}を送り、
(c)識別装置はQ=Mを計算し、得られたベクトルQを確認装置に送り、(d)確認装置は互いに分離した数のリストG={g、・・・g}(ここで、1<g<k)をランダムに取ってベクトルZ=エキス(Q、G)を計算する。
この場案には段階(e)を下記のように変更する:
(e)確認装置はr={U、V}を受けて下記のように制御する:
q=1ならば、h=H(V)、h=H(U)かつエキス(MU、G) xor Z=0)、
q=2ならば、h=H(V)、h=H(U)かつエキス(MU xor K、G) xor Z=0、
q=3ならば、h=H(U)、h==H(U xor V)かつVのハミング重みはdである。
【0021】
次に、本発明の認証方法の別の実施例を図2を参照して説明する。この第2の実施例は上記の実施例より多くの計算を必要とするが、不法者の成功の確率はより急速に減少する。この場合には、ベクトルsは拡張された単体コードを形成するベクトルs[1],・・・s[w]の組に代える。また、ベクトルKはM(s[i])=K[i]のようなベクトルK[1],・・・K[w]の組に代える。
この実施例は図1で使用した記号と同様な記号で示した図2の下記の段階を有している:
(a)識別装置がランダムなベクトルyとランダムな順列pとを選択した後に、
=H(My、p)、h=H(y、s[1],・・・,s[w])を計算して確認装置へコミットメント{h、h}を送り、
(b)確認装置はランダムに2進数ベクトルb[1],・・・,b[w]を取って識別装置へそれを送り、
(c)識別装置は下記の式で定義される応答zを計算して確認装置へ送る:
z=y xor s[1]b[1] xor s[2]b[2] xor s[3]b[3]・・・xor s[w]b[w]
(d)確認装置はビットqをランダムに取って識別装置へ送り、
(e)識別装置は下記の式で定義される応答rを送る:
q=0ならば、r={y、s[1],・・・,s[w]
q=1ならば、r={p}
(f)確認装置は、q=0ならば応答r={r[0]、r[1]、・・・、r[w]}を受け、q=1ならばr={r[0]}を受ける、
(g)確認装置は下記のテストを行う:
q=0ならば、h=H(r)、z=r[0] xor r[1]b[1] xor r[2]b[2] xor r[3]b[3]・・・xor r[w]b[w]かつ{r[1]、r[2]、・・・r[w]}が単体コードを形成する、
q=1ならば、H(M(順列(z、r[0])) xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xor K[w]b[w]、r[0])=h
(h)qに対応するテストが正確であることが分かった時に、確認装置はプロ
トコルが成功裏に終了したとみなす。
【0022】
この方法はベクトルzの脱順列(de:ermutation)を避けるために、上記のようなベクトルの座標の二次的な組について単純化された確認を実施するように変更することができる。この場合には例えば下記の段階を有する:
(a)識別装置はランダムなベクトルyとランダムな順列pとを選択した後に、h=H(p)、h=H(y、s[1],・・・,s[w])を計算し、確認装置にコミットメント{h、h}とベクトルh=Mを送り、
(b)確認装置はランダムに2進数ベクトルb[1],・・・,b[w]を取って識別装置にそれを送り、
(c)識別装置は下記の式で定義される応答zを計算して確認装置へ送る:
z=y xor s[1]b[1] xor s[2]b[2] xor s[3]b[3]・・・xor s[w]b[w]
(d)確認装置はビットqをランダムに取って識別装置へ送り、
(e)識別装置は下記の式で定義される応答rを送る:
q=0ならば、r={y、s[1]、・・・、s[w]
q=1ならば、r={p}
(f)確認装置は、q=0ならば応答r={r[0]、r[1]、・・・、r[w]}を受け、q=1ならばr={r[0]}を受ける、
(g)確認装置は下記をテストする:
q=0ならば、h=H(r)、z=r[0] xor r[1]b[1] xor r[2]b[2] xor r[3]b[3]・・・xor r[w]b[w]かつ{r[1]、r[2]、・・・、r[w]}は単体コードを形成する。
q=1ならば、h=H(r[0])かつ(h)r[0] xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xor K[w]b[w])r[0]=z
対応するテストが正確であることが分かった時に、確認装置はプロトコルが成功裏に終了したとみなす。
第1の実施例の場合と同様に、上記のプロトコルもt回繰り返してプロトコルの全回が成功した時にのみ確認装置が識別装置を認証することもできる。
【0023】
また、上記2つの方法の安全性は各種パラメータ、特にd、n、k及びtのサイズに依存する。互いに交信する2つの装置のレベルで作動中にtの選択を容易に変更できるということは当業者には明らかである。パラメータd、n及びkはシステムパラメータであり、これらの選択は最初に決定されており、変更は困難である。
これらのパラメータd、n、kは、ランダムなコード(n、K)の最小重みに対して理論限界値を与えるワルシャモフ−ギルバート(Warshamov-Gilbert) 限界で選択するのが好ましい。すなわち、d=nH2 (k/n)(ここで、H2(x)はエントロピー関数H2 (x)=−x log2 (x)−(1−x)log2(1−x)である) 。この場合、dは下記のように選択する:
d=(k−n)log2(1−(k/n))−klog2(k/n)または
d=(n−(k−n)log2(1−(k/n))+klog2(k/n)
【0024】
また、ワルシャモフ−ギルバート限界の制限下ではnとkとの値を結ぶ2k=nのような関係式を加えるのが便利である。
上記の関係式、好ましくは、d=0.11nまたはd=0.89nを用いると、nとkの組は下記の値の1つをとることができる:
{n=384 、k=196 }または{n=512 、k=256 }または{n=1024、k=512 }または{n=768 、k=384 }
【0025】
上記の全ての方法で使用できる変形実施例では、暗号ハッシュ関数を暗号化関数(fonction de chiffrement)に代えて、ハッシュされるメッセージ(message a hacher)がキーおよび/または暗号化すべきメッセージの役割を果たし且つハッシュされたメッセージの真実性の制御がハッシュされたメッセージおよび/または暗号化キーを明らかにする。この問題に関しては下記刊行物を参照することができる:
(1)ヴァン ダムガード(Ivan Damgaard)、クリプト(Crypto)’89『ハッシュ関数の設計原理(Design principles forhash−functions)』
(2)ナオール(Naor)達の『1方向ハッシュ関数とその暗号への応用(One−way hash functions and their cryptographic applications)』(Proceedings of the 21st annual ACM symposium on theory of computing、Seattle、Washington、May15〜17、1989、33〜43頁)
(3)マティアス(Matyas)の『暗号法アルゴリズムを用いた強い1方向関数の生成(Generating strong one−way functions with cryptographic algorithm)』(IBM Technical disclosure bulletin、第27巻、第10A号、1985年3月、5685〜5695頁)。
【0026】
「モジュラーナップザック(Modular Knapsack)」を基礎とする方法の場合のベクトルyの選択と全ての計算はモジュロ(modulo)mで実施され、xor演算はモジュロmの加算または減算で置換される。重みのテストは、ベクトルの全座標が0であるか1であるかの確認と、このベクトルの重みが一定であることの確認で置換され、n、k及びmの間の関係式はn−kIn(m)/In2かつn−k>64である。従って、mは数2、3、5、7または2c (ここで、cは小さい整数である)の中から選択され、組{n、k、m}は下記の1つをとることができる:
{196 、128 、3}または{384 、256 、3 }または{128 、64、5 }または{192 、96、5 }
【0027】
大抵の場合、識別装置の保持者の識別子IDからsを演繹する手段を有することが重要である。それによって、例えば確認装置でのパブリックキーKのバックアップを防ぎ、新しいユーザがシステムに参加してパブリックキーの辞書を変えるのを防ぐことができる。
このために、正当権限者は全ての共通パラメータに対して一度に拡張した単体コードσ、・・・、σを選択する。
識別子がIDであるユーザを記録するには、パプリックの1方向関数(例えばハッシュ関数)によってIDの値をハッシュし、2進数ベクトルe・・・eを作って、下記〔式2〕を計算する:
【0028】
【式2】

Figure 0003675494
【0029】
1 =M(σ1 )、・・・、Ku =M(σ)u を公表し、ユーザIDにSIDを与える。
確認装置は下記〔式3〕を計算して識別装置がsIDを有することを確認することができる:
【0030】
【式3】
Figure 0003675494
(ここで、ベクトルe、・・・、eはIDのハッシュによって与えられる)
【0031】
十分な安全度に達するには、u>40であることが不可欠であり、そのためには経験的にかなり大きなサイズの単体コードが必要である。実際には、サイズの小さいL個の単体コードの組(例えばd=64、dim=7、n=580 、k=290,L=8)を選択し、各ユーザに対して下記のようにして得られたL個の秘密キーs[1] ID、s[2] ID、・・・、s[L] IDを計算することによって、適切なサイズにすることが容易にできる。
全ての単体コードLについて一度にサイズdim を選択し、
σ[1]1、・・・σ[1] dim
σ[2]1、・・・σ[2] dim
σ[L]1、・・・σ[L] dim
各識別装置でパブリックキーの完全な組K[i] j =M(σ[i] j )を与える (ここで、i=1、・・・L、j=1、・・・dim)
【0032】
各ユーザに対して、
(1) H(ID)=e1 、・・・eu を計算し、
(2) ベクトルを各々dimビットのL個のセグメントe[1] 、・・・e[L] に分割し、
(3) i=1〜Lに対して下記〔式4〕を計算する
【0033】
【式4】
Figure 0003675494
【0034】
(4) ユーザにs[1]ID、s[2]ID、・・・、s[I]IDを与える。
【0035】
各s[i]IDは、下記プロトコルに示すように、直列(s[i]IDを順番に連続して使用する)または並行で使用する:
(a)識別装置は確認装置にその識別子IDを明らかにし、
(b)確認装置はK[1]ID、K[2]ID、・・・K[L]IDを計算し、
(c)識別装置はL個のベクトルy[1]、・・・y[L]とL個の順列p[1]、・・p[L]を選択し、h=H〔{p[1]},{My[i]}〕、
=H({y[i]p[i]})、h=H〔{y[i] xor s[i]p[i]})を計算して確認装置へコミットメント{h、h、h}を送り、
(d)確認装置はランダムな数0<q<4を取って識別装置にそれを送り、
(e)識別装置は下記で定義される応答rを確認装置に送る:
q=1ならば、r={{y[i]}、{p[i]}}
q=2ならば、r={{y[i]xor s[i]}、{p[i]}}
q=3ならば、r={{y[i]p[i]}、{s[i]p[i]}}
(f)確認装置はr={U、V}を受けて下記をテストする:
q=1ならば、h=H〔{V[i]}、{MU[i]}〕かつ
=H({U[i]V[i]})
q=2ならば、h=H〔{V[i]}、{MU[i] xor K[i]})かつh3=H({U[i]v[i]})
q=3ならば、h=H({U[i]}、h=H({U[i] xor V[i]})で且つV[i]の重みはdである
(g)qに対応するテストが正確であることが分かった時に、確認装置はプロトコルが成功裏に終了したとみなす。
(h)両者の装置の間で上記(a)〜(f)の段階をt回反復する。
【0036】
並行の場合のプロトコルは下記の通り:
(a)識別装置は確認装置にその識別子IDを明らかにし、
(b)確認装置はK[1]ID、K[2]ID、・・・K[L]IDを計算し、
(c)識別装置はL個のベクトルy[1]、・・・y[L]と、L個の順列p[1]、・・p[L]を選択し、h=H〔{p[1]}、{My[i]}〕、h=H({y[i]p[i]})、h=H〔{y[i] xor s[i]p[i]})を計算して確認装置にコミットメント{h、h、h}を送り、
(d)確認装置はランダムにL個の数q[1]、・・・q[L](但し、0<q<4)を取って識別装置にそれを送り、
(e)識別装置は下記で定義される応答r[1]を計算して確認装置へ送る:
q[i]=1ならば、r[i]={y[i]、p[i]}
q[i]=2ならば、r[i]={y[i] xor s[i]、p[i]}
q[i]=3ならば、r[i]={y[i]p[i]s[i]p[i]
(f)確認装置は{r[i]}を受け、当業者に自明な方法でコミットメントを制御する。
【0037】
IDをsに関連づけるその他の方法は下記の通りである:
1のビットが2atの位置に分割されたt個の秘密の重みを導入する。すなわちs[1] 、s[2]、・・・、s[t]であり、i=1、・・・、tについてMs[i] を公表する。
この場合、キーは下記の手順で作られる。下記〔式5〕のようなワードを見つけることは、部分的な三角測量(tiangulation partielle)で容易にできる:
【0038】
【式5】
Figure 0003675494
sの重みは約ta−t/2である。
【0039】
この系でのサイズの選択は通常次の関係式:0.11n=ta−t/2、2k=nかつ2atδ>56(但し、2a−2aH2(δ) −1)で支配される。
t=56の時の場合、一般には、d=95、n=863 、k=432 である。当業者には他の組み合わせが可能であることが明らかである。
【0040】
次に、図3を参照して識別装置の概念的実施例を説明する。識別装置は例えばチップカードにすることができる。
この識別装置は制御装置1と、不揮発性メモリ2(この不揮発性メモリ2は、例えば上記マトリックスMまたはこのマトリックスMの係数を得ることが可能な関数と、識別装置自身の秘密キーsとを収容したリードオンリーメモリにすることができる)と、ランダムアクセスメモリ3と、ベクトル−マトリックス乗算器(その機能は図5を参照して後で説明する)と、2進数排他的OR実施手段5と、ランダム数発生器6と、ハッシュ機能7と、順列発生器8とを有し、これら全ての要素は物理的に保護されている。さらに、識別装置には確認装置と識別装置の制御装置との間でデータを交換するための通信インターフェースが備えられている。ランダム数発生器6は例えばいわゆる「クード(coude)」区域を逆に分極したツェナーダイオード(zenerdiode)が生成するデジタル白色ノイズ源で形成するか、グンター(GUNTER)の米国特許第4,817,145号またはアラゴン(ARAGON)の米国特許第4,649,419号に記載の擬似ランダム数発生器で構成することができる。順列発生器8は、例えばナッカシュ(David Naccache)の『順列の生成について(On the generation of permutation)』(South African Computer Journal 第2号、1990年、12〜16頁)に記載の方法を用いた2進数ベクトル順列化装置にすることができる。
【0041】
ハッシュ関数(fonction de hachage)はクリプト90でRivestが発表したハッシュ関数MD4、ヨーロクリプト92でSchnorが発表した適当に反復されるFFT−HashIIまたは暗号化アルゴリズムDESによって作ることができる。
【0042】
図4は確認装置を示している。この確認装置は制御装置10を有し、この制御装置10にはマトリックスMおよびパブリックキーKを収容したROM型の不揮発性メモリ11と、ハミング(Hamming)重み計算器12と、比較器13と、マトリックス−ベクトル乗算器14と、ランダムアクセスメモリ15と、識別装置の手段5と同じ2進数排他的OR実施手段16と、ランダム数発生器17と、ハッシュ関数17と同じハッシュ関数18と、順列生成器19とが接続されている。また、この制御装置10には確認装置と各識別装置との間の通信を管理する通信インターフェースが接続されている。
【0043】
次に、図5を参照してベクトルによるマトリックスの乗算関数の一実施例を説明する。この実施例は8ビットのベクトルyを用いた単純化した方法である。図5に示したマトリックス乗算器Mは8ビットのベクトルyを対応するサイズのマトリックスで乗算でき、8個のANDゲート 11, 12, 13, 14, 15, 16, 17, 18 で構成されている。各ANDゲートの入力にはベクトルyの1ビットとマトリックスの現在の行の1ビットが入る。ANDゲートの出力は排他的ORゲートの三角網(reseau triangulaire) 21, 22, 23, 24, 31, 32, 4に入って、回路の出力側でマトリックスMの現在の行によるyのスカラー積に対応したビットが得られる。特に、ゲート 11, 12 の出力は排他的ORゲート21 の入力へ送られ、ゲート 13, 14 の出力は排他的ORゲート22 の入力へ送られ、これらの2つの排他的ORゲートの出力は排他的ORゲート 31 の入力へ送られる。同様に、ゲート15, 16 の出力は排他的ORゲート23 の入力へ送られ、ゲート 17, 18 の出力は排他的ORゲート24 の入力へ送られ、これらの2つの排他的ORゲートの出力は排他的ORゲート 32 の入力へ送られる。排他的ORゲート 31, 32 の出力は排他的ORゲート4の入力に送られる。このゲート4の出力SはマトリックスMの現在の行によるyのスカラー積に対応する。
【図面の簡単な説明】
【図1】 本発明の認証方法の第1の実施例を説明するための概念図。
【図2】 本発明方法の第2の実施例を説明するための概念図。
【図3】 本発明の識別装置のブロック図。
【図4】 本発明の確認装置のブッロク図。
【図5】 本発明のマトリックス/ベクトル乗算器の実施例の電気概念図。
【符号の説明】
1 制御装置
2 不揮発性メモリ
3 ランダムアクセスメモリ
4 ベクトル−マトリックス乗算器
5 排他的ORゲート
6 ランダム数発生器
ハッシュ機能
8 置換発生器
10 制御装置
11 不揮発性メモリ
12 ハミング重み計算器13比較器
14 ベクトル−マトリックス乗算器
15 ランダムアクセスメモリ
16 2進数排他的OR形成手段
17 ランダム数発生器
18 ハッシュ機能
19 置換発生器
20 通信インターフェース[0001]
[Industrial application fields]
The present invention relates to a method for authenticating at least one identification device by means of a verification device, in particular a protocol for invalidating decoding on the basis of the problem of syndrome par syndrome. connaissance). The invention further relates to an identification device and a confirmation device for carrying out the method.
The invention applies in particular to so-called security communications when exchanging data between two devices via a channel of questionable security.
[0002]
[Prior art]
In security communication, mutual recognition means, that is, means for allowing a user to access data or a service by authenticating the user is required. There are many needs for security communication, especially when the instructions are transferred by a bank computer. In this case, it must be ensured that the two computers can communicate correctly and not with unauthorized persons. Other examples include ticket vending machines, pay TV decoders, card payphones, and the like. In these systems, the identification device is composed of a portable device such as a chip card (also referred to as an IC card) or an electronic key. Effectiveness must be managed.
[0003]
A method often used in such a case is an authentication method based on an encryption method using a secret key, and until now, this method has been the most easily executed method. In this method, an identification device such as a chip card and a confirmation device (for example, a terminal device, a card reader, a decoder, a card public telephone, etc.) have the same secret key and are identified by a symmetric algorithm, that is, a one-way function . The disadvantage of this method is that both the verification device and the identification device must share a secret, and this condition is not always verified. That is, since the same secret key exists in both terminals of the network, that is, the confirmation device and the identification device, if the pirate acts to purchase the confirmation device and analyze it, the internal structure of the confirmation device can be known. However, it is technically possible for a pirate to make a high-performance identification device based on the analysis result.
[0004]
Among the various ways to protect against this drawback of the conventional method, protocols that disable decryption ensure higher security to date. The functional feature of the protocol that disables this decryption is that the identification device cannot be reconfigured only by exchanging information with the identification device for a limited number of times and thoroughly analyzing the structure of the verification device. It is in. Protocols that invalidate this decoding are described in US Pat. No. 4,748,668 of FIAT, European Patent Application No. A-0,311,470 of GUILLOU et al.
However, while this deciphering protocol is an ideal solution to the identification problem, it also has significant drawbacks. That is, in order to carry out this method, a very large number of operations are required, so that it is difficult to implement electronically.
[0005]
Therefore, various attempts have been made to develop an identification method that can be easily implemented electronically. One such method is described in US Pat. No. 4,932,056 to SHAMIR. The method described in this patent is called the PKP method and is relatively easy to implement electronically compared to other algorithms dealing with large numbers. However, there is a drawback that the exchange speed between the confirmation device and the identification device is slow.
[0006]
[Problems to be solved by the invention]
It is an object of the present invention to provide a rapid authentication method for an identification device using a confirmation device that can be easily implemented electronically, eliminating the above-mentioned drawbacks.
[0007]
[Means for Solving the Problems]
  The invention relates to an authentication method for authenticating at least one identification device by means of a verification device, which performs the authentication according to a protocol known as “Modular Knapsack”, ie a protocol which disables decoding based on the syndrome decoding problem I will provide a.
  The features of the authentication method of the present invention are as follows:
  (1) at least one vector s of size n and hamming weight d (d <n) to enable interaction between the identification device and the confirmation deviceiAnd a matrix M and K of size n × k whose coefficients are randomly selectedi= MsiAt least one vector K such asiAnd set a public key consisting of
  (2) The identification device generates a random vector y having a size n and a random permutation p, and encrypts the function parameters y, p, s, and M.hashObtained by applying the function (une function de hachage) Hcommitment(Engagement) to the confirmation device,
  (3) An arbitrary number of functions taken by the verification device and sent to the identification device, siWithout revealing the function elements with y, p, si with the identification device,
  (4) Using the received element and public key, the confirmation device uses the above number of functions.commitmentTest that is accurate,
  (5) The above operation is repeated a number of times according to the desired safety level. This safety level increases exponentially with the number of times.
[0008]
[Action]
The authentication method uses a matrix M of size n × k. The matrix M is common to all users and is randomly configured. Each user receives an n-bit word private key with a pre-written number of 1's. In this case, the system calculates the public key K, for example, K = MS.
Alternatively, each user can be given a plurality of secret keys s [1],..., S [w], and each can be combined with a public key K [i] = Ms [i]. These vectors s [1],..., S [w] preferably form an expanded unit code.
[0009]
  The above identification method is in principlecommitmentIt is based on the concept of technique d 'engagement. Now let U be a sequence of binary elements.commitmentIs a constant cipherhashIt is an image of U through a function. thiscommitmentIs used as a one-way function.
[0010]
In the first embodiment of the authentication method of the present invention, in the first stage,
(a) Common to each process, the identification device has its identifier and / or this identifieriIdentify one or more keys assigned to the verification device that confirms that
Then, after selecting a random vector y and a random permutation p,
(b) The identification device is:
h1= H (p, My), h2= H (yp), HThree= H (y xor s)p)
Permutation to the confirmation device {h1, H2, HThree}.
(Where xpRepresents a vector x replaced with p, and xor represents an exclusive OR function)
(c) Next, the confirmation device randomly takes the number 0 <q <4 and sends this number to the identification device.
(d) The identification device then calculates the response r defined below and sends it to the confirmation device:
If q = 1, r = {y, p}
If q = 2, then r = {y xor s, p}
If q = 3, then r = {yp, Sp}
(e) The confirmation device receives r = {U, V} and checks that:
If q = 1, h1= H (V, MU), h2= H (Uv)
If q = 2, h1= H (V, (MU) xor K), hThree= H (Uv)
If q = 3, h2= H (U), hThree= H (U xorV) and V's hamming weight (poids de Hamming) is d.
(f) When the test corresponding to q is confirmed to be correct, the verification device
Le is considered to have finished successfully.
[0011]
  In another embodiment of the invention, the vector s is replaced by w vectors s [1], s [2],... S [W] to form a unitary code with weight d. In this example, after selecting a random vector y and a random permutation p,
(B) The identification device is h1= H (My, P), h2= H (yp, S [1]p, ..., s [w]p)commitment{H1, H2} To the identification device.
(C) The confirmation device randomly takes binary vectors b [1],..., B [w] and sends them to the identification device.
(D) The identification device calculates a response z defined by the following equation and sends it to the confirmation device:
  z = yp  xor r s [1]pb [1] xor s [2]pb [2] xor s [3]pb [3] ... xor s [w]pb [w]
(E) The confirmation device randomly takes the bit q and sends it to the identification device.
(F) The identification device sends an answer r defined by the following formula:
  If q = 0, r = {yp, S [1]p, ..., s [w]p}
  If q = 1, r = {p}
(G) If q = 0, the confirmation device receives a response r = {r [0], r [1],..., R [w]}
  If q = 1, r = {r [0]} is received.
(H) The verification device checks the following:
  If q = 0, h2= H (r), z = r [0] xor r [1] b [1] xor r [2] b [2] xor r [3] b [3]... Xor r [w] b [w ], {R [1], r [2],... R [w]} form a single code.
  If q = 1, then H (M (permutation (z, r [0])) xor (K [1] b [1] xor K [2] b [2] xor K [3] b [3]. Xor K [w] b [w]), r [0]) = h1
  (Where K [i] = Ms [i])
(I) When it is clear that the test corresponding to q is correct, the verification device considers that the protocol has been successfully completed.
  Other advantages of the present invention will become apparent from the following various embodiments of the method of the present invention with reference to the accompanying drawings.
[0012]
【Example】
The present invention relates to a novel authentication method implemented by a protocol for invalidating decryption.
The security of the method of the present invention is based on the syndrome decoding (DS) problem. The syndrome decoding (DS) problem can be explained as follows. That is, in the case of the binary matrix M and the binary vector K, it is to find a binary vector s having a relatively large or small weight s such as Ms = K. The weight means the number of 1 bits in the vector. This problem is extremely difficult to solve by currently known calculation means when the size of the matrix M and the hamming weight (s) of s are correctly selected. Known algorithms to solve the problem of syndrome decoding, such as the JS Leon paper `` A probabilistic algorithm for computing minimum weights of large error -correcting codes) "(IEEE TIT 34 (5) pp. 1354-1359) and J. Stern's paper" A method for finding codewords of small weight "" (Coding Theory & Applications, notes de lecture en Computer Science 388 (1989), pp. 106-113), the computation time increases exponentially in proportion to the size of the matrix.
[0013]
In actual calculation means, when the size of M is about 500 × 250 and the value of d is close to 50, s cannot be calculated. However, if s (by chance, with the correct weight) is known, K can be calculated.
In the present invention, this one-way characteristic can be used to test whether the identification device has s without knowing its value during interaction by a confirmation device that knows K.
[0014]
When carrying out the authentication method of the present invention, a legitimate authorized person (autorite, a legitimate user permitted to access) is assigned a coefficient a.ijRandomly select and publish a matrix M composed of In practice, to avoid storing the entire matrix M, each coefficient a by f (i, j)ij(Where f is any published pseudo-random function).
In addition, the legitimate authority can set a binary vector set s having a relatively small Hamming weight.jIe s1, s2, ..., snAnd distribute it to each identification device. Therefore, the identification device i is siReceive. Meanwhile, public key Ki(However, Ki= Msi).
[0015]
In another embodiment, the authorized person is KiThe private key that constitutes the closed secret code system that requires mutual communication with the authorized person to sign the password and validate the public keyiUsing the identification system of the holders.
Hereinafter, two special embodiments of the method of the present invention will be described.
[0016]
  The first method will be described with reference to FIG.
  FIG. 1 is a conceptual diagram of a communication protocol executed between an identification device and a confirmation device for authentication. The identification device is a device that is physically inaccessible, such as a chip card or an electronic key. In the case of a chip card, it is impossible to access the internal memory, but no assumption is made regarding the environment of the verification device.
  In the identification device and the confirmation device conceptually shown in FIG. 3 and FIG. 4, the identification device stores its secret key s in the nonvolatile memory.iAnd a matrix M. Similarly, the verification device has a set of public keys K in the non-volatile memory.iAnd a matrix M.
  The protocol executed by the two devices when the identification device contacts the verification device is as follows:
(A) First, the identification device has its identifier and / or its key KiTo the confirmation device and its identifier is the vector KiConfirm that it corresponds to.
(B) Next, the identification device selects a random binary vector y and a random permutation p. The identification device then has the following elements:
  h1= H (p, My), h2= H (yp), H3= H (y xor s)p) To calculate and confirmcommitment{H1, H2, H3}.
  (Where xpRepresents a vector x permuted by p, where xor represents an exclusive OR)
(C) Next, the confirmation device takes a random number 0 <q <4 and sends the number to the identification device.
(D) Next, the identification device calculates the answer defined below and sends it to the confirmation device:
  If q = 1, r = {y, p}
  If q = 2, then r = {y xor s, p}
  If q = 3, then r = {yp, Sp}
(E) The confirmation device receives r = {U, V} and tests the following:
  If q = 1, h1= H (V, MU) and h2= H (Uv)
  If q = 2, h1= H (V, (MU) xor K) and h3= H (Uv)
  If q = 3, h2= H (U), h3= H (U xor V) and the hamming weight of V is d.
(F) If the test corresponding to q is correct, the verification device ends the protocol successfully. If the test is not correct, the identification device is rejected.
  When the identification device is accepted, a control impulse is sent to the input / output interface of the protection system to initiate a subsequent transaction. The entire operations described above are shown in FIG. 1. The left part of each operation is performed on the identification apparatus side, and the right part is each operation performed on the confirmation apparatus side. Arrows indicate that information is sent from one device to the other.
[0017]
In order to increase the safety of the process, the identification device and the confirmation device repeat the above steps a plurality of times, i.e., t times, and the confirmation device is the identification device only when the protocol is successful at all times. Is preferably not authenticated. Preferably t is selected such that 0 <t <60.
[0018]
  The above basic method can be modified in various ways in order to simplify the implementation electronically and to shorten the calculation time. That is, the vector My is transferred with the key and the corresponding test is changed to H1= H (p) can be redefined. In another embodiment, the verification device and / or identification device performs a partial test on the secondary set of vector coordinates to perform the calculation more quickly. In these cases, some steps in the process are changed as follows:
  That is, after selecting a random vector y and a random permutation p,
(B) The identification device has the following formula:
  h1= H (p), h2= H (yp), H3= H (y xor s)p)
To the confirmation devicecommitment{H1, H2, H3}
(C) Next, the verification device separates the list G = {g1... gf} (However, 1 <gi<K) is taken at random and sent to the identification device,
(D) The identification device calculates only the f bits of My whose substitution is indicated by G and sends the resulting vector Z to the confirmation device.
[0019]
In this case, step (e) is also changed as follows:
(e) The confirmation device receives r = {U, V} and controls as follows:
If q = 1, h1= H (V), h2= H (Uv) And Extract (MU, G) xor Z = 0 (where Extract (MU, G) represents the projection vector obtained by selecting only the bits represented by G in x) ,
If q = 2, h1= H (V), hThree= H (Uv) And extract (MU xorK, G) xor Z = 0,
If q = 3, h2= H (U), hThree== H (U xor V) and the Hamming weight of V is d.
[0020]
  In another embodiment of the method of the invention, step (b) is modified as follows:
(B) After selecting the random vector y and the random permutation p, the identification device has the following formula:
  h1= H (p), h2= H (yp), H3= H (y xor s)p) To calculate and confirmcommitment{H1, H2, H3}
(C) The identification device is Q = MyAnd the obtained vector Q is sent to the confirmation device, and (d) the confirmation device separates the list G = {g1... gf} (Where 1 <gi<K) is taken randomly to calculate the vector Z = extract (Q, G).
  In this case, step (e) is changed as follows:
(E) The confirmation device receives r = {U, V} and controls as follows:
  If q = 1, h1= H (V), h2= H (Uv) And extract (MU, G) xor Z = 0),
  If q = 2, h1= H (V), h3= H (Uv) And extract (MU xor K, G) xor Z = 0,
  If q = 3, h2= H (U), h3== H (U xor V) and the Hamming weight of V is d.
[0021]
  Next, another embodiment of the authentication method of the present invention will be described with reference to FIG. Although this second embodiment requires more computation than the previous embodiment, the probability of illegality of the illegitimate decreases more rapidly. In this case, the vector siReplaces with a set of vectors s [1],... S [w] that form an extended unit code. The vector KiIs replaced with a set of vectors K [1],... K [w] such that M (s [i]) = K [i].
  This embodiment has the following steps of FIG. 2, indicated by symbols similar to those used in FIG.
(A) After the identification device selects a random vector y and a random permutation p,
  h1= H (My, p), h2= H (yp, S [1]p, ..., s [w]p) To the confirmation devicecommitment{H1, H2}
(B) The confirmation device takes a binary vector b [1],..., B [w] at random and sends it to the identification device;
(C) The identification device calculates the response z defined by the following equation and sends it to the confirmation device:
  z = yp  xor s [1]pb [1] xor s [2]pb [2] xor s [3]pb [3] ... xor s [w]pb [w]
(D) The confirmation device takes bit q at random and sends it to the identification device;
(E) The identification device sends a response r defined by the following equation:
  If q = 0, r = {yp, S [1]p, ..., s [w]p}
  If q = 1, r = {p}
(F) The confirmation device receives responses r = {r [0], r [1],..., R [w]} if q = 0, and r = {r [0] if q = 1. }
(G) The verification device performs the following tests:
  If q = 0, h2= H (r), z = r [0] xor r [1] b [1] xor r [2] b [2] xor r [3] b [3]... Xor r [w] b [w ] And {r [1], r [2],... R [w]} form a unit code,
  If q = 1, then H (M (permutation (z, r [0])) xor (K [1] b [1] xor K [2] b [2] xor K [3] b [3]. Xor K [w] b [w], r [0]) = h1
(H) When the test corresponding to q is found to be accurate,
Tocol is considered a successful exit.
[0022]
  This method can be modified to perform a simplified check on the secondary set of vector coordinates as described above, in order to avoid the depermutation of the vector z. In this case, for example, it has the following steps:
(A) After the identification device selects a random vector y and a random permutation p, h1= H (p), h2= H (yp, S [1]p, ..., s [w]p) To calculate and confirmcommitment{H1, H2} And vector h0= MySend
(B) The confirmation device takes a binary vector b [1],..., B [w] at random and sends it to the identification device;
(C) The identification device calculates the response z defined by the following equation and sends it to the confirmation device:
z = yp  xor s [1]pb [1] xor s [2]pb [2] xor s [3]pb [3] ... xor s [w]pb [w]
(D) The confirmation device takes bit q at random and sends it to the identification device;
(E) The identification device sends a response r defined by the following equation:
  If q = 0, r = {yp, S [1]p, ..., s [w]p}
  If q = 1, r = {p}
(F) The confirmation device receives responses r = {r [0], r [1],..., R [w]} if q = 0, and r = {r [0] if q = 1. }
(G) The verification device tests:
  If q = 0, h2= H (r), z = r [0] xor r [1] b [1] xor r [2] b [2] xor r [3] b [3]... Xor r [w] b [w ] And {r [1], r [2],..., R [w]} form a single code.
  If q = 1, h1= H (r [0]) and (h0) R [0]  xor (K [1] b [1] xor K [2] b [2] xor K [3] b [3]... xor K [w] b [w]) r[0]= Z
  When the corresponding test is found to be accurate, the verification device considers the protocol completed successfully.
  As in the case of the first embodiment, the above protocol is also repeated t times, and the confirmation device can authenticate the identification device only when all the times of the protocol are successful.
[0023]
The safety of the above two methods depends on various parameters, particularly the sizes of d, n, k and t. It will be apparent to those skilled in the art that the choice of t can be easily changed during operation at the level of two devices communicating with each other. The parameters d, n and k are system parameters and their selection is initially determined and is difficult to change.
These parameters d, n, k are preferably selected at the Warshamov-Gilbert limit, which gives a theoretical limit value for the minimum weight of the random code (n, K). That is, d = nH2(K / n) (where H2(x) is the entropy function H2(X) = − x log2(X)-(1-x) log2(1-x)). In this case, d is selected as follows:
d = (k−n) log2(1- (k / n))-klog2(K / n) or
d = (n- (k-n) log2(1- (k / n)) + klog2(K / n)
[0024]
In addition, it is convenient to add a relational expression such as 2k = n that connects the values of n and k under the limitation of Warshamov-Gilbert limit.
Using the above relation, preferably d = 0.11n or d = 0.89n, the set of n and k can take one of the following values:
{N = 384, k = 196} or {n = 512, k = 256} or {n = 1024, k = 512} or {n = 768, k = 384}
[0025]
  In an alternative embodiment that can be used in all the above methods,hashInstead of a function de encryption function,HashedThe message a message serves as a key and / or message to be encrypted andHashedControl of the truth of the messageHashedIdentify the message and / or encryption key. You can refer to the following publications on this issue:
(1) Ivan Damgaard, Crypt '89hashFunction design principles (Design principles for hash-functions)
(2) Naoru ’s “One Direction”hashOne-way hash functions and therographic applications ”(Proceedings of the 21)st  (annual ACM Symposium on theory of computing, Seatle, Washington, May 15-17, 1989, pages 33-43)
(3) Matias, “Generating strong one-way functions with cryptographical algorithm” (IBM Technical Disclosure Vol. 3, Vol. 10, Vol. 5, Vol. 5, Vol. 10, Vol. 5, Vol. 10, No. 3, Month, 585-5695).
[0026]
In the method based on “Modular Knapsack”, the selection of vector y and all calculations are performed in modulo m, and the xor operation is replaced by addition or subtraction of modulo m. The weight test is replaced by checking whether all coordinates of the vector are 0 or 1, and checking that the weight of this vector is constant, and the relation between n, k and m is n− kIn (m) / In2 and nk> 64. Therefore, m is the number 2, 3, 5, 7 or 2c(Where c is a small integer) and the set {n, k, m} can take one of the following:
{196, 128, 3} or {384, 256, 3} or {128, 64, 5} or {192, 96, 5}
[0027]
  In most cases, it is important to have a means to deduct s from the identifier ID of the holder of the identification device. Thus, for example, the public key K on the confirmation deviceiBackup and prevent new users from joining the system and changing the public key dictionary.
  For this reason, the legitimate authorized person must extend the unit code σ that is expanded at once for all common parameters.1, ..., σuSelect.
  To record a user whose identifier is an ID, a one-way function of paplik (for example,hashFunction) ID valueHashBinary vector e1... euAnd calculate the following [Equation 2]:
[0028]
[Formula 2]
Figure 0003675494
[0029]
K1= M (σ1) ... Ku= M (σ)uAnd the user ID is SIDgive.
The confirmation device calculates the following [Equation 3] and the identification deviceIDCan be confirmed to have:
[0030]
[Formula 3]
Figure 0003675494
(Where vector e1... euIs the IDhashGiven by)
[0031]
In order to reach a sufficient safety level, it is essential that u> 40, and for that purpose, a unit code having a considerably large size is empirically required. Actually, a set of L small unit codes (for example, d = 64, dim = 7, n = 580, k = 290, L = 8) is selected, and for each user, as follows: L secret keys s [1] obtainedID, S [2]ID, ..., s [L]IDBy calculating, it is possible to easily achieve an appropriate size.
Select size dim at once for all unit codes L,
σ [1]1... σ [1]dim
σ [2]1・ ・ ・ ・ ・ ・ Σ [2]dim
σ [L]1... σ [L]dim
Complete set of public keys K [i] on each identification devicej= M (σ [i]j) (Where i = 1,... L, j = 1,... Dim)
[0032]
For each user
(1) H (ID) = e1... euCalculate
(2) The vector is divided into L segments e [1],... E [L] each having dim bits,
(3) Calculate [Equation 4] below for i = 1 to L
[0033]
[Formula 4]
Figure 0003675494
[0034]
(4) s [1] to the userID, S [2]ID... s [I]IDgive.
[0035]
  Each s [i]IDIs serial (s [i]IDAre used in sequence) or in parallel:
(A) the identification device reveals its identifier ID to the verification device;
(B) The confirmation device is K [1]ID, K [2]ID... K [L]IDCalculate
(C) The identification device selects L vectors y [1],... Y [L] and L permutations p [1],.1= H [{p [1]}, {My [i]}],
h2= H ({y [i]p [i]}), H3= H [{y [i] xor s [i]p [i]}) To the confirmation devicecommitment{H1, H2, H3}
(D) The confirmation device takes a random number 0 <q <4 and sends it to the identification device;
(E) The identification device sends a response r defined below to the confirmation device:
  If q = 1, r = {{y [i]}, {p [i]}}
  If q = 2, then r = {{y [i] xor s [i]}, {p [i]}}
  If q = 3, then r = {{y [i]p [i]}, {S [i]p [i]}}
(F) The verification device receives r = {U, V} and tests the following:
  If q = 1, h1= H [{V [i]}, {MU [i]}] and
                h2= H ({U [i] V[I]})
  If q = 2, h1= H [{V [i]}, {MU [i] xor K [i]}) and h3 = H ({U [i]v [i]})
  If q = 3, h2= H ({U [i]}, h3= H ({U [i] xor V [i]}) and the weight of V [i] is d
(G) When the test corresponding to q is found to be accurate, the verification device considers that the protocol has been successfully completed.
(H) The above steps (a) to (f) are repeated t times between both apparatuses.
[0036]
  The parallel protocol is as follows:
(A) the identification device reveals its identifier ID to the verification device;
(B) The confirmation device is K [1]ID, K [2]ID... K [L]IDCalculate
(C) The identification device selects L vectors y [1],... Y [L] and L permutations p [1],.1= H [{p [1]}, {My [i]}], h2= H ({y [i]p [i]}), H3= H [{y [i] xor s [i]p [i]}) To the confirmation devicecommitment{H1, H2, H3}
(D) The confirmation device randomly takes L numbers q [1],... Q [L] (where 0 <q <4) and sends it to the identification device;
(E) The identification device calculates the response r [1] defined below and sends it to the confirmation device:
  If q [i] = 1, r [i] = {y [i], p [i]}
  If q [i] = 2, then r [i] = {y [i] xor s [i], p [i]}
  If q [i] = 3, then r [i] = {y [i]p [i]s [i]p [i]}
(F) The confirmation device receives {r [i]} and is obvious to those skilled in the art.commitmentTo control.
[0037]
Other ways of associating IDs with s are as follows:
Introduce t secret weights in which 1 bit is divided into 2at positions. That is, s [1], s [2],..., S [t], and Ms [i] is published for i = 1,.
In this case, the key is created by the following procedure. Finding words like [Equation 5] below can be easily done with partial triangulation (Tiangulation partielle):
[0038]
[Formula 5]
Figure 0003675494
The weight of s is about ta-t / 2.
[0039]
The size selection in this system is usually the following relation: 0.11n = ta-t / 2, 2k = n and 2atδ> 56 (where 2a-2aH2(δ) Dominated by -1).
In the case of t = 56, generally, d = 95, n = 863, and k = 432. It will be apparent to those skilled in the art that other combinations are possible.
[0040]
  Next, a conceptual embodiment of the identification device will be described with reference to FIG. The identification device can be a chip card, for example.
  The identification device includes a control device 1 and a non-volatile memory 2 (the non-volatile memory 2 is, for example, a function capable of obtaining the matrix M or a coefficient of the matrix M and a secret key s of the identification device itself).iA random access memory 3, a vector-matrix multiplier (the function of which will be described later with reference to FIG. 5), and a binary exclusive OR implementation means. 5 and a random number generator 6;hashIt has a function 7 and a permutation generator 8, all these elements being physically protected. Furthermore, the identification device is provided with a communication interface for exchanging data between the confirmation device and the control device of the identification device. Random number generator 6 may be formed, for example, by a digital white noise source generated by a reverse polarized zener diode in a so-called “coud” region, or by Gunter US Pat. No. 4,817,145. Or a pseudorandom number generator described in U.S. Pat. No. 4,649,419 of ARAGON. The permutation generator 8 used, for example, the method described in “Night generation of permutation” (South African Computer Journal No. 2, 1990, pp. 12-16) by David Naccache. A binary vector permutation device can be provided.
[0041]
  hashThe function (defunction) was announced by Rivest at crypto 90hashFunction MD4, can be made by appropriately repeated FFT-HashII or encryption algorithm DES published by Schnor in European crypto 92.
[0042]
  FIG. 4 shows a confirmation device. The confirmation device includes a control device 10, which includes a ROM type non-volatile memory 11 containing a matrix M and a public key K, a Hamming weight calculator 12, a comparator 13, A matrix-vector multiplier 14, a random access memory 15, a binary exclusive OR implementation means 16 identical to the means 5 of the identification device, a random number generator 17,hashSame as function 17hashA function 18 and a permutation generator 19 are connected. In addition, a communication interface that manages communication between the confirmation device and each identification device is connected to the control device 10.
[0043]
Next, an example of a matrix multiplication function using vectors will be described with reference to FIG. This embodiment is a simplified method using an 8-bit vector y. The matrix multiplier M shown in FIG. 5 can multiply an 8-bit vector y by a matrix of a corresponding size, and has eight AND gates 1.1, 12, 1Three, 1Four, 1Five, 16, 17, 18It consists of Each AND gate input contains one bit of vector y and one bit of the current row of the matrix. AND gate output is exclusive OR gate triangle (reseau triangulaire) 21, 22, 2Three, 2Four, 31, 32, 4 at the output side of the circuit, the bit corresponding to the scalar product of y by the current row of the matrix M is obtained. Especially the gate 11, 12Output of the exclusive OR gate 21Sent to the input of the gate 1Three, 1FourOutput of the exclusive OR gate 22And the output of these two exclusive OR gates is the exclusive OR gate 31Sent to the input. Similarly, gate 1Five, 16Output of the exclusive OR gate 2ThreeSent to the input of the gate 17, 18Output of the exclusive OR gate 2FourAnd the output of these two exclusive OR gates is the exclusive OR gate 32Sent to the input. Exclusive OR gate 31, 32Is sent to the input of the exclusive OR gate 4. The output S of this gate 4 corresponds to the scalar product of y by the current row of the matrix M.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram for explaining a first embodiment of an authentication method of the present invention.
FIG. 2 is a conceptual diagram for explaining a second embodiment of the method of the present invention.
FIG. 3 is a block diagram of an identification apparatus according to the present invention.
FIG. 4 is a block diagram of the confirmation device of the present invention.
FIG. 5 is an electrical conceptual diagram of an embodiment of a matrix / vector multiplier of the present invention.
[Explanation of symbols]
1 Control device
2 Nonvolatile memory
3 Random access memory
4 Vector-matrix multiplier
5 Exclusive OR gate
6 Random number generator
7hashfunction
8 Replacement generator
10 Control device
11 Nonvolatile memory
12 Hamming weight calculator 13 Comparator
14 Vector-matrix multiplier
15 Random access memory
16 Binary number exclusive OR forming means
17 Random number generator
18hashfunction
19 Replacement generator
20 Communication interface

Claims (33)

ゼロ知識入力プロトコルによって認証が実施される、確認装置を使用して少なくとも1つの識別装置を認証する認証方法において、ゼロ知識入力プロトコルは、シンドローム問題によるデコード又はモジュラーナップザックとして知られた問題に基づいており、且つ、
(1)識別装置と確認装置との間の対話を可能にするためのサイズがnでハミング重みがd(d<n)である少なくとも1つのベクトルsで構成された識別装置における第1不揮発性メモリにおける秘密キーと、係数がランダムに選択されるサイズがn×kのマトリックスMと少なくとも1つのベクトルK(K=Ms)とで構成される確認装置における第2不揮発性メモリにおけるパブリックキーとを設定するステップと、
(2)識別装置側の第1ランダムアクセスメモリで、サイズがnのランダムに選択されるベクトルyとランダムに選択される順列pとを生成し、y、p、s、Mの関数としてパラメータに暗号ハッシュ関数Hを適用して得られたコミットメントを通信インターフェースにより確認装置へ送るステップと、
(3)確認装置の第1ランダムアクセスメモリにより選択されたそして通信インターフェースにより識別装置へ送られたランダム数の関数として、sを明らかにしないで、識別装置へ、y、p、sの関数としてある要素を明らかにするステップと、
(4)ランダム数の関数として、受信された要素とパブリックキーとを用いて確認装置側でコミットメントが正確であることをテストするステップと、
(5)所望の安全レベルに応じた回数で上記の動作を反復するステップと
を有することを特徴とする、認証方法。
In an authentication method in which at least one identification device is authenticated using a verification device, where authentication is performed by a zero knowledge input protocol, the zero knowledge input protocol is based on a problem known as syndrome problem or modular knapsack. And
(1) First non-volatile in an identification device configured with at least one vector s i having a size n and a Hamming weight d (d <n) for enabling interaction between the identification device and the confirmation device In the second non-volatile memory in the verification device comprising the secret key in the volatile memory, the matrix M having a size of n × k whose coefficients are selected at random, and at least one vector K i (K i = Ms i ) Setting a public key;
(2) The first random access memory on the identification device side generates a randomly selected vector y of size n and a randomly selected permutation p, and uses them as parameters as functions of y, p, s, and M Sending the commitment obtained by applying the cryptographic hash function H to the verification device via a communication interface;
(3) Without identifying s i as a function of the random number selected by the first random access memory of the confirmation device and sent to the identification device by the communication interface, the identification device is given y, p, s i Revealing an element as a function,
(4) testing that the commitment is correct on the verification device side using the received element and the public key as a function of a random number;
(5) A step of repeating the above operation a number of times according to a desired safety level.
上記ベクトルsが2進数ベクトルである請求項1に記載の方法。The method of claim 1, wherein the vector s i is a binary vector. ランダムに選択されたベクトルyとランダムに選択された順列pを選択した後に識別装置が下記の式:
=H(p、My)、h=H(yp)、h=H(y xor s)p)
を計算して確認装置にコミットメント{h、h、h}を送り(ここで、xはpで順列化されたベクトルxを表し、xorは排他的OR関数を表す)、次に、確認装置はランダムな数0<q<4を取り、その数を識別装置へ送り、次に、識別装置は、下記のように:
q=1ならば、r={y、p}
q=2ならば、r={y xor s、p}
q=3ならば、r={yp、sp}
によって定義される応答を計算して確認装置に送り、確認装置はr={U、V}を受けて下記:
q=1ならば、h=H(V、MU)かつh=H(Uv)
q=2ならば、h=H(V、(MU)xor K)かつh=H(Uv)
q=3ならば、h=H(U)、h=H(U xor V)かつVのハミング重みはdである
ことをテストし、
qに対応するテストが正確であること分かった時に、確認装置はプロトコルが成功裏に終了したとみなす請求項1または2に記載の方法。
After selecting a randomly selected vector y and a randomly selected permutation p, the identification device has the following formula:
h 1 = H (p, My), h 2 = H (yp), h 3 = H (y xor s) p)
And send the commitment {h 1 , h 2 , h 3 } to the confirmation device (where x p represents the vector x permuted by p, xor represents the exclusive OR function), then The confirmation device takes a random number 0 <q <4 and sends the number to the identification device, which then identifies the following:
If q = 1, r = {y, p}
If q = 2, then r = {y xor s, p}
If q = 3, r = {yp, sp}
The response defined by is sent to the confirmation device, which receives r = {U, V} and:
If q = 1, h 1 = H (V, MU) and h 2 = H (Uv)
If q = 2, h 1 = H (V, (MU) xor K) and h 3 = H (Uv)
If q = 3, test that h 2 = H (U), h 3 = H (U xor V) and the hamming weight of V is d,
The method according to claim 1 or 2, wherein when the test corresponding to q is found to be accurate, the verification device considers that the protocol has been successfully completed.
ランダムに選択されたベクトルyとランダムに選択された順列pとを選択した後、識別装置が下記の式:
=H(p)、h=H(yp)、h=H(y xor s)p)
を計算して確認装置にコミットメント{h、h、h}を送り、
確認装置は互いに分離した数のリストG={g、・・・g}(ここで、1<g<k)をランダムに取ってそれを識別装置に送り、
識別装置はGによって示された位置でMyのfビットのみを計算し、この計算で得られたベクトルZを確認装置へ送り、
確認装置はランダムな数0<q<4を取り、その数を識別装置へ送り、
識別装置は下記:
q=1ならば、r={y、p}
q=2ならば、r={y xor s、p}
q=3ならば、r={y、s
で定義される応答rを計算して確認装置に送り、
確認装置はr={U、V}を受けて下記のように制御し:
q=1ならば、h=H(V)、h=H(U)かつエキス(MU、G)xor Z=0(ここで、エキス(x、G)はx中でGによって表されたビットだけを選択することによって得られた射影ベクトルを表す)、
q=2ならば、h=H(V)、h=H(U)かつエキス(MU xor K、G)xor Z=0、
q=3ならば、h=H(U)、h==H(U xor V)かつVのハミング重みはdである、
qに対応するテストが正確であること分かった時に、確認装置はプロトコルが成功裏に終了したとみなす請求項1または2に記載の方法。
After selecting a randomly selected vector y and a randomly selected permutation p, the identification device has the following formula:
h 1 = H (p), h 2 = H (yp), h 3 = H (y xor s) p)
And send the commitment {h 1 , h 2 , h 3 } to the confirmation device,
The verification device takes a list of numbers G = {g 1 ,... G f } (where 1 <g i <k) at random and sends it to the identification device,
The discriminator calculates only the f bits of My at the position indicated by G and sends the vector Z obtained by this calculation to the verifier,
The confirmation device takes a random number 0 <q <4 and sends the number to the identification device,
The identification devices are:
If q = 1, r = {y, p}
If q = 2, then r = {y xor s, p}
If q = 3, r = {y p, s p}
The response r defined by is calculated and sent to the confirmation device,
The confirmation device receives r = {U, V} and controls as follows:
If q = 1, h 1 = H (V), h 2 = H (U v ) and extract (MU, G) xor Z = 0 (where extract (x, G) is represented by G in x. Represents the projection vector obtained by selecting only the given bits),
If q = 2, h 1 = H (V), h 3 = H (U v ) and extract (MU xor K, G) xor Z = 0,
If q = 3, h 2 = H (U), h 3 == H (U xor V) and the hamming weight of V is d,
The method according to claim 1 or 2, wherein when the test corresponding to q is found to be accurate, the verification device considers that the protocol has been successfully completed.
ランダムに選択されたベクトルyとランダムに選択された順列pとを選択した後に、識別装置が下記の式:
=H(p)、h=H(y)、h=H(y xor s)p)を計算して確認装置にコミットメント{h、h、h}を送り、
識別装置はQ=Mを計算し、得られたベクトルQを確認装置へ送り、
確認装置は互いに分離した数のリストG={g、・・・g}(ここで、1<g<k)をランダムに取ってベクトルZ=エキス(Q、G)を計算し、
確認装置はランダムな数0<q<4を取ってその数を識別装置へ送り、
次に、識別装置は下記:
q=1ならば、r={y、p}
q=2ならば、r={y xor s、p}
q=3ならば、r={yp、sp}
で定義される応答rを計算して確認装置へ送り、
確認装置はr={U、V}を受けて下記の制御をし:
q=1ならば、h=H(V)、h=H(U)かつエキス(MU、G)xor Z=0)、
q=2ならば、h=H(V)、h=H(U)かつエキス(MU xor K、G)xor Z=0、
q=3ならば、h=H(U)、h=H(U xor V)かつVのハミング重みはdである、
qに対応するテストが正確であることが分かった時に、確認装置がプロトコルが成功裏に終了したとみなす請求項1に記載の1に記載の方法。
After selecting a randomly selected vector y and a randomly selected permutation p, the identification device has the following formula:
Calculate h 1 = H (p), h 2 = H (y p ), h 3 = H (y xor s) p) and send the commitment {h 1 , h 2 , h 3 } to the confirmation device,
Identification device calculates the Q = M y, sends the resulting vector Q to the confirmation device,
The confirmation device calculates a vector Z = extract (Q, G) by randomly taking a list of numbers G = {g 1 ,... G f } (where 1 <g i <k) separated from each other,
The confirmation device takes a random number 0 <q <4 and sends the number to the identification device,
Next, the identification device is:
If q = 1, r = {y, p}
If q = 2, then r = {y xor s, p}
If q = 3, r = {yp, sp}
The response r defined by is calculated and sent to the confirmation device,
The confirmation device receives r = {U, V} and performs the following control:
If q = 1, h 1 = H (V), h 2 = H (U v ) and extract (MU, G) xor Z = 0),
If q = 2, h 1 = H (V), h 3 = H (U v ) and extract (MU xor K, G) xor Z = 0,
If q = 3, h 2 = H (U), h 3 = H (U xor V) and the hamming weight of V is d,
The method according to claim 1 , wherein when the test corresponding to q is found to be accurate, the verification device considers that the protocol has been successfully completed.
ベクトルsが長い単体コードを形成するベクトルの組s[1],・・・s[w]によって置換されている請求項1に記載の方法。The method according to claim 1, wherein the vector s i is replaced by a set of vectors s [1], ... s [w] forming a long unit code. ベクトルKがベクトルの組K[1]、・・・K[w]によって置換されて、M(s[i])=K[i]である請求項6に記載の方法。7. The method of claim 6, wherein the vector K i is replaced by a set of vectors K [1],... K [w], and M (s [i]) = K [i]. 識別装置がランダムに選択されたベクトルyとランダムに選択された順列pとを選択した後に、h=H(My、p)、h=H(yp、s[1],・・・,s[w])を計算し、コミットメント{h、h}を識別装置へ送り、
確認装置はランダムに2進数ベクトルb[1]、・・・、b[w]を取ってそれを識別装置へ送り、
識別装置は下記の式:
z=y xor s[1] b[1] xor s[2] b[2] xor s[3] b[3]・・・xor s[w] b[w]
で定義される応答zを計算して確認装置へ送り、
確認装置はビットqをランダムに取って識別装置へ送り、
識別装置は下記の式:
q=0ならば、r={yp、s[1],・・・,s[w]
q=1ならば、r={p}
で定義される応答rを送り、
確認装置は下記回答r:
q=0ならば、r={r[0]、r[1]、・・・、r[w]}
q=1ならばr={r[0]}
を受けて下記をテストする:
q=0ならば、h=H(r)、z=r[0] xor r[1]b[1] xor r[2]b[2] xor r[3]b[3]・・・xor r[w]b[w]且つ {r[1],r[2],・・・,r[w]}が単体コードを形成する、
q=1ならば、H(M(順列(z、r[0])) xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xor K[w]b[w], r[0])=h1、
qに対応するテストが正確であることが分かった時に、確認装置はプロトコルが成功裏に終了したとみなす請求項6または7に記載の方法。
After the discriminator selects a randomly selected vector y and a randomly selected permutation p, h 1 = H (My, p), h 2 = H (yp, s [1] p ,. , S [w] p ), send commitment {h 1 , h 2 } to the identifier,
The confirmation device randomly takes binary vectors b [1],..., B [w] and sends them to the identification device,
The identification device has the following formula:
z = y p xor s [1] p b [1] xor s [2] p b [2] xor s [3] p b [3]... xor s [w] p b [w]
Calculate the response z defined by and send it to the confirmation device,
The confirmation device randomly takes bit q and sends it to the identification device,
The identification device has the following formula:
If q = 0, r = {yp, s [1] p ,..., s [w] p }
If q = 1, r = {p}
Send a response r defined by
The confirmation device is the following answer r:
If q = 0, r = {r [0], r [1],..., r [w]}
If q = 1, r = {r [0]}
And test the following:
If q = 0, h 2 = H (r), z = r [0] xor r [1] b [1] xor r [2] b [2] xor r [3] b [3]. xor r [w] b [w] and {r [1], r [2], ..., r [w]} form a unit code,
If q = 1, then H (M (permutation (z, r [0])) xor (K [1] b [1] xor K [2] b [2] xor K [3] b [3]. Xor K [w] b [w], r [0]) = h1,
The method according to claim 6 or 7, wherein when the test corresponding to q is found to be accurate, the verification device considers the protocol to be successful.
識別装置がランダムに選択されたベクトルyとランダムに選択された順列pとを選択した後に、h=H(p)、h=H(yp,s[1],・・・,s[w])を計算して確認装置へコミットメント{h、h}とベクトルh=Myとを送り、
確認装置はランダムに2進数ベクトルb[1],・・・,b[w]を取って識別装置へそれを送り、
識別装置は下記の式:
z=y xor s[1] b[1] xor s[2] b[2] xor s[3]p b[3]・・・xor s[w]p b[w]
で定義される応答zを計算して確認装置に送り、
確認装置はビットqをランダムに取って識別装置へ送り、
識別装置は下記の式:
q=0ならば、r={y、s[1],・・・,s[w]
q=1ならば、r={p}
で定義される応答rを送り、
確認装置は、
q=0ならば応答r={r[0]、r[1]、・・・、r[w]}、
q=1ならばr={r[0]}
を受けて下記をテストし:
q=0ならば、h=H(r)、z=r[0] xor r[1]b[1]xor r[2]b[2] xor r[3]b[3]・・・xor r[w]b[w]かつ{r[1],r[2],・・・,r[w]}は単体コードを形成する、
q=1ならば、h=H(r[0])かつ(hr [0] xor (K[1]b[1] xor K[2]b[2] xor K[3]b[3]・・・xorK[w]b[w])r[0]=z、
対応するテストが正確であると分かった時に、確認装置はプロトコルが成功裏に終了したとみなす請求項6または7に記載の方法。
After the identification device selects a randomly selected vector y and a randomly selected permutation p, h 1 = H (p), h 2 = H (yp, s [1] p ,..., S [W] p ) and send the commitment {h 1 , h 2 } and the vector h 0 = My to the confirmation device,
The confirmation device randomly takes a binary vector b [1],..., B [w] and sends it to the identification device,
The identification device has the following formula:
z = y p xor s [1] p b [1] xor s [2] p b [2] xor s [3] p b [3]... xor s [w] p b [w]
Calculate the response z defined by and send it to the confirmation device,
The confirmation device randomly takes bit q and sends it to the identification device,
The identification device has the following formula:
If q = 0, then r = {y p , s [1] p ,..., s [w] p }
If q = 1, r = {p}
Send a response r defined by
The confirmation device
If q = 0, the response r = {r [0], r [1],..., r [w]},
If q = 1, r = {r [0]}
And test the following:
If q = 0, h 2 = H (r), z = r [0] xor r [1] b [1] xor r [2] b [2] xor r [3] b [3]. xor r [w] b [w] and {r [1], r [2],..., r [w]} form a unit code,
If q = 1, h 1 = H (r [0]) and (h 0 ) r [0] xor (K [1] b [1] xor K [2] b [2] xor K [3] b [3]... XorK [w] b [w]) r [0] = z,
8. A method according to claim 6 or 7, wherein the verification device considers that the protocol has been successfully completed when the corresponding test is found to be accurate.
請求項1〜9のいずれか一項に記載の方法であって、前記プロトコルがt回反復され、その全てのプロトコルが成功した時にのみ確認装置が識別装置を認証する請求項1〜9のいずれか一項に記載の方法。 10. A method according to any one of the preceding claims, wherein the verification device authenticates the identification device only when the protocol is repeated t times and all its protocols are successful. The method according to claim 1. tを0<t<60の範囲で選択する請求項10に記載の方法。  The method according to claim 10, wherein t is selected in the range of 0 <t <60. ハミング重みdを下記の式:
d=(k−n)log2(1−(k/n))−k log2(k/n)
に選択し、好ましくはこの値より小さくする請求項1〜11のいずれか一項に記載の方法。
The Hamming weight d is expressed by the following formula:
d = (k−n) log2 (1− (k / n)) − k log2 (k / n)
12. The method according to any one of claims 1 to 11, wherein the method is selected, preferably less than this value .
ハミング重みdを下記の式:
d=(n−(k−n)log2(1−(k/n))+k log2(k/n)
に選択し、好ましくはこの値より大きくする請求項1〜11のいずれか一項に記載の方法。
The Hamming weight d is expressed by the following formula:
d = (n- (k-n) log2 (1- (k / n)) + klog2 (k / n)
12. The method according to any one of claims 1 to 11, wherein the method is preferably selected to be greater than this value .
n=2kである請求項12または13に記載の方法。  The method according to claim 12 or 13, wherein n = 2k. d=0.11nまたはd=0.89nである請求項12〜14のいずれか一項に記載の方法。  The method according to claim 12, wherein d = 0.11n or d = 0.89n. nとkとが下記の値の組の1つを取る請求項1〜15のいずれか一項に記載の方法:
{n=384、k=196}、{n=512、k=256}、{n=1024、k=512}または{n=768、k=384}。
16. A method according to any one of the preceding claims, wherein n and k take one of the following sets of values:
{N = 384, k = 196}, {n = 512, k = 256}, {n = 1024, k = 512} or {n = 768, k = 384}.
暗号ハッシュ関数を暗号化関数で置換して、ハッシュされるメッセージが上記のキーおよび/または暗号化すべきメッセージの役目をし且つハッシュされたメッセージの真実性の検査でハッシュされたメッセージおよび/または暗号化キーを明らかにする請求項1〜16のいずれか一項に記載の方法。  Replacing the cryptographic hash function with a cryptographic function so that the hashed message serves as the key and / or the message to be encrypted and is hashed with a check of the authenticity of the hashed message and / or cipher 17. A method according to any one of claims 1 to 16, wherein the activation key is revealed. mを数2、3、5、7または2c(ここで、cは小さい整数である)の中から選択する請求項17に記載の方法。  18. A method according to claim 17, wherein m is selected from the numbers 2, 3, 5, 7 or 2c, where c is a small integer. {n、k、m}が下記の値の1つをとる請求項17または18に記載の方法:
{196、128、3}、{384、256、3}、{128、64、5}または{192、96、5}
Method according to claim 17 or 18, wherein {n, k, m} takes one of the following values:
{196, 128, 3}, {384, 256, 3}, {128, 64, 5} or {192, 96, 5}
H(p)の計算をH(ep)(ここで、eは一定の擬似ランダムベクトルである)の計算で行う請求項1乃至19のいずれか1項に記載の方法。  The method according to claim 1, wherein the calculation of H (p) is performed by calculating H (ep) (where e is a constant pseudorandom vector). 各ユーザの識別子IDをキー{s、K}と組み合わせるために正当権限者が主な秘密キーの組{KPi}を選択し、KP値の関数としてsを計算するための2進数ベクトルI=H(ID)にIDをハッシュし、正当権限者は全パプリックキー{PP}または{PP}=f(KP)を公表する請求項1乃至20のいずれか一項に記載の方法。A binary number for the legitimate authority to select the main private key set {KPi} to combine each user's identifier ID with the key {s i , K i } and calculate s i as a function of the KP i value. 21. The ID is hashed in a vector I = H (ID), and the authorized person publishes all public keys {PP i } or {PP i } = f (KP i ). the method of. KPがsの計算に関連するか否かを決める選択インジケータとして正当権限者が1に等しいビットを用いる請求項21に記載の方法。The method of claim 21, wherein the rightful authority uses a bit equal to 1 as a selection indicator to determine whether KP i is relevant to the calculation of s. 組{KPi}が1つまたは複数の拡大した単体コードを形成する請求項22に記載の方法。  23. The method of claim 22, wherein the set {KPi} forms one or more expanded unit codes. Iが56ビットの数である請求項23に記載の方法。  24. The method of claim 23, wherein I is a 56 bit number. sがKPの一次の組み合わせ、すなわち、
s=l[1]KP1+I[2]KP2+・・・I〔Iのサイズ〕KpIのサイズ
(ここで、PP=(KP))
として計算する請求項21乃至24に記載の方法。
s is a linear combination of KP i , ie
s = l [1] KP1 + I [2] KP2 + ... I [I size] KpI size (where PP i = (KP i ))
The method according to claim 21, wherein the calculation is as follows.
正当権限者が1に等しいのビットが2atの位置に分配された重みatのt個の秘密KPを選択し、PP=(MP)値を公表し且つ下記〔式1〕の部分三角測量によってコードsを生成する:
【式1】
Figure 0003675494
sの重み=ta−t/2であり、
サイズは、下記の関係式で選択:
0.11n=ta−t/2、2k=nかつ2atδ>56
(ここで、2a−2aH(δ)≡1)
の計算を実行することを特徴とする、請求項21、22または24に記載の方法によってIDをsに関連付ける方法。
Select the t secret KP i with the weight at at which the bit whose right authority is equal to 1 is distributed at the position of 2at, publish the value PP i = (MP i ), and the partial triangle of [Formula 1] below Generate code s by surveying:
[Formula 1]
Figure 0003675494
s weight = ta−t / 2,
Select the size with the following relation:
0.11n = ta−t / 2, 2k = n and 2atδ> 56
(Where 2a-2aH 2 (δ) ≡1)
25. A method of associating an ID with s by a method according to claim 21, 22 or 24, characterized in that the calculation of
t=56、d=95、n=864、k=432である請求項26に記載の方法。  27. The method of claim 26, wherein t = 56, d = 95, n = 864, k = 432. 識別装置は、制御装置と、不揮発性メモリと、ランダムアクセスメモリと、ベクトル−マトリックス乗算器と、2進数排他的OR実施手段と、ランダム数発生器と、刻み機能と、順列発生器とを有し、確認装置は、制御装置を有し、制御装置には、不揮発性メモリと、ハミング重み計算器と、比較器と、ベクトル−マトリックス乗算器と、ランダムアクセスメモリと、2進数排他的OR実施手段と、ランダム数発生器と、刻み機能と、順列発生器とが接続され、識別装置と確認装置との間には通信インターフェースが接続されていることを特徴とする請求項1〜31のいずれか一項に記載の方法 The identification device has a control device, a non-volatile memory, a random access memory, a vector-matrix multiplier, a binary exclusive OR implementation means, a random number generator, a step function, and a permutation generator. The confirmation device includes a control device, and the control device includes a nonvolatile memory, a Hamming weight calculator, a comparator, a vector-matrix multiplier, a random access memory, and a binary exclusive OR implementation. The means, the random number generator, the step function, and the permutation generator are connected, and a communication interface is connected between the identification device and the confirmation device. The method according to claim 1 . 請求項1〜28のいずれか1項に記載の方法を実施するための識別装置であって、An identification device for carrying out the method according to any one of claims 1 to 28, comprising:
サイズn×kのマトリックスMをnビットのベクトルによって乗算するための少なくとも1つの手段と、ハミング重みdの秘密ベクトルs  At least one means for multiplying a matrix M of size n × k by an n-bit vector, and a secret vector s of Hamming weight d i を記憶するための手段と、ランダムなベクトルyとランダムな順列yとを生成する手段と、暗号ハッシュHを実施するための手段と、確認装置との通信手段とを有することを特徴とする装置。Comprising: means for storing the data; means for generating a random vector y and a random permutation y; means for implementing the cryptographic hash H; and means for communicating with the verification device .
請求項1〜28のいずれか1項に記載の方法を実施するための確認装置であって、A confirmation device for carrying out the method according to any one of claims 1 to 28, comprising:
サイズn×kのマトリックスMをnビットのベクトルによって乗算するための少なくとも1つの手段と、少なくとも1つのパブリックベクトルK  At least one means for multiplying a matrix M of size n × k by an n-bit vector, and at least one public vector K i (K(K i =Ms= Ms i )を記憶するための手段と、整数をランダムに生成する手段と、暗号法ハッシュHを実施する手段と、識別装置との通信装置とを有する装置。), A means for randomly generating an integer, a means for performing a cryptographic hash H, and a communication device with the identification device.
マトリックスMが擬似ランダム数の決定発生器によって生成される請求項29または30に記載の装置。31. Apparatus according to claim 29 or 30, wherein the matrix M is generated by a pseudo-random number decision generator. マトリックス乗算器Mが一列整列の複数のANDゲートによって形成されており、これらのゲートの各々の入力にベクトルyのビットとマトリックスMの現在の行のビットとが入力され、ANDゲートの出力は排他的ORゲートの三角網に供給され、回路の出力で、yとマトリックスThe matrix multiplier M is formed by a plurality of AND gates arranged in a line, and the bit of the vector y and the bit of the current row of the matrix M are input to the input of each of these gates, and the output of the AND gate is exclusive. Is supplied to a triangular network of OR gates, and at the output of the circuit, y and matrix MM の現在の行によるスカラー積に対応するビットが得られることを特徴とする請求項29〜31のいずれか一項に記載の装置。32. Apparatus according to any one of claims 29 to 31, characterized in that a bit corresponding to a scalar product by a current row of is obtained. 識別装置は、制御装置と、不揮発性メモリと、ランダムアクセスメモリと、ベクトル−マトリックス乗算器と、2進数排他的OR実施手段と、ランダム数発生器と、刻み機能と、順列発生器とを有し、確認装置は、制御装置を有し、制御装置には、不揮発性メモリと、ハミング重み計算器と、比較器と、ベクトル−マトリックス乗算器と、ランダムアクセスメモリと、2進数排他的OR実施手段と、ランダム数発生器と、刻み機能と、順列発生器とが接続され、識別装置と確認装置との間には通信インターフェースが接続されていることを特徴とする請求項29〜32のいずれか一項に記載の装置 The identification device has a control device, a non-volatile memory, a random access memory, a vector-matrix multiplier, a binary exclusive OR implementation means, a random number generator, a step function, and a permutation generator. The confirmation device includes a control device, and the control device includes a nonvolatile memory, a Hamming weight calculator, a comparator, a vector-matrix multiplier, a random access memory, and a binary exclusive OR implementation. The means, the random number generator, the step function, and the permutation generator are connected, and a communication interface is connected between the identification device and the confirmation device. A device according to claim 1 .
JP01129694A 1992-12-30 1994-01-04 Method and apparatus for authenticating at least one identification device by means of a confirmation device Expired - Fee Related JP3675494B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9215915 1992-12-30
FR9215915A FR2700430B1 (en) 1992-12-30 1992-12-30 Method of authenticating at least one identification device by a verification device and device for its implementation.

Publications (2)

Publication Number Publication Date
JPH06348202A JPH06348202A (en) 1994-12-22
JP3675494B2 true JP3675494B2 (en) 2005-07-27

Family

ID=9437278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01129694A Expired - Fee Related JP3675494B2 (en) 1992-12-30 1994-01-04 Method and apparatus for authenticating at least one identification device by means of a confirmation device

Country Status (8)

Country Link
US (1) US5483597A (en)
EP (1) EP0605289B1 (en)
JP (1) JP3675494B2 (en)
BR (1) BR9305279A (en)
CA (1) CA2112518C (en)
DE (1) DE69331183T2 (en)
ES (1) ES2168270T3 (en)
FR (1) FR2700430B1 (en)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668878A (en) * 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US6011848A (en) * 1994-03-07 2000-01-04 Nippon Telegraph And Telephone Corporation Method and system for message delivery utilizing zero knowledge interactive proof protocol
KR0144086B1 (en) * 1994-03-31 1998-08-17 조백제 Electronic signature mathod
US5539828A (en) * 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
KR0146438B1 (en) * 1995-05-17 1998-09-15 조백제 The method for identification scheme, digital signature giving message recovery and digital signature with appendix
FR2736485B1 (en) * 1995-07-03 1997-08-14 Thomson Multimedia Sa PROCESS FOR PROCESSING A DIGITAL SIGNAL SUCH AS THE OUTPUT DIGITAL SIGNAL CANNOT DEDUCT THE INPUT DIGITAL SIGNAL AND USE OF THIS METHOD FOR ACCESS CONTROL AND / OR BINARY SIGNATURE
US5757916A (en) * 1995-10-06 1998-05-26 International Series Research, Inc. Method and apparatus for authenticating the location of remote users of networked computing systems
EP0792044B1 (en) * 1996-02-23 2001-05-02 Fuji Xerox Co., Ltd. Device and method for authenticating user's access rights to resources according to the Challenge-Response principle
WO1997047110A1 (en) * 1996-06-05 1997-12-11 Gemplus S.C.A. Public key cryptography method
US6266771B1 (en) 1997-02-10 2001-07-24 The Regents Of The University Of California Probabilistic signature scheme
IL120720A (en) * 1997-04-24 1999-10-28 Israel Atomic Energy Comm Apparatus and method for signing and authenticating digital signatures
US6134597A (en) * 1997-05-28 2000-10-17 International Business Machines Corporation CRC hash compressed server object identifier
FR2780177B1 (en) * 1998-06-17 2001-10-05 Schlumberger Ind Sa SOFTWARE PROTECTION SYSTEM
US7006999B1 (en) * 1999-05-13 2006-02-28 Xerox Corporation Method for enabling privacy and trust in electronic communities
JP3735521B2 (en) * 1999-09-30 2006-01-18 株式会社東芝 Embedded code generation method and apparatus, embedded code detection method and apparatus, and digital watermark embedding apparatus
FR2810481B1 (en) * 2000-06-20 2003-04-04 Gemplus Card Int CONTROL OF ACCESS TO A DATA PROCESSING MEANS
KR100445574B1 (en) * 2001-12-19 2004-08-25 한국전자통신연구원 Method of designing password based authentication and key exchange protocol using zero-knowledge interactive proof
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7444512B2 (en) 2003-04-11 2008-10-28 Intel Corporation Establishing trust without revealing identity
US7305705B2 (en) * 2003-06-30 2007-12-04 Microsoft Corporation Reducing network configuration complexity with transparent virtual private networks
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US20070067643A1 (en) * 2005-09-21 2007-03-22 Widevine Technologies, Inc. System and method for software tamper detection
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
FR2916594A1 (en) * 2007-05-23 2008-11-28 France Telecom METHOD FOR AUTHENTICATING AN ENTITY BY A VERIFYING ENTITY
CA2591280A1 (en) * 2007-06-12 2008-12-12 Nikolajs Volkova A new digital signature scheme
US20110246779A1 (en) * 2008-12-11 2011-10-06 Isamu Teranishi Zero-knowledge proof system, zero-knowledge proof device, zero-knowledge verification device, zero-knowledge proof method and program therefor
US8549299B2 (en) * 2011-02-28 2013-10-01 Certicom Corp. Accelerated key agreement with assisted computations
US10180829B2 (en) * 2015-12-15 2019-01-15 Nxp Usa, Inc. System and method for modulo addressing vectorization with invariant code motion
SG10201703532PA (en) * 2017-04-28 2018-11-29 Huawei Int Pte Ltd Method and System for Symmetric Swarm Authentication
CN117061128B (en) * 2023-10-11 2023-12-22 北京天润基业科技发展股份有限公司 Verification method and device for data replacement, storage medium and electronic equipment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4471164A (en) * 1981-10-13 1984-09-11 At&T Bell Laboratories Stream cipher operation using public key cryptosystem
US4723284A (en) * 1983-02-14 1988-02-02 Prime Computer, Inc. Authentication system
US4633036A (en) * 1984-05-31 1986-12-30 Martin E. Hellman Method and apparatus for use in public-key data encryption system
US5054066A (en) * 1988-11-16 1991-10-01 Grumman Corporation Error correcting public key cryptographic method and program
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels
US5142579A (en) * 1991-01-29 1992-08-25 Anderson Walter M Public key cryptographic system and method
US5295188A (en) * 1991-04-04 1994-03-15 Wilson William J Public key encryption and decryption circuitry and method
US5220606A (en) * 1992-02-10 1993-06-15 Harold Greenberg Cryptographic system and method
US5297206A (en) * 1992-03-19 1994-03-22 Orton Glenn A Cryptographic method for communication and electronic signatures

Also Published As

Publication number Publication date
EP0605289A1 (en) 1994-07-06
CA2112518C (en) 2003-12-02
FR2700430A1 (en) 1994-07-13
DE69331183T2 (en) 2002-07-04
CA2112518A1 (en) 1994-07-01
ES2168270T3 (en) 2002-06-16
JPH06348202A (en) 1994-12-22
BR9305279A (en) 1994-07-05
FR2700430B1 (en) 1995-02-10
EP0605289B1 (en) 2001-11-21
DE69331183D1 (en) 2002-01-03
US5483597A (en) 1996-01-09

Similar Documents

Publication Publication Date Title
JP3675494B2 (en) Method and apparatus for authenticating at least one identification device by means of a confirmation device
US8171289B2 (en) Method and apparatus to provide authentication and privacy with low complexity devices
JP4216475B2 (en) Cryptographic indexed key update method and device having leakage resistance
JP3966912B2 (en) A system for authenticating at least one prover with a collator
US7167984B2 (en) Method and device for generating approximate message authentication codes
US5799088A (en) Non-deterministic public key encrypton system
US8870084B2 (en) Method and system for the generation and validation of personal identification numbers
JP4774492B2 (en) Authentication system and remote distributed storage system
CN100432889C (en) System and method providing disconnected authentication
US6307938B1 (en) Method, system and apparatus for generating self-validating prime numbers
CN110710155A (en) Progressive key encryption algorithm
EP1992101A2 (en) Secure data transmission using undiscoverable or black data
JPWO2008056613A1 (en) Authentication device
WO2002058320A1 (en) Method and apparatus for generating a group of characters sets that are both never repeating
CN109818752B (en) Credit score generation method and device, computer equipment and storage medium
EP1234404B1 (en) Generation of a mathematically constrained key using a one-way function
CN113498591A (en) Password system and method
US20150304103A1 (en) Method of generating unique and hardly predictable numbers of coupons
Fischer et al. A public randomness service
CN106100823B (en) Password protection device
JP2002208925A (en) Qualification authentication method using variable authentication information
US20230327884A1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
Zhan Anti-fake technology of commodity by using QR code
Abiega-L’Eglisse et al. A new fuzzy vault based biometric system robust to brute-force attack
CN114491591A (en) Data use authorization method, equipment and storage medium for hiding trace query

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees