JPS58181350A - 公開通信回線に於てデイジタル通信の秘密を保持する為の方法と装置 - Google Patents

公開通信回線に於てデイジタル通信の秘密を保持する為の方法と装置

Info

Publication number
JPS58181350A
JPS58181350A JP58008012A JP801283A JPS58181350A JP S58181350 A JPS58181350 A JP S58181350A JP 58008012 A JP58008012 A JP 58008012A JP 801283 A JP801283 A JP 801283A JP S58181350 A JPS58181350 A JP S58181350A
Authority
JP
Japan
Prior art keywords
integer
binary
communication
multiplier
bit
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.)
Pending
Application number
JP58008012A
Other languages
English (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPS58181350A publication Critical patent/JPS58181350A/ja
Pending 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 技術的背景 本発明は、非公開であるべきディジタル通信が公開通信
回線によって伝送され、当事者以外の第王者に受信され
得ることが可能な場合、その秘密を保持する為のディジ
タル通信の新矧なる暗号方式と装置に関するものである
。ディジタル通信網の、免速な拡張に伴い、ディジタル
通信の秘密を保持する為の実用的な装置の必要性が緊弁
の課題となっている。即ち、この様な通信網では$神に
わたる利用者によって同一の通信設備が利用され、しか
もその通信内容が当事者以外によって受信され得ること
を考慮しなげればならないからである。
この様な通信網を通じて効率良く伝送されるべき通信に
は、金融、医療、人事関係の資料、電子郵便、文献資料
、テレビジョンによる会議の画像、信用調査に関する情
報等があり、その内容の重要性から秘密が保持されなげ
ればならない。
ディジタル通信の秘密を保持する為の旧来の暗号方式で
は、非公開通信の送信者と受信者双方が暗号化と解読の
為の共通(秘密)鍵を事前に所持しなければならない。
この旧来の方式の概要は、論文C+E+5hannOn
著、  ” Communication Theor
yOf 5ecrecy Systems”、 Be1
l ’System Terh、J。
VOl、281  T)D、656−715.  Oc
t+nber 1949゜に記述されている。それによ
ると、共通鍵が有効である間に暗号化される通信すべて
に含まれる情報量に対し、少なくとも同じ量の情報が共
通鍵に含まれる場合にのみ被布が完全に保持される。勿
論、共通鍵は当事者以外の第三者に受信される可能性の
無い方法によって、例えば配達証明付で当事者に伝達さ
れなげればならない。大量の共通鍵を製作、伝達し、更
に秘匿することは実際上困難であり、大規模なテイジタ
ル通信網に於て通信の秘密を守る為に旧来の方式を採用
することは現実的とは言えない。
共通鍵の交換を不要にする為、暗号化の他の方法ノイ<
ツかが、論文W、Diffie、M、E、Hel1ma
n共著、” New Direct、1ons in 
Crynt、ogranhy”。
IEEE Trans−Info、Th、、Vol、I
T−22,np−644−654、November 
1976、によって提案された。これらの方法では、暗
号を解読する為に解析者が行う計算を複雑にすることに
より、通信の秘密が守られる。前記の共通鍵の交換に対
し、この方法では公開鍵が事前に交換されろ。即ち、鍵
がどのIIG信者に属するかは秘密ではなく、秘密の通
信を交換しようとするすべての利用者に対し公開されな
ければならない。この公開鍵は通信文を暗号化する為に
用いられる。一方、非公開鍵は受信者にのみ知られてお
り、通信文を解読する時に用いられる。ここで、非公開
鍵は公開鍵に対し、解読を数学的により困難にする様に
工夫されている。本発明の一つの目的は、通信の秘密を
保持し、公開鍵、非公開鍵の事前の伝達を全く必要とし
ない新親なる技術を提供することである。
発明の要旨 本発明を説明する為、有限体、特にCF(2)の基本的
な術語とその性質を使用する。有限体にライては、F、
J+MacWilliams、 N+J+A、5lna
n  共著、  ”  The  Theory  o
f  Error−Cnrrect、ir+1z  G
Oder+ ”。
North−HOコ1and Publishin、g
 C○、+ 1977+ 等の現代式数学に関する教科
書を参照されたい。更にm○du la r演算(即ち
、通常の演算による解のある特定の除数による剰余を最
終的な解とする演算)の基本的な術語、性質については
、T 、L 、Bo酎り著、  ”  Di、pHi士
?l  Net、w○rl<s  and  C0rr
nut、er  5vStρrnS”。
JOhn Wilpy and 5OnS+ 1971
+等のディジタル計厘に関する教科1を参照されたい。
有限体GF(2)は2 幀の異なる元を含む数集合であ
り、実数に於ける交換、結合、分配の法則と同じ法則を
用いて元の加算、乗算が実行される。CF(2)の実用
面での有利さは、その各元がm個の二進数I成分を持つ
はクトルで表示でき゛る点にある。GF(2)の元Bに
ついて、もし元B がN = n、 1.・・・、2−
2につきすべて互いに異なる時、Bを)Q始元であると
言う。この時、CF(2)の任練の零でない元Cは −BN で表せる。ここで、Nは0から2−2までの整数である
。実数で甲いられろ術語と同様に、このような整数Nを
Bを底とするCの「対数」と呼び、i! = 1oqB
c と書く。7T:B、NからCを求めることを「指数演算
」と言い、BとCからNを求めることを「対数をとる」
と言う。
前記のDiffeと)Iellmanの論文によろと、
七iXh!体GF(2”) に於ける指数演算にはm斗
1回辺ト最大限2m回のGF(2)乗算を必要とし、χ
、E数をとる為の演算に比べ遥かに容易に実行できろ。
後者については、すべてのmの値について有効なツ 方法の中で最良の計算法を用いても22 回のCF (
21]])演算を必要とする。本発明の一つの目的は、
GF(2m)に於ける指数演算にわずか1r・回のGF
 (2” )乗算を必要とするだけのりfルなるノブ法
を導入することである。
大きなmの値については、CF(2)に於て対数をとる
ことは実質的に不可能にμえる。例えばm−127とす
ると、約10 回のGF(2) rai算が必要である
。これは、−秒の百万分の−に一回のGF(2)乗算を
実行できろ様な超高速イ1@機を用いても400.00
0年を要する計算である。
この困難を克服する為に、二人の通信者間で相互の公開
鍵を事前に知ることにより共通の非公開鍵を構成する方
法が、報告S、BprkovitS、  J。
Kowalchuk、 B+Schanning共著、
ImDlementiMgPublic Key 5c
herDe”、  IEEE Comrunicat、
ionsMagazine Val。17. pp、2
−3. May 1979+に於て開発された。本発明
の一つの目的は、どの様な鍵も事前に必要とせずにディ
ジタル通信の秘密を保持する為、GF(2)に於て対数
をとることの困難さを克服することである。
本発明では次の事実に注目する。即ち、非公開通信があ
る変換方法によって公開通信の中に隠され、当事者以外
の第三者が逆変換を用いて非公開通信を再生することが
不可能であっても、その変換を施した当事者は容易に逆
変換できるということである。
上記の事実に基いて、本発明ではディジタル通信の秘密
を守る為に次の操作が行われる。即ち、三種の暗号化さ
れた通信が各非公開通信毎に伝送されろ。まず、送信者
Sが隼−の専用暗号変換器を用いて非公開通信を暗号化
し、公開通信回線を通じて送信する。次に、受信者Rが
もう一つの専用暗号変換器を用いて、既に暗号化されて
いる通信をもう一度暗号化する。更に、この再暗号化さ
れた通信は回線を通じてもとの送信者Sへ返信され、S
によって第一の暗号変換が除去されろ。この時点で、通
信は再暗号化を行う為に受信者Rvcより施された変換
によってのみ暗号化されている。
この通信を送信者Sが受信者Rへもう一度送信し受信者
Rが自身で施した変換を除去することによってもとの非
公開通信を得ることができろ。−佃の非公開通信を送る
為に三個の公開通信を送るという−F記の概念は、A1
1en C1Knnheirn著。
” CryDtograDhy−A Primer″、
nD、345−346゜John Wiley & 5
ons、 1981に論じられている。
そこでは、暗号化と解読の為の変換は有限体CF(2m
)ではなくGF(P’)に於て行われている。ここで、
Pは素数である。
本発明のもう一つの目的は、一度三個の公開、重信によ
って一個の秘密通信を伝送した利用者が、以後他の非公
開通信をそれぞれ唯一つ公開通信を伝送することにより
交換できる方法を提供することである。
本発明では、積が1 (moclulo 2 −1 )
(通常の実数演算に於ける積の2−1を除数とした時の
剰余が1となる)である様な二個−組の乱数(整数)を
用いる。従って、積が1 (modulo 2m−1)
となる様な二個−11il′llの乱数(整数)を発生
させる為の新規な方法を提供することも、本発明の目的
の一つである。
本発明のその池の目的と特徴は、以下図と共に発明実施
例の詳細を述べるに従って明確になる。
発明実施例の詳細 ある公開のディジタル・データ通信網に於て、利用者J
が利用者Kに非公開通信を送ると仮定する。ここで、「
公開」とは通信回線で伝送中に受信者以外の第三者に受
信される可能性があることを言う。但し、通信の送信者
を明らかにする為に「接頭符号」(ヘッダー)が通信に
付加されているとする。従って、通信を受は取った者(
当事者である受信者又は当事者以外の第三者)はその発
信源を知ることができろ。本発明の、三個の公開通信を
交換することにより利・困者Jから利用者にへ一個の非
公開通信を送る方法を、流れ図1でよって図1に示す。
図1VC於て「eXD、」と示されたブロック1.2.
3.4では、有限体GF(2)に於ける指数演算が実行
される。lPa1red rn@J  と示すレタブo
 ツク5,6は、1から2−2までの値をとる二個−紹
の整数を発生する所有者専用の乱数発生器を示1−0こ
の二個−組の乱数の特徴については後に詳述する。
通信回線の利用者Jがらの利用者にへ送もおる非公開通
信Mには、0と1以外のGF(2III])のすべての
元が用いられろ。この通信はm個の二Jli数本で ”” 〔bIn−1,bm−21”’l b+ 、bO
〕の様に表記さ与る。ここで、b]I]−1は通信の最
初のビット、bm−2は第二番目のビット、以下同様で
ある。上記の条件M\o、1により、上記m個の二進数
1がすべて0又はすべて1になることはない但し、本特
許出願者のアメリカ合衆国特許出願(標題” Cnmn
utational Method and ADpa
ratusfor、Finite Field Ari
thmat、ic″9日本国特許出願番号、特願昭57
−20922[]号)に説明された正規基底により、(
1,F(2)の冗が表示されているとする。上記の二側
を除(と、通信Mはm個の二進数字のどのような組合せ
にも成り得る。
正規基底によるCF(2’)の元の表示は新規な方法で
あり、旧来の方法による表示を用いた時に必要な論理回
路より遥かに簡単な論理回路でGF(2m)演算を実行
できる。特に、指数演算を実行する為の装置の設計は著
しく簡略化され、しかもその装置の効率は増大する。
有限体GF(2°)には正規基底が常に存在する。
即チ、A、  A2.A4−、、、A2カcxF<2m
)ノ基底つまりGF(2m)の任意の元Bが一意的にB
= b、1A2+b。−2A2+−+b2k +b A
2+b A 0 =「bm−1,bIT]−2,・・・、b2+ b1#
 bo ]と表せる様な元Aを常に見つけることができ
る。
ここで、bm−1’ bm−2’・・・、b2.bl、
boは二進数字である。有限体GF(2)の任意の元を
上記の様に表示すると、指数演算の為に用いられる乗算
とされる。
本発明によると、通信回路の利用者Jと利用者にの双方
が、一対の整数を発生させる為に必要な専用の乱数発生
器をそれぞれ所有する。この一対の整数は、それぞれ1
から2−2までのすべての整数にほぼ等しい確率で成り
得る。更に、この一対の整数の値は、後に説明される様
な関係を満たす。
利用者Jが非公開通信Mを利用者Kに送りたいとする。
まず、利用者Jは図1のブロック5に示されたとうり、
J専用の乱数発生器により一組の整数E   を発生さ
せる。次に、E、を用いてJ’   J 図1のブロック1に示された指数演算を行い、GF(2
)の冗 ’   Y=M”’J         (11を計算
する。このYlが非公開通信Mの最初の暗号化であり、
かつYl はm個の二進数字成分を持つベクトルである
。更に、利用者JはYl  を図1の公開通信回線を通
じて利用者Kに送る。
公開通信Y1 は、その接頭符号(ヘッダー)から利用
者Jから利用者Kに送られたことがわかる。
通信Y1  を受信した後、図1のブロック6で示され
た様に、利用者にはに専用の乱数発生器を用いて一組の
整数EK、DKを発生させる。次に、利用者には図1の
ブロック2に示された様に陛を用いて指数演算を行い、
C,F(2)の元Y2= Yl”’K        
(2]を計算する。元Y2は非公開通信Mの第二番目の
暗号化であり、m個の二進数1成分を持つベクトルであ
る。式<1+、 (2+より、 Y =M”’J”’に−(MgK)町    (3)が
成り立つ。更に、図1に示した様に、利用者には公開通
信Y2 を公開通信回線を通じて利用者Jへ送り返す。
公開通信Y2の接頭符号(ヘッダー)により、それが利
用者Kから利用者Jへ送られた通信であることが確認さ
れる。
この時点で、利用者JはJ専用の乱数発生器により求め
られたもう一つの整数DJをまだ使用していない。後に
更に詳しく説明される様に、この整数DJは1から2−
2までの値をとり、積かた時の剰余が1であること、又
は言い換えろとある整数について EJD、二Q(2−1)+1      (51である
ことを意味する。利用者Jは公開通信Y2を受信し、図
1のブロック乙に示された様にこのり、を用いて指数演
算を実行し、C,FC2)の元Y3=Y2J(6) を求める。このY3は非公開通信Mの第三番目の暗号化
であり、かつm個の二進数案成分を持つベクトルである
。式(3)、(5)、(6)から、Y3=MEK(Q(
2”−1)+1)=(MQEK)2m−IMEK(7゜
となる。ここで、MすにはGF (2m)の零でないあ
る元である。更に、F、JlMacWilliam、 
JJ、A。
5laa、ne共著、  ” The Theorv 
nf Error CnrreC)t−ing  C0
des ” 、 D  +9 6.  North  
Ho1land  Pohl、i 5hintrGo−
、1977,に示された様に、GF(2’)の任意の零
でない元は 82m= = 1          (81を満たす
。従って、式(7)、(8)よりY =MEK    
       (91となる。
次に、図1で示した様に、利用者Jは公開通信回線を通
じて第三の公開通信Y3を利用者Kに送る。通信Y3を
受信した利用者には、K専用の乱数発生器で既に求めた
もう一つ整数DKを用いて図1のブロック4に示された
様に指数演算を実行し、GF(2m)の元Y3DKを求
める。整数DKハ1から2−2までの値をとり、ある整
数Q′について EKDK=Q’ (2−1)+1       (10
)となる様な性質を持つ。式(9)、0ωにより、YD
K、EKDK−MQ’(2m−1)+1=cMQ’)2
m−IMol)となる。ここで、MQ′はGF(2”)
の零でない元だから、式(8)を式旧)にあてはめれば
YDK−M となる。この様にして、図1に示されたとうり、利用者
には利用者Jが意図した様に非公開通信Mを受信したこ
とになる。
上記の公開通信の交換が安全な暗号方式である為には、
公開通信Y1.Y2.Y3を不法に受信した者が暗号化
された非公開通信を解読することが実質的に不可能でな
ければならない。もしこの不法な受信者が有限体(1,
F(2)の対数を計算できろとすると、まず式(2)に
従って 陛= logY(Y2) を求める。次に、Eυclid の最大公約数演算法を
整数2m−1,EK に応用して、比較的容易にDKを
計算できろ。更に、合法的な受信者にと同じ方法により
、Y3DKを容易に計算できる。しカル、mが例えばm
〉100と大きい時、GF(2’) K於て対数を取る
ことは現在の知識では実質的に不可能であり、不法な受
信者が上記の方法で通住を解読できることはあり得ない
。通信Y1.Y2.Y3からMを求めることとCF(2
)  に於ける対数の計算とは、数値計算上ある点で同
値ではない。従って、不法な受信者がMを得ることは不
可能である。但し、上記のことは現在数学的に証明され
−(いない。実際、共通鍵でそれを用いて暗号化される
通信に含まれる情報と同量の情報量を含むものを事前に
交換する場合を除いては、どのような暗号方式について
もその完全な秘密保持特性が数学的に証明されたことは
ない。図1に示された方式は、その秘密保持性を数学的
に証明することはできないが、事前に共通鍵を交換しな
い方式で現在知られている方式すべてと同等の確固とし
た秘密保持性を持つ。
実際に本発明を実施する場合は、大きいmの値が用いら
れる。後に説明される理由によると、m二127が有利
な値である。しがし、説明を容易にする為、ここでは小
さな値m=7について詳細を説明する。
有限体CF(2)は、本出願者による既述の出願(日本
国特許出願番号、特願昭57−209220号)に於て
説明した様に、正規基底を用いて表示される。この表示
方式では、まず二進数7がら成る体GF(2)の上で既
約であり、しがも線型独立な解を持つm次多角弐P(X
)=X+X+1を選ぶ、次に、P(Xlの解としてAを
定義する、即ち、A+A +1=O(12a) が成り立つ。更に、二進数成分を持つ単位ベクトルを次
の様に正規基底に対応させる。
A  = [0,0,0,0,0,0,11A  = 
CO,0,0,0,0,1,0〕A  = [0,0,
0,0,1,0,0]A  −[0,0,0,1,0,
0,01A  = r O,0,1,0,0,0,0’
)A  = [0,1,0,0,0,0,0]A  =
 r 1..0,0.0,0,0,01゜この時、GF
(2)の任意の元B、CはB= rb6.b5.b4.
b3.b2.b、 、bo]Cr = rC6*C5+
C4+C3+C2+C1、C01の様にベクトル表示さ
j、ろ。但し、上式はB=b6A64+b5A32+b
4A16+b3A8+b2A4+b1A2+boA(1
2b)C工。6A64+c5A32+c4A16+c3
A8+c2A4+C1A2+coA(12C)をそれぞ
れ意味する。
有限体GF(2)ではb =bであり、CF、(2)で
は平方演算が線型演算となり、更にA  Jか成り立つ
から、式(12b)を平方するとB2−b5A64+b
4A32+b3A16+b2A+b1A+b0A+b6
A又は B  −rb5.b4.b3.b2.bl、bo、b6
]となる。この様に、上記の正規基定を用〜・た場合G
F(27)での平方演算は単に最上位の二進数成分を最
下位へ移動することにより行われる。これtマ巡回シフ
ト(送り)レジスタにより実行できろ。
上記正規基底を用いると平方演算がGF(2)の元のベ
クトル表示の巡回置換に対応し、更に1 =1であるこ
とから、GF(2)の元Hま成分カーすべて1のベクト
ルで表示される。即ち、1 = A+A2+A’+A8
+A16+A”+A”    (12d)である。式(
12α)と(12d)により、CF(2’lの128個
のすべての元についてその二進ベクトル表示を求めるこ
とができる。更に、式(12b)と(12C)を乗算す
ることにより、BとCの積D −Bc=〔d6.d5.
d4.d3.d2.dl、dolが求められろ。積ベク
トルDの二進数成分dl&よi = 0.1.・・・、
乙について di”bi (Ci−1+C1−3”1−6)+Ci 
(bi−]]+bi−3+bi−fi+bi−3(Ci
−1+0i−2+C1−4)+0i−3(bi−1+b
i−21−4+bi−4(0i−2+0i−5+0i−
6”0i−4(bi−2+bi−5+bi−6)+bi
−ICi−5+bi−50i−1+bi−ICi−1”
3’で表せる。ここで、添字が負の時は、rnos−u
l○7とみなされる。即ち、上式に於て添字カー−1の
時は6を意味し、−2の時は5を意味する、等である。
例えば、式(13)に於て1−6とすると、弐(13+
14d3−b3(C2+co+C4)+C3(b2+b
o+b4)+bo(c2+01+c6)+co(b2+
b1+b6)+b6 (CI ”C5”C4)+06 
(1)] +b5+b4 )+b2C5+b5C2+b
2C2(14)となる。式jl:’n、 (141に於
ける演算はC,F (2)σ)上−ご行われ、二元算法
と呼ばれる。有限体GF (2)に於ける乗算はテイジ
タル論理積演算に等しく、GF(2)に於ける加算はデ
ィジタル排他的論理和演算に等しい。
式113)より、積D=BCの各成分dよは、成分す、
Cを一桁ずつ巡回移動して(・(ことにより遂1 次求められることがわかる。つまり、BとCのベクトル
表示の成分からi=m−1につきdよ、を計算する論理
回路を考えると、13. Cを一回ずつ逐次巡回置換し
、その置換ベクトルの成分に同じ論理回路を作用させる
ことにより、積ベクトルの残りの成分d m−21dm
−3−・・−、d2.dl、doを逐次計算できること
がわかる。このような特徴により、単一の簡単な論理回
路(以後0−M回路と評ぶ)ヲ用いて積ベクトルのm個
の成分を逐次計算できる。又は、m 4ti!ilの同
様な0−M回路により、積ベクトルのm個の成分を同時
に計算できる。
図1aは、本出願者による既述の特許出願(日本国特許
出願番号、特願昭57−209220号)に説明された
GF(2,)の為の乗算器のブロック論理図である。本
乗算器は積の各二進数成分を逐次計算する□図1αには
一個の0−M回路200が用いられており、本回路は七
個の二進加算器201.203,205,207,20
9,211,213. 九イ固のANDゲート215,
217,219,221,223゜225.227,2
29,231.  と二個の上桁巡回送りレジスタ23
3.235  から構成されている。乗算される二僻の
元のm個の二進数字成分は、送りレジスタ233.23
5  に記憶される。第一刻時周期(クロック・サイク
ル)の後、積の成分は送りレジスタ237に記憶される
。既述の様に、二進乗算は論理積演算に等しく、二進加
算は排他的論理和演算に等しいから、図1αに於て第一
刻時周期の後、乗算器の出力は式(13)に1−6を代
入したd6となる。第二刻時周期の間に送りレジスタ2
ろ6゜2ろ5の内容は左方へ一桁移動され、従ってこの
周期に於ける出力はd5 である。同様の過程を繰り返
すことにより、第七刻時周期終了後積りの七個の成分が
すべて計算され、送りレジスタ237に記憶されている
図1bは積の七個の成分すべてを同時に計算する乗算器
を示す。本乗算器は七個の同様なO−M回路より成り、
各回路への入力はその隣接する回路への入力に対し一桁
巡回置換されている。図を簡単化する為、d6.d5.
d4.doを計算するO−M回路への接続だけが図示さ
れている。
図2は、有限体CF(2)に於て指数演算を実行する装
置のブロック論理図である。ここで、GF(2)乗算器
21は図1α、又は図1bで示された様な乗算器である
。図1αの乗算器が用いられた場合は、積の七1固の成
分すべてを逐次計算する為に、乗算器への上回の刻時入
力が必要である。第七刻時周期の終了後、図1αのレジ
スタ2!17の内容は図2に於ける乗算器21の出力ラ
イン39に送られる。
図2の装置は、有限体GF(2)に於て平方演算と乗算
を反復して行うことによりB の計算を実行する。本装
置は、既に説明した有限体GF(2)に於ける乗算器2
1と、入力ライン25を持つ巡回送りレジスタ26、伝
達器(ラッチ)27、プリセット人力43を持つ累算レ
ジスタ(アキュムレーションOレジスタ)29、入力ラ
イン33を持つ送りレジスタ31、伝達器(ラッチ)3
0、刻時益田カライン35、ANDゲート37、制御ラ
イン41、そして伝達器(ラッチ)30へ接続する乗算
器21の出力ライン39から構成される。
レジスタ23.33と伝達器(ラッチ)30は、パルス
の立ち下がりによりトリガされる。伝達器(ラッチ)2
7は刻時パルスの立ち上がりによりトリガされる。有限
体GF(2)の元Bの正規基底による表示の二進数成分
は、初期に於てライン25を通じ図2の巡回送りレジス
タに記憶される。
累算レジスタ29には、プリセット人力43によりc6
=c、c、c3−c2we1=co−’+が初期に記憶
される。これはGF(2)の元C=1の正規基底による
表示である。送りレジスタ31には、整数Nの二進法表
示の二進数成分が、初期に於てライン63を通じて記憶
される。即ち、 N =n 6 ”2” nl ”22n2” 23n3
 ” ・・’ ” 2m−1nTn−1又は N −nO”2n1 +4 n 2 ”8 n 3 +
16n 4 +32n 5+64n 6  (15)の
n。、nl、・・・+n6が記憶されている。ここで、
式C151の右辺の加法は整数の通常の加法である。従
って、整数Nは0から1+2+4+8’+16+32+
64=127=2 −1までのすべての値を取り得る。
式α9より、B は BN=Bno+2nl+4n2+8n3+16n4+3
2n5+64n6(15・)又は BN = Bn oB2 n t B4 n 2 B8
n 3B16 n4 B32ns B64n6(15b
)と表せる。
初期に於て、noは図2の装置のライン41上にあ、る
制御ビット(符号)である。n o −0の時、乗算器
21は作用せず、ANDゲート37により伝達器(ラッ
チ)60への開時入力は0になり、累算レジスタ29ヘ
データが送られない。従って累算レジスタ29の初期に
於ける内容はそのまま保存される。一方、no’+=’
 1の時は、乗算器21が作動し、ライン35上のクロ
ック(刻時)パルスはライン45上に移り、乗算器の出
力ライン69のデータは適切な時期に累算レジスタ29
へ送られる。伝達器(ラッチ)27は、ライン35上の
刻時パルスの立ち上がりの時、累算レジスタ29からの
データを乗算器21へ送る。従って、乗算器21への入
力はGF(2)の元Bと1となり、第一刻時周期に於け
る出力はGF(2)の元B・1=Bのベクトル表示の二
進数成分となる。
これらの成分は、ライン45上のパルスの立ち下がりの
時に、累算レジスタ29の初期の内容に代って記憶され
る。この様にして、第−論理刻時周期の終了後、累算レ
ジスタ29の内容は、二進数殉 のいずれの値について
も、 GF(2)(7)元BnOのベクトル表示となる
◎ 乗算器21の積が累算レジスタ29へ送られると同時に
、巡回送りレジスタ26の内容は左方へ一桁巡回移動さ
れる。本文及び本出願者による既述の特許出願(日本国
特許出願番号、特願昭57−209220号)に於て説
明した様に、この移動によりレジスタ23の内容は既述
の正規基底によるB のベクトル表示 B=〔b5.b4.b3.b2.bllbo、b6〕と
なる。同時に、送りレジスタ61の内容も左方ヘー桁移
動する。この様にして、第一刻時周期終了後、ライン4
1上の制御信号はnl  に変わる。
既述したように、累算レジスタ29にはBoのベクトル
表示が記憶されている。従って、n1=0ならば第二論
理刻時周期に於てライン45上の信号は0であり、第二
周期終了後も累算レジスタ29の内容はGF(2)の元
B n 6のベクトル表示である。一方、n1=1なら
ば伝達器(ラッチ)30と乗算器21が作用する。刻時
パルスの゛立上がりに於て、伝達器(ラッチ)27は累
算レジスタ29のデータを乗算器の入力へ送る。乗算器
の出方はGF(27)ノ元BnO・B2=BnO+2ノ
ヘクトル表示ノ二進数成分であり、これらの成分は刻時
パルスの立ち下がりの時、累算レジスタ29の以前の内
容に代って記憶される。従って、第二論理刻時周期終了
後、累算レジスタ29の内容は、二個の二進数n。+n
lのすべての値の組み合わせについて、BnO+2n1
  のベクトル表示となる。
同様の通称を反復することにより、図2に於て第七cm
=7)論理周期終了後、累算レジスタ29の内容は、式
(15α)で示されたGF(2)の元Bno”2n 1
 ”4n 2 ”8 n 3 ”16 n4 ”32n
5 ”64n6− B N Q61となる。この様にし
て、目的のとうり図2の装置はGF(2’)に於ける指
数演算を実行する。しかも、最大限m=7回のGF(2
)乗算でB を計算することができる。
図2の装置に利用されたB 計算は、指数欅専を実行す
る為の「平方演算と乗算の反復法」と呼ばれる方法で、
GF(2)以外の数集合に於ても応用できる。この発明
の新規なる特徴は以下の点にある。まず、ある正規基底
を用いると、GF(2)での平方演算が平方すべき元の
二進ベクトル表示を単に巡回置換することにより実行で
きる。このことは、本文及び本出願者による既述の特許
出願(日本国特許出願番号、特願昭57−209220
号)に於て説明されている。従って、GF(2’) に
於て最高m回の乗算を行うことにより、指数演算が容易
に実行できる。一方、CF(2)の元が旧来の方式によ
り表示された場合、平方演算は乗算と同様に実行され、
最高2m回の乗算が必要である。
更に、本文及び既述の特許出願で述べた様に、本発明の
正規基底によるベクトル表示を用いると、GF(2) 
に於ける乗算そのものも簡略化できる。
図2は直列型のB 計算を表す。即ち、ここでは単一の
乗算器が7回使用される。一方、平列型のBN計算は図
2α、2bに示されている。図2aは、Bを表示する二
進数字の列を単に桁移動することにより、B、B、B、
B、B  、B  、B  の各項が既述の正規基底に
よるベクトル表示で求められることを示す。図2bに示
された様に、これらの項はB を求める為に用いること
ができる。
no−R1ならばBが乗算すべき項として乗算器61の
入力へ送られ、n o =0ならば1が送られる。同様
に、n、=1ならばB が乗算器61の入力へ送られ、
n1=0ならば1が送られる。従って、乗算器61の出
力はn。とnlのすべての値の組み合わせについてBn
 O” 2 n 1 となる。同じことが、図2bの乗
算器63.65にも成り立つ。
特に、乗算器61,63.65を同時に用いることも可
能である。その時、乗算器、151.(53の出力は6
7に入り、乗算器65の出力とB64 n 6は乗算器
69に入る。乗算器67と69は同時に使用できる。最
後に、乗算器67と69の出力が乗算器71へ送られ、
乗算器71の出力が目的のB となる。
図2bの平列型のB 計算に於ては、特に乗算器61,
63.65が同時に作用し、次の段階で乗算器67.6
9が同時に作用する。実際には、乗算器67の代わりに
乗算器61を再使用し、乗算器69の代わりに乗算器6
6又は65を再使用できる。従って、図2bでは三個の
乗算器だけが必要であり、各乗算器は最高三回まで使用
されろ。
図2の直列型のB 計算ではセロの乗算の為の時間が必
要であるが、この平列型のB 計算では三回の乗算の為
の時間が必要である。従って、図〜2bの平列型では図
2の直列型に対し、計算速度が776となる。
有限体GF(2)について、BNの平列計算には最高m
/2個の乗算器が必要であり、各乗算器は最高(lOy
2m)+1回使用される。これにm=127を代入する
と、GF(2)については同じべ、約127/7=18
.14倍速いが、直列型の一個に比ベロ4個の乗算器が
必要である。平列と直列の様々な混合型をB 計算に応
用することもできる。どの混合型を選択するかは、乗算
器の数とBN計算の速度との関係によって決まる。
次に説明される様に、図6の装置は二進法表示の整数E
、Dを発生する。整数E、Dは1から2 −2=126
までの値を取り、 DE= 1 (mod 127)         Q
71又は、言い換えると、ある整数QについてDE =
 Q(127) + I          Q8を満
足する。弐αnより、Eの値からDの唯一つの値が求ま
る。更に、Eの等は図6の巡回送りレジスタ31の初期
の内容により決定される。即ち、レジスタ61′の初期
の内容を任意に選ぶと、それに応じてEの値も任意に選
ばれる。本発明に於て、レジスタ31′の初期の内容が
いかにして任意に選ばれるかは、後に説明される。
図6の装置の構成は図2のそれに類似している。
図2と図3に用いられた同じ番号は、その類似性を示す
為のものである。図6の装置は、7ビツト「1の補数」
乗算器21’、14個の番地を持つ固定記憶装置23′
、伝達器(ラッチ)27′、30′、ライン43と正負
変換器ろ6により初期の記憶内容e6=e5=e4=e
3=e2=e1=0.eo=1を記憶させる為のセット
入力を持つ累算レジスタ29′、制御ライン41′、巡
回送りレジスタ61′、14段階計数器24、刻時ライ
ン55′、そして伝達器(ラッチ)30′を通じて累算
レジスタ29′にデータを送り込む為のANDゲート6
7/より構成される。表22は、固定記憶装置26′の
14個の番地の内容を示す。
一般的に、 modulo 2−1演算法はmビット「
1の補数」演算法と呼ばれる。ここで、modt+1゜
2−1演算法とは、0から2−2までの整数に関し、通
常の整数の和、積の値を2−1で割った時の剰余を和、
積とする様な演算法である。この様な演算法は、計算装
置に広く用いられている。特に、「1の補数」乗算器の
設計は新規なものではない。これについては、例えばT
、L−Booth著、@Digital Networ
ks and Computer Systems”。
p−250,John Wiley and 5Ons
、 1971  を参照されたい。p−2−1が素数と
なる場合、「1の補数」演算法は有限体GF(P)の演
算法と回じになる。P=2m−1で表される素数はMe
rsennρ素数と言う。P=2−1はMerSenn
e 素数であり、P−2−1,P=2 −1も同様であ
る。本発明はどの様に大きい整数mにも応用できるが、
特にP=2”−1がMersenne素数である様なm
を選ぶと、後述する理由によりシステムの秘密保持性が
増大し理想的である。
図6の装置は、7ビツト「1の補数」乗算器21′を含
む。本乗算器は、既述の様に0から126までの整数を
その元とする有限体GF(127)に於ける乗算器であ
る。 GF(127)の式として式(17)を書き換え
ると、 DE=1            α■の様に簡単な式
になる。GF(127)の元3は原始光である。即ち、
ろ3はj = 1.2.・・・、126についてGF(
127)のすべての0でない元となる。GF(127)
に於ける乙の逆光は85である。これは、6と85の通
常の算法による積の、127を除数とした時の剰余が1
となることか・られかる。従って、GF(127)に於
て (3)r85) = 1              
(20iであり、 (5)= (8!5)           (211
である。
Rを整数とし、その二進法表示が図6のレジスタ61′
の初期の内容とする。即ち、 R= ro+2r1+4r2+8r3+16r4+32
r5+64r6  (221である。従って、図6の装
置はGF(127)の元E=3R(23+ と R D=3  =r85)R(241 を発生することがわかる。上式から式09が成り立ち、
言い換えると、弐αη、08が成り立つ。
図6の固定記憶装置26′は、図6の表22に示した様
に、GF(127)の元の二進法表示(m閣u1.。
127)3.3 =9.3 =81.3  =84.3
  =71゜3”=88.3  =124を記憶箇所0
.1.2.3.4.5.6にそれぞれ記憶している。更
に、累算レジスタ29/の初期の内容は、GF(127
)の元1の二進法表示即ち、e O= 1 、e 1 
=e 2=93 =e 4 =e s:e6=oである
計数器24は14刻時周期の間にOから1′5まで計数
し、各刻時周期に於て、乗算器21′への人の入力とな
るべき信号を固定記憶装置23′の中から選択する。図
2の装置が式(161に示されたGF(2)の元を七刻
時周期の間に計算する機能と同様に、図3の装置は七刻
時周期の後、 E = 3r o”2r 1 ”4 r2”8r 3+
16 r4”32r5 ”64r6= 3 Rrzsで
表示される(1.F(127)の元Eを計算し、累算レ
ジスタ29′の中に記憶している。次に、Eは他の装置
で使用される為にレジスタ29′かう除去され、レジス
タ29′にはGF(127)の元1の二進法表示が再び
記憶される。図3の表22に示された様に、固定記憶装
置53’は元の二進法衣1 示3  =85.3  =113.3  =69.3 
 =62.3  =34.3  =13.6 =42を
記憶箇所7.8.9.10゜11.12にそれぞれ記憶
している。同時に、巡回送りレジスタ31′には、初期
の内容と同じ内容が回復されている。この様にして、式
(ハ)が導かれた過程と同様の過程をたどることにより
、第14刻時周期終了後、     b D == 6− r o −2r l−4r 2−8 
r @−18r 4−32 r 5−64 r 6聾−
R(26)で表されるGF(127)の元りの二進法表
示が、図6の装置のレジスタ29′に記憶されている。
元Eと、その逆数D (modulo 2 −1 ’)
を計算すする為に用いられた論理を装置に応用すること
が本発明の新規なる特徴である。積が1 (modul
oある整数n)となる二整数を求める為の旧来の方式で
は、最初に整数Eが任意に選択される。Eと口が互いに
素であることが、D E = 1 (mod n)を満
たすDが存在することの必要十分条件である。
従って、Euclid の最大公約数演算法により、E
とnが互いに素であることがまず試される。(但し、も
しnが素数であれば、この過程は不要である。)Eとn
が互いに素でない時は他のEが任意に選択され、Eとn
が互いに素になるまでこの過程が反復される。nと互い
に素であるEが選択されると、それがEuclidの方
法で確認されると同時にD E= 1 (mod n)
を満たす整数りも求められる、しかし、Euclid 
の方法を実行する為には整数の除法と邪法(modul
o n)を実行する回路が乗法(modulon)を実
行する回路と共に必要である。一方、図6の装置では唯
一っの乗算器(modul。
n)が必要であり、それが初期に整数Rを任意に選択し
、更にDとEの双方を計算する。
P=2m−1が素数である時、かつその時にのみ1から
2−2までの値をとる整数で、そのi乗がi = 1.
2.・・・t  2”−2について1から2m−2まで
のすべての値をとる様な整数Hを求めることができる。
既述した様に、m=7についてはH==6となる。この
様なHは次の理由により有用である。即ち、1から2−
2までの整数値から同等の確率で整数Rを選択すること
により、E=HRも1から2−2までの整数値を同等に
増り得るということである。この特徴により、本発明の
方式により暗号化された通信を解読しよう、とする場合
、Eを決定することが最大限に困難となる。これが、本
発明に於てP=2−1か素数になる様なmを採用する理
由の−っである。第二の理由は、この様なmについてC
F(2)の対数計算を実行する場合、一般的な有限体C
,F(qlの対数計算に常に伴う困雉さをQ−1の因数
分解によって回避できなし党いうことである。このこと
は、研究論文、S、Pohl、−jnz、 M+Hel
1man共著、” An Improved A]、)
zothmfor CompN]ter Logari
thms over GF’ (p )and 1ts
Crvr+tographic 51gn1fican
ce″、 IEEE Trans、 onInfo、 
Th、、 Vol、IT−24,pp、 106−11
0 、 Jan。
1978、に説明されている。
P=2−1が素数となる様なmを選択することの第三番
目、及びその他の必然的理由を次に述べる。P = 2
In−1カ素数ノ時、C,FC2m)fl Oト1以外
の任意の元Bは原始元となる。即ち、B1がi =1.
2.−.2m−2についてGF(2m)F+0.11u
外のすべての元の値をとる。この様に p 、、 2 
rll−1が素数の時、かつその時にのみ、Y 1mM
”’JはEJがとり得る2 −2個のすべての値につい
てそれぞれ異なる値をとる。このことは通iMの値によ
らないC即ち、通信M&’!GF(2”)(7)0 、
 また 以外のすべての清となり得る)。同様に、P−2m−1
が素である時、かつその時にのみ、Y2=Y1”’には
Yl の値にかかわりなく、EKがとり得る2m−2個
のすべての値についてそれぞれ異なる値をとる。更に、
Y3=Y2JはY2の値にかかわらず、D、のとり得る
2m−2個のすべての値についてそれぞれ異なる値をと
る。この様に、Yl、Y2.Y3のとり得る値の数を最
大にすることにより、公開通信Y1.Y2.Y3だけが
ら非公開通信Mを解読することが最大限に困難となる。
最後に、図6のレジスタ31′の初期の内容として、H
の二進法表示の二進数成分子 6 * r s 、 r
4 。
r3.r2.rl、roがいかにして選ばれたかを説明
する。本発明によると、通信回線の利用者が一組の乱数
(整数)E、Dを発生する必要がある度に、上記二進数
成分が改めて「任意選択」される。即ち、図1の流れ図
の様に利用者が非公開通信を発信する度に、また非公開
通信を最初に受信する度に、上記二進数成分が選択され
る。乱数発生の為の旧来の様々な方式が、上記「任意選
択」に応用できる。しかし、m桁全値線型帰還送りレジ
スタによる乱数発生が望ましい方法である。このレジス
タをm−7の場合について図4に示す。
図4の上桁全値送りレジスタは、上桁レジスタ91と二
元加算器93より成る。ここで、シフトレジスタ91の
内容は、各刻時周期毎に一桁ずつ左方へ移動する。更に
、加算器96はレジスタ91の左端及び右端の桁の二進
数を二元加算する。
この二進数の和は、レジスタ9.1の内容が移動する時
その右端の桁へ送られろ。この様に、レジスタ91の「
状態」はm次元二進2クトルとなり、その成分がレジス
タ91の左端から右端にかけて記憶されている、図4V
C於て、レジスタ91は[1,0,0,1,1,1’]
の状態にある。図4の線型帰還送りレジスタに対する「
全値」という表現は、次の機能を表す。即ち、レジスタ
に刻時入力が送られるに従い、レジスタの状態は成分が
すべて口の場合を除いて逐次2−1=127個のすべて
の値をとる。そして、以上の過程が更に繰り返されろ。
本発明によると、図4の全値送りレジスタは0でない任
意の状態から出発する。それから、図2、乙の装置より
も遥かに短い周期で、本装置へ連続的に刻時パルスが送
られる。図6のレジスタ31′の状態CrOlrl 、
r2.r31r41r5 、r6:]の為に改めて「任
意選択」が必要である時には、必ず図4の送りレジスタ
の刻時(クロッキング)が充分な時間間隔で中断され、
その間にレジスタ91のその時点での状態が図6のレジ
スタ31′に送られる。
次に、図2.3.4の装置により、通信回線の利用者J
から利用者にへ、図1の流れ図に従い非公開通信の伝送
が可能であることを例を挙げて説明する0図4αに示さ
れた様に、各利用者が図2.3.4の装置のいずれかを
所持するとする。ブロック101は図4に示された方式
の乱数発生器である。
ブロック106は図6の方式の装置であり、積が1 (
modulo 127 )であるような二つn数E、D
を計算する。ブロック101と’103はPaired
rng” 105を形成し、その作用は図1に於てブロ
ック5又は6で示されている。ブロック107は図2,
2α又は2bに示された方式の正規基底指数演算器であ
り、その作用は図1に於てブロック1、2.3又は4で
示されている、利用者J、にの乱数発生器101に含ま
れる全値送りレジスタの初期状態は、それぞれ独立に選
択される。更に、本発明によると、これらのレジスタの
刻時周期」は釣ずかに異なることが望ましい。
信号処理の過程は、利用者Jが利用者Kに非公開で送る
べき通信 M=[0,1,1,0,1,0,1] を用意してから始まる。利用者Jは、まず図4に示した
方式のJ専用の全値送りレジスタを呼ひだす。この時点
で、レジスタの状態が[1,0,0,1,tl、1〕で
あるとする。次に、利用者Jはこの状態を初期状態とし
て図6方式の装置のレジスタ31′へ送る。従って、レ
ジスタ61′の内容はrr6.r5.r4.r3.r2
.rl、ro’] =r 1.1.1.1.0,0.1
 ’]であり、これは整数R=121の二進法表示であ
る。式+231. (241に関連して既に説明した様
に、この装置は次に整数EJ−DJを計算する。EJ、
 DJのmodulo ’ 127による式は、E、=
3  =23 DJ=3  =116 となる。図6の装置からの出力は、これらの二整数の二
進法表示 EJ=r O,0,1,0,1,1,1”]D、=r 
1.1.1.0.1.0.01である。(実際には、利
用者Jは送信すべき非公開通信Mを用意する前にE、、
DJを求めてお(ことにより時間を節約できる。)次に
、利用者Jは図2方式の装置のレジスタ31へE、の上
記二進ベクトルを送り込み、レジスタ23へ通信の二進
ベクトルMを送り込む。これら二つのレジスタの内容は
、 E J= r ns 、ns、n4.n3.n2.nl
、no〕=r O,0,1,0,1,1,1]M =r
b6.b5.b4.b3.b2.bl、bo]=[0,
1,1,0,1,0,1]となる。図2のレジスタ29
には初期値C=CCs、: C51C4* C3+C2
,C1*CO](1,1,1,1,1,1,11を記憶
してお(。次にレジスタ29は、式(161に関して既
に説明した様に、Y 1=M町を計算する、上側時周期
の後、累算器29には最終的な結果Y1= [0,1,
0,1,1,0] が記憶されている。この結果は、式(131を用い、G
F(2)の乗算が必要である度に乗算器21の出力を逐
次計算してい(ことによって証明できる。
この時点で、利用者Jは利用できる通信回線を通じてこ
の7ビツト通信Y1 を利用者EK送る。
利用者Jからの公開通信Y1  を受信すると、利用者
には図4方式のに専用の全値送りレジスタを呼び出す。
ここで、レジスタの状態が[1,0,0,1゜1.0.
1]であるとする。利用者には、次にこの状態を図6方
式のに専用装置のレジスタ61′に初期値として記憶さ
せる。従って、レジスタ61′の内容は、 rr6.r5.r4.r3.r2.rl、ro1=〔1
,0,1,1,0,0,1]となる。これは整数R=8
9の二進形式である。
本装置は、次にEK、DKを計算する。、EK、DKの
modulo 127による方式は、 EK=3  = 45 DK=3   = 48 となる。図6の装置からの出力は、これら二整数の二進
形式、即ち EK=r O,1,0,1,1,[1,1]DK= [
0,1,1,O,0,0,O]である。(実際には、利
用者には利用者Jからの公開通信Y1  を受信する以
前にEK、DKを用意し時間を節約することができる。
)次に、利用者にはEKの上記二進ベクトルを図2方式
のに専用装置のレジスタろ1に送り、更に二進ベクトル
Y0を図2のレジスタ23に送り込む。これらの二つの
レジスタの内容は、この時点で EK=「n6+n5+n4+n3+n2*n1*n(1
](0,1,0,1,1,0,11Y 1=[b6.b
5.b4.b3.b2.bl、bo]=[0,1,0,
1,1,1,[l ]である。レジスタ29には初期値 G  ”[C6,C5,C4+ C3sC2,C1+c
(11(1,1,i、 i、 1,1,1 ]を記憶し
てお(。次に、本装置はY2=Y1”Kを計算し、その
結果は Y2= CO,0,0,1,1,1,0]となる。この
時点で、利用者には利用できる公開通信回線を通じこの
7ビツト公開通信Y2を利用者Jに送る。
Y2を受信すると、利用者Jは二進ベクトルY2を図2
方式のJ専用装置のレジスタ26に送り、更にり、の二
進法表示(これは、JKより以前δ1算され保持されて
いたもの)をレジスタ31i/i’送り込む。レジスタ
29には初期値[1,1,1,1,1,1,11を記憶
してお(。本装置は、次にY3−Y2Jを剖3Jし、結
果は Y3= [0,1,0,1,1,1,1]となる。この
時点で、利用者Jは利用できろ送信回線を通じてこの7
ビツト公開通信Y3 を利用者Kに送る。
Y3を受信すると、利用者には二進ベクトルY3を図2
方式のに専用装置のレジスタ2ろへ送り、更に、DKの
二進法表示(これは、KKより以前計算さ保持されてい
たもの)をレジスタ31へ送り込む。レジスタ29には
初期値[1,1,1,1,1,1゜1〕を記憶しておく
。本装置は、次にY3DKを計算し、その結果は Y3DK=[0,1!、0,1.0.1 ] =Mとな
り、もとの非公開通信が回復される。この様にして、利
用者には三個の公開7ビツト通信を交換することにより
非公開7ビツト通信を受信したことになる。
図6の装置の機能を説明する時に説明した方法により、
D E= 1 (mod 2m−1)となり1から2m
−2まで力値をとる二整数り、Eを発生することができ
ろ。しかし、本発明によると、後に詳述する様なある状
況に於ては、上記の方法以外のある方法を用いることに
より、上記計算を有利に行えることが知られている、 1から2m−2=126までの値をとる整数Eが与えら
れた時、同様の範囲の値をとりDE=1(mod127
)を満たす整数りを図5の装置により求められることを
、m=7について以下に示す。
本装置は、累算レジスタ161と136.7ビツト「1
の補数」演算器165、それに二点開閉器167.16
9から構成される。開閉器137は刻時パルスの立ち上
がりによりどちらの端子へも動作する。刻時パルスの立
ち上がり以外の時、開閉器16ノは常に開いている。図
5には、刻時、。
ルスの立ち上がりの時の開閉器167の位置が示されて
いる。開閉器169は、刻時パルスの立ち下がりの時に
のみどちらの端子へも動作し、それ以外の時は開いてい
る。図5には、刻時パルスの立ち下がりの時の開閉器1
乙9の位置が示されている。開閉器137.169の各
刻時パルスの時の位置は、表141のとうりである。開
閉器137゜169への割り込み禁止ライン148は、
第一、第二刻時周期の間に開閉器が変化することを防ぐ
・しかし、第二周期以後、この割り込み禁止信号が除去
されろと開閉器の動作が可能になる。このような割り込
み禁止信号は、第一、第二周期中に開閉器137と16
9へ単一のパルスを送ることによって得られろ。
図5の累算レジスターろ1.16ろは、双方共Eの二進
法表示に於げろ二進数成分を初期値に持つ。即ち、 E=eo+2e1+4e2+8e3+16e4+32e
5+64e6(2力であり、更にi = 0.1.2.
3.4.5.6 Kついてe工′=e である。乗算器
135への入力の一つは、うイン143を通じて累算レ
ジスター61に接続している。乗算器135へのもう一
つの入力は、ライン145を通じて開閉器167に接続
されており、開閉器1ろ7の位置a、hによって累算レ
ジスタ131.1ろろにそれぞれ接続されている。
乗算器135の出力は、ライン147を通じ開閉器13
9の位置a、bによって累篇レジスタ131.133に
それぞれ接続される。この様に、開閉器167と169
が位置αにある時は、乗算器135への出力は双方とも
レジスタ161に接続される。
従って、レジスタ161に記憶された整数の平方(mo
d、ulo 127 )か乗算器により計算され、更に
この平方はレジスタ161の新しい内容として記隠され
ろ。一方、開閉器」67.169が位置すにある時は、
レジスタ1ろ1.166に記憶された二整数の積(p1
0d+ilo 127 )が計算され、更にこの積はレ
ジスタ166に新しい内容として記憶され机 但し、ここでは開閉器167.1ろ9は概念的に用いら
れている。実際には、開閉器167は単一の出力と複数
の入力を持つ一対の伝達器(ラッチ)より成り、開閉器
169は単一の入力と複数の出力を持つ一対の伝達器(
ラッチ)より成る。
最初の刻時パルスの立ち上がりの時、図5の表141の
とうり開閉器137は位置αをとる。従って、乗算器1
65はレジスタ131の初期値である整数Eの平方(m
odu1o127)計゛算し、更にこの平方E  (m
odulo 127)は、同じ刻時パルスの立ち下がり
の時、開閉器139を通じレジスタ161の新しい内容
として記憶される。この様に第一刻時周期終了後°、E
は依然として惰レジスタ16ろに記憶され、E  (m
odulo 127’)はレジス161に新しい内容と
して記憶されている。第二刻時パルスの立ち上がりの時
、開閉器167は表141のとうり再び位置αをとる。
乗算器165は、この時点でレジスタ161に記憶され
ている整数E  (mod 127)の平方(+nod
 127)を計算する・更に、この平方E  (mod
 127)は、開閉器169を通じ、同じ刻時パルスの
立ち下がりの時にレジスタ161の新しい内容として記
憶されろ。
従って、第二刻時周期終了後、Eは依然としてレジスタ
1ろ6にあり、E  (mod 127)はレジスタ1
61に新しい内容として記憶されている。第三刻時パル
スの立ち上がりの時、開閉器137は表141のとうり
位置すをとる。従って、乗算135は、この時点でレジ
スタ1ろ1と165に記憶されている整数E  (mo
d 127)とEの積を計算する。更に、この積E  
(mod 127)は、同じ刻時パルスの立ち下がりの
時、開閉器169を通じレジスタ16ろの新しい内容と
して記憶される。この様に、二側時周期終了後、E  
(mod127)はレジスタ161に有り、E  (m
od 127)はレジスタ166にある。同様にして、
第4.5.6゜7.8,9.10.11刻時周期後のレ
ジスタ161゜136の内容は、次の表のとうりである
刻時周回    レジスタ1ろ1    レジスタ13
64     E   (mod 127)E   r
mod 127)5     E   (mod 12
7)E   (mod 127)6     E   
(mod 127)   E   (mod 127)
7     E   (mod 127)E   (m
od  127)3     E   (mod 12
7)   E   (mod +27)9     E
   (mod 127)   E   (mod  
127)IQ     E64 (mod 127) 
  E”  (mad  127)11     E 
  (mod 127)E   (mod  127’
)この様に、2m−6回の刻時周期終了後、整数l)の
二進法表示 D=E   (mod 127) が図5の装置の累算レジスタ1ろ6に記1章されている
。ここで、 DE=E   (mod 127) = i   (mod  127) だから、整数・DはEの逆光(mod 127)であり
、求める整数となる。組上、上式の二番目の等号は次の
理由により成り立つ。即ち、modu 1012ノ算法
は有限体GF(P)、P=127に於ける算法に一致し
、GF(P)のすべての零でない元EはEp’ =1 
(mod P)(281を満たすことによる。
友 式儲の失透は E”−2E= 1 (mod P)@ の様に因数分解できる。従って、 −2 D=E   (modP)GOI は1からp−1までの値をとり、かつ DE = 1 (mod P)       C311
を満たす整数である。本発明によると、次のことが知ら
れている。即ち、p=2 −1か素数となる様な整数m
について、もしEが1から2−2までの値を取る任意の
整数とすると、 DE = 1 (mod 2”−1) を満たす整数りは、指数計算 D = Ell)−2=E2−3(mod 2−1 )
   (321により容易に計算できるということであ
る、ここで、2m−6=(2m−1+2m−2+・・・
+23+22+21+2°)−2’2°、又は2m−6
m2m−1+2m−2+・・・+23+22+2° だ
から、式(33)の右辺はm個の整数E、E2(mod
 2111−1)、 E’(mod 2m−1)、 E
8(mod 2″1−1)・・・、 E2rr′−”(
mod 2m−1) (7) E2(mod 2m−1
)以外ノ積となる。従って、式(到より、まずEをm回
逐次平方してm−1個の整数E2(mod 2m−1)
、 E’(mod :2In−I)、 −・−、E2(
mod 2no−1) f求め、川に一番目の整数以外
の整数をEに逐次乗算して整数りを求めることができる
。平方演算にはm−1回の乗t (modulo 2m
−1) 、上記整数ケ逐次乗算していくには更にm−2
回の乗算(modo、]−o 2m−1)が必要である
。従って、合計2m−6回の乗算(modulo 2m
−1)が、式(3りを満足する整数りの4算に必要であ
る。図5の装置により、この方法でm=7についてDを
求めることができろ。
図5と図3の装置について比較を行う。図6の装置によ
る方法では、最大限2m回の乗算(modulo 2m
−1)が式(32)を満足するE、 Dの計算に必要で
あり、Eが1と2−2までの値から任意に選択される場
合は、平均m回の乗算(modu]、o 2m−1)だ
けが必要である。従って、図5の装置により式(32を
満たす整数りを計算する為に用いろわた方法は、図6の
装置による方法よりも一般的に遅い。しかし、本発明の
応用で後述される様な場合については、P=2m−1が
素数の時、図5の装置による方法が有利となる。
P=2m−1が素数の時、本発明に必要な一組の乱数で
図1のブロック5.乙に関して既述された乱数を発生す
る方法は、次の様にして実現できろ。
1から2m−2までの値をとる乱数E火まず発生する。
次に、図5の装置火用いる方法により、Eについて式(
321を満たし1から2m−2までの値を耳父ろ整数り
が計算される。E暑発生させる為にしす、旧来の様々な
乱数発生法が用いられる。しかし、m有利である。本発
明によると、上記送りレジスタは任意の零でない状態ケ
初期状態とし、図5の装置の刻時より遥かに小さい刻時
周期を持つ。改めてEを任意1巽釈する必要のある時は
図4の送りレジスタ91の刻時が中断され、その間にレ
ジスタ91のその時点での状態値の図5の位置の累算レ
ジスタ131.1ろ3へ送られろ。特(で、レジスタ9
1のこの時点での状態値は、E=2 −IKン−;1応
して成分がすべて1の状態値となり得ろ。こ才]、け、
Eが1から2m−2までの仙をとると(・つ条件から、
無効な値である。この例外を除(為、合価送りレジスタ
にもう一つの刻時〕ξルス馨送り込む為の論理機構乞付
加しなけj、ばならない。しかし本発明を実施する上で
使われる様な大きなmの値については、この無効なEが
生じろ確至は非常に小さく無視することができろ。例え
ばm=127について、この確土は約2  である。従
って、もしこの例外E=2m−1を除去する機構が施さ
才1ず、全値送りレジスタが十分の一秒毎に新い−Eを
選択しなければならないと′すると、本装置は400.
000,000年に一回誤動作することになる。
図5αは、乱数EからDを計算する為に図5の装置が用
いられろ時、通信回線の各利用者に所持されるべきシス
テムを表す。
前述゛した本発明の基本的な方式では、三個のmビット
公開通信を交換することにより、ある利用者から他の利
用者へ一個の非公開通信を送る。mビットより遥かに長
い非公開通信を送りたい時、又は複数の非公開通信を送
りたい時は、次に説明する様に本発明ケ二連りに応用す
ることができる。
これらの応用によると、三個の公開通信を一度交換した
後は、−個のmビット公開通信を用いて一個のmビット
非公開通信を伝送できる、上記二連りの応用の一つは以
下のとうりである。
通信回線の第一の利用者gJとし、Jが図3.4方式の
J専用装置で一組の乱数り、Eを発生するとする。ここ
で、D、Eは1から2−2までの値を持つ整数であり、
DE= 1 (mod 2−1)を満たす。CP=2−
1か素数の時、利用者Jは図4,5方式のJ専用装置を
用いてり、Eを求めることもできる。)その時、利用者
JはDのmビット二進法表示を、図1の様に三個の公開
通信の交換によって他の利用者、例えばKに送るべき非
公開通信とみなすことができる。上記三個の公開通信が
交換された後、利用者には非公開の整数りを保持してい
る。その後、利用者Jがmビット非公開通信Mを利用者
にへ送りたい時は、利用者Jは図2方式のJ専用の指数
演算器を用いてGF(2)の元Y=M”’ を計算し、これ火mビット公開通信として利用者にへ送
る。Yヶ受信した後、利用者には図2方式のに専用指数
演算器を用いて、 YD=MD0=M を計算し、非公開通信MY求める。逆に、利用者Kが利
用者Jにmビットの非公開通信を送りたい時は、利用者
には図2方式のに専用指数演算器を甲いて Y=MD を求め、mビットの公開通信として利用者にへ送る。Y
v受信後、利用者Jは図2方式のJ4用指数演算器ケ用
いて YE=MDE=M を計算し、非公開通信M火求めろ。利用者JとKは、非
公開通信の交換の為に、秘密の整数り、 Eを何回でも
使用できろ、しかも、各郭公開通・償((ついて唯一個
のmビット公開通信が必要である、既述の様に、図6.
4の装置に於て、乱数り、 EはGF(2)のある既知
の元Hと任意に選択された整数Hにより E=HR D=H と表せる、従って、上述した本発明の第一の応用を次の
様に変形することもできる。即ち、第一の利用者Jは、
Rのmビット二進法表示を、図1の様に三個の公開通信
を利用者にと交換することにより利用者にへ送る非公開
通信とみなすことができる。即ち、前述の様にDが非公
開通信でなく、Rが非公開通信である、整数Rは、利用
者Kが次に図3の装置を用いてE、D双方を決定する為
に用いられる。利用者Jも同様にしてE、D−4求める
。その後、利用者のどちらかが他の利用者へ非公開通信
を送りたい時は、まず公開通信Y=MF′を送り、他の
利用者がM=Y  ’&計算してMV求める。利用者J
とKは、非公開通信の交換の為に秘密の整数り、Ei何
回でも使用できる。しかも各非公開通信について唯一個
のmビット公開通信本発明の第二の応用は以下のとうり
である、これは、P=2”−1が素数であり、逆光(m
odul。
2−1)”k計算する為の図5方式の装置を各利用者が
所持する場合に応用できる。第一の利用者Jが1から2
−2までの値をとる整数E−i秘密に選択するとする。
その時、利用者Jは、Eのmビット二進法表示を、図1
の様に三個の公開通信の交換によゐ他の利用者、例えば
Kへ伝送すべき非公開通信とみなすことができる。上記
三個の公開通信が交換された後、利用者JとKは秘密の
整数Eを持つことになる。利用者J、には、図5方式の
装置を用いて、DE、、=i9満たし1から2m−2ま
での値をとる整数りを計算する。その後、利用者J、K
が互いにmビット非公開通信を交換しようとする場合、
図2方式の専用指数演算器暑中いてY=M”’ を計算し、mビットの公開通信として受信者へ送る。Y
を受信すると、受信者は図2方式の環中指数演算器を用
いて Y=M   2M ケ計算し、非公開通信Mを求める。利用者J、には秘密
の整数り、E77Mでも使用でき、しかも各非公開通信
の為に唯一個のmビット公開通信が必要である。本発明
のこの第二の応用は、それが二人の利用者に限られない
という点で更に有利である。利用者Jは、非公開通信の
交換を希望する利用者に、何人でも同じ秘密の整数Eを
送ることができる。この場合は、非公開通信を各利用者
へ送る為、図1に示された方法で三個の公開通信が交換
される。次に、E)5−利用者Jと共有する通信者は、
図5方式の専用装置を用いてD7計算する。
この時点で、利用者Jとその他の利用者は秘密の整数り
、Eを共有する。二人の利用者J、Kについて上述した
場合と同様に、D、Eは更に非公開通信を交換する為に
利用される。
三個の公開通信の交換により非公開通信を伝送す、る本
発明の方法を用いて、他の有用な暗号方式の方式による
暗号法で非公開通信を交換する時に利用することができ
る、本発明ケこの様に応用する場合は、ある利用者、例
えばJが、通信の交換を希望する他の利用者に公開通信
Y1=MJi送ろ。ここで、Mは非公開通信であり、上
記の利用者が共有する旧来の暗号方式に組み込まれて用
いられる。Yl を受信した受信者は、図1と同じ手続
きで公開通信Y1 に対しY2で利用者JVC応答する
・Y2を受信すると、利用者Jは同じり、を用いて各受
信者に対する公開通信Y3=Y2J火構用する上記の様
な方法は、論文JDiffie、 M、E−He、11
rnan共著、  ” New Directio、n
s in CryptcozraphI、y”。
による方式よりも次の点で優れている。即ち、後者に於
ては、三Å以上の複数の利用者に対し同じ最後に、本明
細書で用いられた例や説明が、本発明の応用範囲を限定
するものではないことを明確にしたい。実際、暗号方式
やディジタル論理設計に精通した技術者ならば、本発明
の本質的な範囲内で様々な応用や変更が可能であること
に気付くはずである。
特許請求の範囲の詳細 以上が発明の詳細であるが、本発明の特許請求の範囲を
明確にする為、本明細書の最初に述べた特許請求の範囲
を以下第1項から第26項に於て繰り返し、更にその請
求範囲に含まれる方法及び装置について詳述する。ここ
で、特に指定されない場合、「上記」とは同じ項の中で
使用された用語を指し、「既述」とは同じ項で引用され
た項の中の用語を指す。
1、 公開通信回線により送信者と受信者の間で伝送さ
れるディジタル通信Mの秘密を保持する装置。但し、本
装置は送信者側と受信者側のいづれ妬於ても機能する。
上記送信者及び受信者側は送受信の可能な公開の通信装
置により接続されており、その通信内容が送受信者以外
の第三者により受信され得るとする、 α)m個の二進数より成る乱数(整数)を発生する乱数
発生器。
h)1から2−2までの値を取り、ED=1(modu
lo 2 −1 )を満たす二整数E、Dを計算し上記
a)の乱数を入力の一つとする計算器6C)整数Nと、
2m個の元を持つ有限体GF(2”’)の零でない元B
を入力とする指数演算器9、但し、NはE又はDを表し
、Bは正規基底によりm個の二進数で表示される。本指
数演算器は元BをN乗し、GF(2m)の元B′ゞを求
めろ。ここで、BNは正規基底によりm個の二進数で表
示されろ。
2、第1項に於て既述された装置で既述の指数演算器が
次の部分より成る装置。
α)指数演算で底となる元Bの、正規基底表示に上るm
個の二進数成分を記憶する第一記憶装置b)正規基底に
よる表示方法を用い、Bを遂次平方してm−1個の整数
(B 、B 、・・・、B2)を求める装置。
C)指数となる整数Nの二進法表示によるm個の二進数
成分を記憶する第二記憶装置。
d)整数Nのm個の二進数成分を、最下位から最上位ま
で逐次求める装置。
e)逐次計算される積を累算する累算器(アキュムレー
タ)。但し、初期に於てその内容はGF(2I11)の
元1の正規基底による表示であり、その後その内容は逐
次更新され、最終的な内容はBNの正規基底による表示
となる。
f)  GF(2)の二元の積を求める為の乗算器。
但し、上記の積及び二元は、正規基底表示のm個の二進
数を成分とするベクトルで表示される。更に、本乗算器
は上記第一記憶装置と上記累算器の内容を逐次その入力
とし、最大限m個の乗算を逐次実行した後、GF(2”
l の元B を決定する。
g)上記累算器の内容を上記の積で逐次更新していく装
置。
h)上記累算器の内容を上記乗算器へ移送する装置。
L)上記乗算器を次の様に制御する装置。
即ち、上記第二記憶装置の最下位の二進数成分が論理1
である時上記乗算器が作動し、論理0である時作動しな
い。
6、第2項に於て既述された装置で次の様な装置。
α)既述の第一記憶装置が一個のmビット巡回送りレジ
スタより成る。但し、上記レジスタの初期に於ける内容
は、元Bのm個の二進数成分である。
b)2.b’)で既述の装置が、上記巡回送りレジスタ
に於て元Bのm個の二進数を反復移動させろ為の刻時(
クロッキング)回路より成る。本装置により、上記移動
をm回逐次反復した後、m−1個の整数(B2.B’ 
、・・・、B2)の正規基底による表示が求められる。
C)既述の第二記憶装置が、最下位の二進数成分をその
出力とするmビット送りレジスタより成る。
d)2.d) で既述の装置が1、上記送りレジスタに
於て整数Nのm個の二進数成分を反復移動させる為の上
記刻時回路より成る。
e)既述の累算器がmビットの累算レジスタより成る。
f’)  2.1)で既述の装置が、既述乗算器の積を
上記累算器へ移送する為の第−mビット伝達器(ラッチ
)、及び上記積の移送を引き起こす上記刻時回路より成
る。
!’)  2.A)で既述の装置が、上記累算器の内容
を上記乗算器への入力の一つへ移送する為の第二mビッ
ト伝達器(ラッチ)、及び上記移送を引き起こす上記刻
時回路より成る。
h)2、t)で既述の制御装置が 、上記第二記憶装置
の出力を上記乗算器を作動させる為の入力として送り込
む装置より成る。
4、第1.2又は3項Cで於て既述された装置で、GF
 (2” )の元B を決定する為の指数演算器が一個
以上の乗算器から成る装置。
5、第2.6又は4項に於て既述された装置で、既述の
乗算器が次の部分より成る装置。
α)GF(2”)の任意の二元のベクトル表示のそれぞ
れについて巡回置換を逐次反復し、二4m −組から成
るm個の巡回置換ベクトルを求める装置b)上記二元の
m組の巡回置換ベクトルを入力とする一個以上のO−M
回路を含む論理装置。本装置は、単一のO−M論理関数
に従って、上記m組のベクトルから上記二元の積のベク
トル表示の各二進数成分を計算する、 6、第5項に於て既述された装置で次の様な装置。
α)5.α)で既述の装置が乗算すべき元の各ベクトル
表示の二進数成分を一桁ずつ遂次巡回移動し、m個の巡
回置換ベクトルを求めろ装置より成る・ b)5.b)で既述の装置が、上記α)の装置の出力を
入力とする単一の0−M回路より成る、ここでは、既述
のm組の巡回置換ベクトルが本装置に送り込まれ、本装
置により既述積ベクトルの各二進数成分が遂次計算され
る。
1 第5項に於て既述された装置で次の様な装置。
α)5.a)で既述の装置が、既述二元の積のベクトル
表示のm個の二進数成分を、それぞれ計算するm個の同
様なO−M回路より成る。
b)5.b)で既述の装置が、上記m個の同様な○−M
回路に次の様に接続されている。
即ち、既述ばクトルの二進数成分が、m個の巡回置換ベ
クトルとして上記m個の同様なO−M回路の入力端子へ
送られる、ここで、あるO −M 叫路への入力は、そ
の前列のO−M回路への入力を更に一桁巡回移動したベ
クトルであろ− 8、第1頂から第8項までのいづれかに於て既述した装
置で、GF(2)の2 個の多元が正規基底表示B=b
m−1A2+bm、、、2A2+・・・+b2A4+b
1A2+boA K対応するm個の二進数成分を持つベ
クトルで表示されている装置。但、BはGF(2m)の
元を表し、b、 、 、 bm−2’ 、 −・−、b
2.bl、boはBの二進数成分であり、AはX二AK
関し式P(X)=0を満足する様な0F(2)のある元
である、ここで、P(X)は0F(2)の上で既約であ
り、かつ線型独立な解を持つm次多項式である。
9 第1項から第8項までのいずれかで既述された装置
で次の様な装置。即ち、本装置に於ては既述指数演算器
が更にXHz の周波数で作動する刻時回路より成る。
更に、本装置に於ては、既述乱数発生器が、任意の零で
ない値を初期の内容とするmビット全値線型帰還送りレ
ジスタと、その内容を移動させる為のXHz の周波数
で作動する刻時回路より成る。
io、第i項から第9項までのいづれかに於て既述され
た装置で次の様な装置。即ち、本装置に於てしま、既述
の乱数発生器が1から2−1までの値を取る乱数(整数
)・Rを発生し、既述計算器が指定された整数Hについ
て式E=H(modu]。
2II]−1)、D = H−R(modulo 2m
−1)ニ従イ整数E、Dを計算する。更に、上記計算器
は次の部分より成る。
α)2m個の記憶箇所j = 0.1.2,3.・・・
、2m−1に2m個のmビット語(ワード)をHe憶す
る為の第一記憶装置。記憶箇所J(j =0.1,2.
・・・、m−l)には整数H” (moclt+1o 
2”−1)力補ピ障箇所j (、i =m9m+1.・
・・、2■〕+1)ニは整数H−’−m(rnr・df
fl。
2−1)の二進法表示が記憶さ′れている7ここでHは
2から2−2までの値を取る整数である。
b)上記2m個のmビット語を逐次求めろ装置。
C)m個の二進数成分を持つ上記乱数(整数)Rを記憶
する第二記憶装置。
d)上記の整数Rのm個の二進数成分を最下位から最上
位の成分にかけて同一の操作を二回繰り返すことにより
計算する装置。
e)逐次計算される積を累算する累算器、但し、初期に
於て本累算器の内容は整数1の二進法表示(よるm 個
の二進数成分であり1.整数Rのm個の二進数成分が一
度計算されると、本累算器の内容は上記整数Eの二進数
成分となり、更に整数Rのm個の二進数成分が二度計算
されると、上記整数りのm個の二進数成分が本累算器の
内容となろe f)m個の二進数成分を持つ二個の整数の「1の補数」
積を逐次計算する次の様な「1の補数」乗算器。即ち、
本乗算器は上記第一記憶装置に逐次記憶される内容を第
一の入力とし、上記累算器に逐次記憶される内容を第二
の入力とする。本乗算器により、最大限m回の乗算で上
記整数Eカ′−鼾貧され、最大限2m回の乗算により上
記整数りが計算される。
g)上記累算器の内容を上記「1の補数」蹟で逐次更新
していく装置、 h)上記累算器の内容を上記「1の補数」乗算器へ送り
込む為の装置。
t)上記「1の補数」乗算器を以下の様に制窃1する為
の装置。即ち、上記第−記1.斡装置9最下位の二進数
成分が論理1°である時上記「1の補数」乗算器が作動
し、Oである時は作動しない。
11、第10項で既述された装置で次の様な装置・ α)上記第一記憶装置が固定記憶装置(ROM )より
成る。
b)、10 h)で既述の装置が次の部分より成る。
1)XHz の周波数で作動する刻時回路。
11)上記刻時回路による。各周期毎に、既述2m個の
興憶箇所の一つを逐次選択する為の2m段計数器、 C)既述の第二記憶装置が、最下位のm:進数成分を出
力とするmビ′ット巡回送りレジスタより成る。
d)’10.d’) で既述された装置が、上記巡回送
すレ゛ジスタ内の整数Rのm個の二進数成分を反復して
移動させる為の上記刻時回路より成る。
e)既述累、算器がmビット累算レジスタより成る。
f)10.、q)で既述の装置が、既述「1の補数」乗
算器の「1の補数」積を上記累算器へ移送する為のME
 −mビット伝達器(ラッチ)と、上記積の移送を引き
起こす為の上記刻時回路より成る、g)10.A)で既
述の装置が上記累算器の内容を上記「1の補数」乗算器
へ移送する為の第二mビット伝達器(ラッチ)と、上記
移送を引き起こす為の上記刻時回路より成る。
h)1o、i)で既述の装置が、上記第二記憶装置の出
力を上記「1の補数」乗算器を作動させる為の入力信号
とする装置より成る。
i2.第i項から第9項までのいづれかに於て既述され
た装置で、2m−1が素数となる様な整数mを用いた装
置。
16、第10又は11項に於て既述の装置で、P=2−
1か素数となる様な整数mを用い、かつ整数HがCF(
P)の原始元である様な装置。
14、第1項から9項までのいずれかに於て既述された
装置で次の様な装置。即ち、本装置では2−1か素数に
なる様な整数mを用いる。史に、既述乱数発生器が二進
法表示によるmビットの整数Eを発生する。ここで、E
は1から2m−2まで(modulo 2 −1 )を
満たすDが既述計算器により計算されるへ上記計算器は
次の部分より成る。
a)2m−ろ回の乗算を逐次実行する為の次の様なrn
ビット「1の補数」乗算器。即ち、本乗算器は第一、第
二の二個のmビット入力と一個のmビット出力を持ち、
2m−3個のmビットの積を逐次計算する・ b)次の様な第一累算器。即ち、初期に於て本累算器の
内容は乱数C整数)Eの二進法表示によるm個の二進数
成分であり、その内容は逐次更新され、その出力は上記
mビット「1の補数」乗算器への上記第一人力となる。
C)次の様な第二累算器。即ち、初期に於て本累算器の
内容は乱数(整数)Eのmビットの成分であり、その内
容は逐次更新され、その最終的な内容はmビットの整数
りである。
cL)上記−1−1第情累算器の内容を逐次更新してい
(次の様な装置。即ち、最初の乗算の後その積を上部第
一累算器に移送し、その後項が逐次計算される度に上記
第一、第二累算器へ交互に移送される、 e)上記第一、第二累算器を上記mビット「1の補数」
乗算器の上記第二mビット入力に接続する次の様な装置
。即ち、最初の乗算の後上記第−累算器が上記第二mビ
ット入力に接続され、そのット入力に接続する。
15、第14項に於て既述された装置で次の様な装置。
α)既述の第一累算器が一個のmビット累算レジスタよ
り成る。
b)既述第二累算器が一個のmビット累算レジスタより
成る。
C)14.d)で既述の装置が次の部分より成る、I)
次の様なmビット開閉器。即ち、本開閉器は更にm個の
小開閉器より成り、各小開閉器は一個の入力と第一、第
二の二個の出力を持つ。
合計量(IMの上記各入力は既述のmビット「1の補数
」乗算器のmビット出力の各ビットにそれぞれ接続して
おり、合計量個の上記第一、第二出力は上記第一、第二
累算器にそれぞれ接続している。
+i)次の様な刻時回路。即ち、本回路の第一周期のM
に上記mビット開閉器が第一の出力を取り出して、その
後は交互に!−1第二出力を像り出す。
111)上記mビット開閉器への次の様な割り込み禁止
入力。即ち、上記刻時回路のX−1第二周期の間は上記
開閉器が変化せず、それ以後は交互に端子を変える。
d)14.g)で既述の装置で次の部分より成る。
I)次の様なmビット開閉器。即ち、本開閉器は更にm
個の小開閉器より成り、各小開閉器は第一、第二の二個
の入力と−(固の出力を持つ。
合計量個の上記第一、第二人力は上記第一、第二累算器
にそれぞれ接続しており、合計量個の上記各出力は上記
mビット5「1の補数」乗算器の上記第二人力に接続し
ている。
11)次の穐な刻時回路。即ち、本回路の算−周期の間
に上記mビット開閉器が第一人力を取り出し、その後は
第一、第二人力が交互に取り出される。
111)上記mビット開閉器への次の様な割り込み禁止
入力。即ち、上記刻時回路のi−1第二周期の間は上記
開閉器が変化せず、それ以後は交互に端子を変える。
16、2 個の光を持つ有限体CF(2)の元BNを、
正規基底による表示を用いて計鴬゛する指数演算器、こ
こで、BはGF(2’)  の零でない冗であり1m個
の二進数で表示される。一方、整数Nは1から2−2ま
での値を取り、m個の二進数で表示され、B の指数と
なる。更に、本乗算器は次の装置により構成される。
α)指数演算で底となる上記の元Bの、正規基底を用い
て表示した時のm個の二進数成分を記憶する第一記憶装
置。
b)正規基底による表示を用い、Bを逐次平方してm−
1(1i5の整数(B 、B 、−、82m−’ )を
求める装置。
°C)指数となる整数Nの二進法表示によるm個の二進
数成分を記憶する第二記憶装置。
d)整数i4のm個の二進数成分を、最下1ス・°から
最上位まで逐次求める装置。
e)if1次計算される積を累算する累算器(アキュム
レータ)。但し、初期に於てその内容はCF(2y)元
1の旧知基底による表示であり、その後その内容は逐次
更新され、最終的な内容はB の正規基底による表示と
なる。
f’)GF(2”) の二元の積を求める為の乗算器。
但し、上記の積及び二元は、正規基底表示のm個の二進
数を成分とするベクトルで表示される。更に、本乗算器
は上記第一記憶装置と上記累算器の内容を逐次その人力
とし、最大限m回の乗算を逐次実行した後、CF(2m
)の元B を決定する、q)上記累算器の内容を上記の
積で逐次更新していく装置。
ん)上記累算器の内容を上記乗算器へ移送する装置。
L)上記乗算器を制御する次の様な装置。即ち上記第二
記憶装置の最下位の二進数成分が論理1である時上記乗
算器が作動し、論理0である時作動しない。
1Z 第16項に於て既述された指数演算器で次の様な
演算器。
α)既述の第一記憶装置が一個のmビット巡回送りレジ
スタより成る。(8し、上記レジスタの初期に於ける内
容は、元Bのm(Hの二進数成分である。
b)16.b’)で既述の装置がXHzの周波数で作動
する刻時回路より成る。本装置にまり上記巡回送りレジ
スタ内の元Bのm (faiの二進数成分が反復して移
動され、m回の移動の後Bのm−1個の逐次平方(B2
.B’、−,821′r1−1)  ノ正M基底にヨ象 る表示が達められる、 C)既述の第二記憶装置が、最下位の二進数成分を出力
とするmビット送りレジスタより成る、d)16.d)
で既述の装置が、上記送りレジスタ内の整数Nのm個の
二進数成分を反りして移動させる為の上記刻時回路より
成る。
e)既述の累算器がmビットの累算レジスタより成る。
f)160g)で既述の装置が次の様な734−mビッ
ト伝達器(ラッチ)より成る。即ち、本伝達器(ラッチ
)により上記乗算器による積が上記累算器に移送される
。更に、本装置は上記移送を引き起こす為の上記刻時回
路より成る。
ダ)16、ん)で既述の装置が次の様な第二mビット伝
達器(ラッチ)より成る。即ち、本伝達器(ラッチ)に
より上記累算器の内容が上記乗算器の入力の一つへ移送
される。更に、本装置は上記移送を引き起こす為の上記
刻時回路より成る。
h)16.2)で既述の装置が、上記第二記憶装置の出
力を上記乗算器を作動させる為の入力として送り込む装
置より成る。
18、第16又は17項で既述された指数演算器で次の
様な演算器。即ち、本演算器に於ては、GF(2)の2
 個の多元が正規基底による表示B−bm−1A2II
l−1+bm−2A2+・・・b2A4+b、A2+b
oAに対応するm個の二進数成分を持つベクトルで表さ
れる。但し、BはGF(2)の元であり、bm−1,b
m−2,・・・、 h2.bl、boはBの二進数成分
であり、AはX=Aについて弐P(X)=0を満足する
様なCF(2)の元である。
19 整数EとD−組を計算する為の次の様な計算器。
即ち、E、Dはm個の二進数で表示されかつ1から2−
2までの値を取る整数である、更に、m個の二進数で表
示され、がっ1がら2m−1までの値を取る乱数(整数
)Rが与えられた時、指定された整数HについてE:=
H(modulo2m−1)かツE D = 1 (m
odulo 2”−1)を満たす。本計算器は次の部分
より成る。
a)2rn個の記憶箇所、i−0,1,2,ろ、・・・
、2m−1に2m個のmビシ8語(ワード)を記憶する
為の第一記憶装置d記憶箇所J(、ツーD、 1.2.
・・・、川−1)K ハ整数H’ (modulo 2
1I]−1)が、記憶箇所J(j ==m、m+1 +
”’12m−1)には整数H−23−m(modulo
 2−1 ’)の二進法表示が記憶されている。
ここで、Hは2がら2m−2までの値を取る整数である
b)上記2m個のmビシ8語を逐次求める装置。
C)m個の二進数成分を持つ上記乱数(整数)Rを記憶
する第二記憶装置、 d)上記の整数Rのm個の二進数成分と、最下位からの
最上位の成分にかけて同一の操作を二回繰り返すことに
より計算する装置、 e)逐次計算される積を累算する累算器。但し初期に於
て本累算器の内容は整数1の二進法表示によるm個の二
進数成分であり、整数Rのm個の二進数成分が一度計算
されると、本累算器の内容は上記整数Eの二進数成分と
なり、更に整数Rのm個の二進数成分が二度計算される
と、上記整数りのm個の二進数成分が本累算器の内容と
なる2f)m個の二進数成分を持つ二個の整数の「1の
補数」積を逐次計算する次の様な「1の補数」乗算器。
即ち、本乗算器は上記第一記憶装置に逐次記憶される内
容を第一の入力とし、上記累算器に逐次記憶される内容
を第二の入力とする、本乗算器により、最大限m回の乗
算で上記整数Eが計算され、最大限2m回の乗算により
上記整数りが計算される。
20、第19項に於て既述された計算器で次の様な計算
器。
α)既述第一記憶装置が固定記憶装置(ROM)より成
る。
h)19.b’)  で既述の装装置が次の部分から成
る。
1)XHzの周波数で作動する刻時回路、11)上記刻
時回路による刻時周助毎に、既述の2m個の記憶箇所の
一つを逐次選択する為の2m段計数器。
C)既述の第二記憶装置が、最下位の二進数成分を出力
と奇るmビット巡回送りレジスタより成る、 d)19.d)で既述の装置が、上記巡回送りレジスタ
内の整数Hの二進数成分を反りして移動させる為の上記
刻時回路より成る。
e)既述累算器がmビット累算レジスタより成る。
h19.y)で既述の装置が、既述「1の補数」乗算器
による「1の補数」積を上記累算器に移送する為の第−
mビット伝達器(ラッチ)より成る。
更に、本装置は上記移送を引き起こす為の上記刻時回路
より成る。
g)19.A)で既述の装置が1.ト記累算器の内容を
上記「1の補数」乗算器を移送する為の第二mビット伝
達器(ラッチ)より成る、更に、本装置は上記移送を引
き起こす上記刻時回路より成る。
h)19.i)で既述の装置が、上記第二記憶装置の出
力を上記「1の補数」乗算器を作動させる為の入力信号
とする装置より成る。
21、任意に選択されたmビットの整数Eがらmビット
の整数りを計算する計算器。但し、E、Dは1から2−
2までの値を取る整数であり、E D −1(modu
lo 2m−1)を満たす。更に、本装置は次の部分よ
り構成される。
α)  2m−3回の乗算を逐次実行する為の次の様な
mビット「1の補数」乗算器、即ち、本乗算器は第一、
第二の二個のmビット入力と一個のmビット出力を持ち
、2m−3個のmビットの積を逐次計算する。
h)次の様な第一累算器。即ち、初期に於て本累算器の
内容は乱数(整数)Eの二進法表示によるm個の二進数
成分であり、その内容は逐次更新C)次の様な第二累算
器。即ち、初期に於て本累算器の内容は乱数(整数)E
のmビットの成分であり、その内容は逐次更新され、そ
の最終的な内容はmビットの整数りとなる。
d)上記第一、第二累算器の内容を逐次更新していく次
の様な装置。即ち、最初の乗算の後その積を上記第−累
算器に移送し、その後項が逐次計算される度に上記第一
、第二累算器へ交互に移送される。
e)上記第一、第二累算器を上Memビット「1の補数
」乗算器の上記第二mビット人力に接続する次の様な装
置。即ち、最初の乗算の後上記i −累算器が上記第二
mビット入力に接続され、その後は上記第一、第二累算
器が交互に上記第二mビット入力に接続する。
22、第21項に於て既述された計算器で次の様な計算
器 α)既述の第一累算器が一個のmビット紫電レジスタよ
り成る。
h)既述の第二累算器が一個のmビット累算レジスタよ
り成る。
c)21d)で既述の装置が次の部分より成る。
1)次の様なmビット開閉器。即ち、本開閉器は更に+
n(固の小開閉器より成り、各小開閉器は一個の入力と
第一、第二の二個の出力を持つ。
合計量個の上記各入力は上記第一累算器のmビット出力
の各ビットにそれぞれ接続し、合計量個の上記第二の出
力は上記第二累算器に接続する0 1l)次の様な刻時回路。即ち、本回路のi−周期の間
に上記mビット開閉器は第一出力端子を閉じ、その後は
第一、第二出力端子を交互に閉じる。
111)上記mビット開閉器への次の様な割り込み禁止
入力。即ち、上記刻時回路の第一、第二周期の間は上記
開閉器が変化せず、その後は交互に端子を変える。
d)21.6)で既述の装置が次の部分より成る61)
次の様なmビット開閉器。即ち、本開閉器は更にm個の
小開閉器より成り、各小開閉器は第一、第二の二個の入
力と一個の出力を持つ。
合計量個の上記第一、第二人力は既述第一、第二累算器
にそれぞれ接続し、合計量個の上記各出力は既述mビッ
ト「1の補数」乗算器の既述第二人力に接続する。
II)次の様な刻時回路。即ち、本回路の第一周期の間
に上記mビット開閉器は第一入力端子を閉じ、その後は
第一、第二人力端子を交互に閉じる、 111)上記mビット開閉器への次の様な割り込み禁止
入力。即ち、上記刻時回路の第一、第二周期の間は上記
開閉器が変化せず、その後は交互に端子を変える。
26、公開通信回線により送信者と受信者の間で伝送さ
れるディジタル通信の秘密を保持する為第1項から1b
項までに既述された装置で用いられる方法。本方法に於
ては、上記ディジタル通信Mを非公開に送信する為に、
第一の公開ディジタル通信Y1、第二の公開ディジタル
通信Y2、第三の公開ディジタル通信Y3が、上記公開
通信回線により各非公開通信M毎に伝送される。上記非
公開ディジタル通信M及び上記三個の公開通信Y1.Y
2゜Y3  は、それぞれm 1mの二進数を成分とす
るベクトル表示であり、2m個の元を持つ有限体GF(
2m)の0,1以外の元の正規基底による表示である。
上記三個の公開通信Y1.Y2.Y3は、式%式% で表され、上記非公開通信MはM−Y32で表せる。こ
こで、El、Dl、E2.D2はm個の二進数を成分と
する整数であり、1から2−2までの値を取り、ElD
、= E2D2−1 (modulo 2 −1 )を
満たす。
上記第一の公開通信Y1  は、上記送信者から上記受
信者へ送信され、上記第二の公開通信Y2 は−F記受
信者から上記送信者へ応答として送信され、更に上記第
三の公開通信Y3 は上記送信者から上記受信者へ上記
通信Y2の応答として送信される、更に、上記受信者は
式M−Y32に従って上記非公開通信Mを計算する。本
方法は次の手順による。
すm個の二進数成分から成る舘−の乱数(整数)を発生
する。
b)上記の第一の乱数が与えられた時、上記送信者側に
於て一組の整数E1.I)1を既述の計算器により計算
する。ここで、El、Dlはm個の二進数成分を持ち1
から2−2までの値を取る整数でありElD、 = 1
 (modulo、2” −1)を満たす。
C)上記送信者側に於て、既述の指数演算器を用いて上
舶非公開通信Mの81乗を計算し、上記公開通信Y1 
を求める。
d)上記通信Y1 を上記公開通信回線を通じて上記受
信者へ送信する。
e)受信者側に於て、既述の乱数発生器を用いてm個の
二進数成分を持つ第二の乱数(整数)を発生する。
f)上記第二の乱数が与えられた時、受信者に於て既述
の計算器により一組の整数E2.D2を計算する。ここ
で、E2.D2は1から2m−2までの値を取ル整数テ
アl)、E2D2= 1 (modulo 2m−1)
を満q)上記受信者側に於て、既述の指数演算器を用い
て上記公開通信Y1 の82乗を計算し、上記公開通信
Y2を求める。
ん)上記通信Y2を上記公開通信回線を通じて上記送信
者側へ送信する。
L)上記送信者側に於て、上記の指数演算器を用いて上
記公開通信Y2 のDo 乗を計算し、上記公開通信Y
3を求める。
ノ)上記公開通信Y3 を上記公開通信回線を通じて上
記受信者側へ送信する。
k)上記受信者側に於て、上記の指数演算器を用いて上
記公開通信Y3 のD2乗を計算し、上記非公開通信M
を求める。
24、第26項に於て既述された方法で次の様な方法。
即ち、本方法は、既述の非公開通信Mに加えて更にその
他の非公開通信%6’ 、J”  を、既述の公開通信
Y1.Y2.Y3に加えて更にその他の公開通信Y、/
 、 Y、ttを伝送することにより、より効果的に送
受信する為の方法である。ここで、Lは0から無限大ま
での整数である。まず、非公開通信Mが上記の三個の公
開通信の交換により送信されたとする。ここで、上記非
公開通信Mは、1から2m−2までの値を取る整数D1
  のmビット二進法表示である。F−1は1から2−
2までの値を取りE D = 1 (modulo 2
vQ−1)を満たす整数であり、1 mビット二進法表示による第二の整数である。ここで、
E、 、Dlは既述送信者側の既述計算器により計算さ
れる。上記のその他の公開、非公開の通信は正規基底を
用いてm個の数字で表示される。但し、これらの通信は
0.1以外のGF(2”l の元である。上記非公開通
信J’は、唯一個の公開通・信Y、/を送信することに
より送信できる。但し、Y’ =(M′)1であり、こ
れは上記送信者1μm1の既述の指数演算器により計算
される、更に、上記通信M7’は、既述受信者側に於て
既述指数演算器により式J’ =(Y5’)Lに従って
計算される。上記のその他の非公開通信Mz//は、唯
一個の公開通信Y、//を上記受信者側から上記送信者
側へ送信することにより送信できる。但し、Y 、//
 =(M、// )1であり、これは上記受信者に於て
上記指数演算器により計算される。そして、上記通信M
、″は、上記受信者側に於て上記指数演算器により式M
、// ==(Y、//)1に従って計算される。
25 第24項に於て既述された方法で、受信者側が一
個以上存在する場合適用される次の様な方法。即ち、上
記非公開通信Mは1から2−2までの値を取る整数Rの
mビット二進法表示で表される・ここで、整数Rは既述
送信者側に於て既述乱数発生器により発生される。上記
受信者側に於て、上記の整数Rからある特定の整数Hに
ついて式D1=Hに従い整数D1 が計算される。更に
、上記受信者側に於て既述の通信Mi’ =(YL’)
 1が計算され、既述の通信Y 、// = (M 、
// ) 1 は上記送信者側から上記受信者側へ送ら
れる。
26、第23項に於て既述された方法で、受信者側が一
個以上存在する場合適用される次の様な方法。即ち、本
方法では、既述の三個の公開通信が一度交換された後、
更にその他の非公開通信J/ (iは0からo:I)を
唯一っの公開通信Y、/(LはOからω)を送ることに
より既述のどの通信者へも送ることができる。但し、既
述の非公開通信Mは、1から2−2までの値を取る既述
の整数E1  のmビット二進法表示である。上記E1
  は上記送信者側に於て既述の乱数発生器により求め
られる、上記受信者側では、1から2−2までの値を取
りE1D1= 1 (modulo 2m−1)を満た
す既述の整数D1  を計算する。。上記その他の非公
開Ill]信IL’ 、  公開通信Y、/ は、有限
体CF(2)の0゜1以外の元であり、正却・基底によ
りm個の:進数成分で表示できる。上記非公開通信町′
は、十86公開通信Y、/を送信することにより、上記
通信者の一人から他の通信者へ送られる。ここで、Y、
/=(M、、’)Lは、上記送信者側の既述の指数演算
器により計算される。上記通信J’は、上言z受信者側
に於て既述の指数演算器により式Mi’ = (Y、’
 )]に従って計算される。
【図面の簡単な説明】
第1図は、三個の公開通信の交換により一個の非公開通
信を目的地まで伝送する方法を示した流れ図である。 第1α図は、積の各二進数成分を逐次計算する為のGF
(2)乗算器のブロック論理図(ダイアダラム)である
。 第1b図は、積の各二進数成分を同時にr算する為のG
F(2)乗算器のブロック図である。 第2図は、有限体GF(2)に於て指数演算を実行する
装置のブロック論理図である。 第2α図は、元Bを表示する二進数成分を巡回移動する
ことによりB 、B 、B 、B 、・・・、B、B。 B64が発生されることを示寺醪 第2b図は、有限体GF(2)に於て指数演算器 を平列に実行する装置のブロック論理図である。 第6図は、整数E = 3 、D=3  (modul
o 127)を計算する装置のブロック論理図である。 但し、Rは1から127までの値を取る整数である。 第4図は、乱数発生の為の上桁全値線型締還送りレジス
タのブロック論理図である。 第4α図は、第2.3.4図の装置が使用された時通信
回線の各利用者が所持すべき全装置を示4第5図は、整
数D=E  (modulo127)を計算する装置の
ブロック論理図である。但し、Eは、1から126まで
の値を取る整数である。 1、2.3.4.・・・指数演算器、5.6・・・乱数
発生器21・・・CF(2)乗算器 41・・・制御ビ
ット線43・・・プ1)セット入力線 61.63.65.67.69L71・・・乗算器23
′・・・7ビツト14語ROM 24・・・カウンタ 21’、135・・・7ビツト1の補数乗算器特許出願
人 ジエームズ・エル・マツセイ(外1名) (外4名) 3 L−、−: ゝ−−−−≠− ji[[M&発生オリ巾1宙堰J1テよう憧1簑   
  公画j1本目(劃tの−11−−−−”−一−]F
IG、1 嚇 Miea16Uw44に++J6+B

Claims (1)

  1. 【特許請求の範囲】 (1)通信内容が送受信者以外の第三者により受信され
    得る公開の送受信可能な通信装置により接続された公開
    通信回線により送信者と受信者の間で伝送されるディジ
    タル通信Mの秘密を保持するため、送信者側と受信者側
    のいづれに於ても機能する装置であって、 α)m個の二進数−より成る乱数(整数)を発生する乱
    数発生器と、 h)1から2−2までの値を取り、ED= 1(mod
    ulo 2 −1 )を満たす二整数E、Dを計算し上
    記α)の乱数を入力の一つとする計算器と、C)  E
    又はDを表わす整数Nと、2 個の元を持つ有限体GF
    (2)の零でない元であって正規基底によりm個の二進
    数で表示されるBを入力とし、元BをN乗し、CF(2
    )の元であって正規基底によりm個の二進数で表示され
    るB を求める指数演算器と、から成る装置。 (2)BがCF(2’)の零でない元であり、m個の二
    進数で表示され、一方、整数Nが1から2m−2までの
    値を取り、m個の二進数で表示され、BNの指数となる
    として、2m個の元を持つ有限体GF(2)の元B を
    、正規基底による表示を用いて計算する指数演算器であ
    って、 α)指数演算で底となる上記の元Bを、正規基底を用い
    て表示した時のm個の二進数成分を記憶する第一記憶装
    置と、 b)正規基底による表示を用い、Bを逐次平方m−1 してm−i個の整数(B、B、・・・、B   )を求
    める装置と、 C)指数となる整数Nの二進法表示によるm個の二進数
    成分を記憶する第二記憶装置と、d)整数Nのm個の二
    進数成分を、最下位から最上位まで逐次求める装置と、 e)逐次計算される積を累算する累算器(アギュムレー
    タ)であって、初期に於てその内容がGF(2)の元1
    の正規基底による表示であり、その後その内容は逐次更
    新され、最終的な内容はBNの正規基底による表示とな
    る累算器と、f)GF(2’) の二元の積を求める為
    の乗算器であって、上記の積及び二元は、正規基底表示
    のm個の二進数字を成分とするベクトルで表示されJ更
    に、上記第一記憶装置と上記累算器の内容を逐次その入
    力とし、最大限m回の乗算を逐次実行した後、(:、F
    (2)の元B を決定する乗算器と、g)上記累算器の
    内容を、上記の積で逐次更新していく装置と、 h)上記累算器の内容を、上記乗算器へ移送する装置と
    、 i)上記第二記憶装置の最下位の二進数成分が論理1で
    ある時上記乗算器が作動し、論理0である時作動しない
    ように上記乗算器を制御する装置と、からなる指数演算
    器。 (31E、、Dはm4Mの二進数で表示され、かっ1か
    ら2−2までの値を取る整数であり、更に、m個の二進
    数で表示され、かつ1から2−1までのれたHにライて
    E = Hrmodulo 2” −1)かつED= 
    1 (modulo 2 −1 )を満たす整数EとD
     −,1,11を計算する為の計算器であって、 α)2m個の記憶箇所j=o、1.2,3.・・・、2
    m−1に2m個のmピッ5語(ワード)を記憶す乞為の
    第一記憶装置であって、Hが2から2II]−2までの
    値を取る整数であるとして記憶箇所j(j=0゜1、2
    .−、−m −1)には整数H2j(modu102I
    I]−1)が、記憶箇所J (J =m* m + I
     + ・・・、2m−1)には整数H−”:J−”(m
    odulo 2” −1)の二進法表示が記憶されてい
    る第1記憶装置と、 h)上記2m個のmビット語を逐次求める装置と、 C)m個の二進数を成分とする任意の整数Rを記憶する
    第二記憶装置と、 d)上記の整数Rのm個の二進数成分を、最下位から最
    上位の成′分にかけて同一の操作を二回繰り返すことに
    より計算する装置と、 e)遂次計算される積を累算する累算器であって、?n
    期に於てその内容が整数1の二進法表示によるm個の二
    進数成分であり、整数Rのm個の二進数成分が一度計算
    されると、前記内容は上記整数Eの二進数成分となり、
    更に整数Rのm個の二進数成分が二度計算されると、上
    記整数りのm個の二進数成分がその内容となる累算器と
    、7’)m4tMの二進数成分を持つ二個の整数の「1
    の補数」積を逐次計算するため上記第一記憶装置に逐次
    記憶される内容を第一の入力とし、上記累算器に逐次記
    憶される内容を第二の入力とし、最大限m回の乗算で上
    記整数Eが計算され、最大限2m回の乗算により上記整
    数りが計算される「1の補数」乗算器と、からなる計算
    器。 (41E、Dが1から2−2までの値を取る整数である
    として、任意に選択されたmビットの整数EからED=
    1 (+r+odulo 2−1 )を満たすmビット
    の整数りを計算する計算器であって、 α)第一、第二のmビット入力と一個のmビット出力を
    持ち、2m−6個のmビットの積を逐次計算するため2
    m−3回の乗算を逐次実行するmビット「1の補数」乗
    算器と、 h)初期に於てその内容が乱数(整数)Eの二進法表示
    によるD個の二進数成分であり、その内容は逐次更新さ
    れ、その出力は上記mビット「1の補数」乗算器への上
    記第一人力となる第一累算器と、 C)初期に於てその内容が乱数(整数)Eのmビットの
    成分であり、その内容は逐次更新され、その最終的な内
    容はmビットの整数りとなる第二累算器と、 d)上記第一、第二累算器の内容を逐次更新していくた
    め、最初の乗算の後その積を上記第一累算器に移送し、
    その後積が逐次計算される度に上記第一、第二累算器へ
    交互に移送する装置と、e)上記第一、第二累算器を上
    記mビット「1の補数」乗算器の上記第二mビット入力
    に接続するため最初の乗算の後上記第−累算器を上記第
    二mビット入力に接続し、その後は上記第一、第二累算
    器を交互に上記第二mビット入力に接続する装置と、か
    ら成る計算器。 (5)公開通信回線により送信者と受信者の間で伝送さ
    れるディジタル通信Mの秘密を保持する為の方法であっ
    て、上記ディジタル通信Mを非公開に送信する為に、第
    一の公開ディジタル通信Y1、第二の公開ディジタル通
    信Y2、第三の公開ディジタル通信Y3、が、上記公開
    通信回線により各非公開ディジタル通信M毎に伝送され
    、上記非公開ディジタル通信M及び上記三個の公開ディ
    ジタル通信Y1、Y2、Y3は、それぞれm個の二進数
    を成分とするばクトル表示であり、2 個の元を持つ有
    限体GF(2”)の0,1以外の元の正規基底による表
    示であって、上記三個の公開通信Y1、Y2、Y3はE
    l、Dl、E2、D2はm個の二進数を成分とする整数
    であり、1から2m−2までの値を取り、E1D1=E
    2D2=1(modulo2−1)を満たすものとして
    、式 %式% で表され、上記非公開通信MはM=Y32で表せ、更に
    、上記第−の公開通信Y1は、上記送信者から上記受信
    者へ送信され、上記第二の公開通信Y2は上記受信者か
    ら上記送信者へ応答として送信され、更に上記第三の公
    開通信Y3は上記送信者から上記受信者へ上記通信Y2
    の応答として送信され、更に、上記受信者が式M−Y3
    2に従って上記非公開通信Mを計算することにより、該
    方法が、 α)上記送信2者側に於て、m個の二進数成分から成る
    第一の乱数(整数)を発生すること、b)上記の第一の
    乱数が与えられた時、上記送信者側に於てEl、Dlが
    m個の二進数成分を持ち1から2−2までの値を取る整
    数であるものとして、E、D1=1(modulo 2
    −1)を満たす一組の整数E1、Dlを計算すること、 C)上記送信者側に於て、上記非公開通信MのE乗を計
    算し上記公開通信Y1を求めること、d)上記通信Y1
    を上記公開通信回線を通じて上記受信者へ送信すること
    、 g)受信者側に於て、m個の二進数成分を持つ第二の乱
    数(整数)を発生すること、 f)上記第二の乱数が与えられた時、受信者に於てE2
    、D2が1から2m−2までの値を取る整数であるもの
    として、E2D2=1(TTIOdulO2−1)を満
    たす一組の整数E2、D2を計算すること、g)上記受
    信者側に於て、上記公開通信Y1の82乗を計算し、上
    記公開通信Y2を求めること、ん)上記通信Y2を上記
    公開通信回線を通じて上記送信者側へ送信すること、 i)上記送信者側に於て、上記公開通信Y2のD1乗を
    計算し、上記公開通信Y3を求めること、ノ)上記公開
    通信Y3を上記公開通信回線を通じて上記受信者側へ送
    信すること、 k)上記受信者側に於て、上記公開通信Y3のD2乗を
    計算し、上記非公開通信Mを求めることの各手順から成
    ることを特徴とする前記方法。
JP58008012A 1982-02-02 1983-01-20 公開通信回線に於てデイジタル通信の秘密を保持する為の方法と装置 Pending JPS58181350A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP82100739A EP0085130A1 (en) 1982-02-02 1982-02-02 Method and apparatus for maintaining the privacy of digital messages conveyed by public transmission
EP821007390 1982-02-02

Publications (1)

Publication Number Publication Date
JPS58181350A true JPS58181350A (ja) 1983-10-24

Family

ID=8188855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58008012A Pending JPS58181350A (ja) 1982-02-02 1983-01-20 公開通信回線に於てデイジタル通信の秘密を保持する為の方法と装置

Country Status (3)

Country Link
US (1) US4567600A (ja)
EP (1) EP0085130A1 (ja)
JP (1) JPS58181350A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5875717B1 (ja) * 2015-01-14 2016-03-02 日本電信電話株式会社 乱数生成装置、乱数生成方法、およびプログラム
WO2024070414A1 (ja) * 2022-09-29 2024-04-04 株式会社エヌティーアイ 通信システム、第1通信装置、第2通信装置、通信方法

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885777A (en) * 1985-09-04 1989-12-05 Hitachi, Ltd. Electronic transaction system
EP0239749B1 (de) * 1986-03-05 1990-07-25 Holger Sedlak Kryptographie-Verfahren und Kryptographie-Prozessor zur Durchführung des Verfahrens
US4797848A (en) * 1986-04-18 1989-01-10 Hughes Aircraft Company Pipelined bit-serial Galois Field multiplier
EP0566215B1 (en) * 1986-09-30 1996-11-20 Canon Kabushiki Kaisha Error correction apparatus
US4891781A (en) * 1987-03-04 1990-01-02 Cylink Corporation Modulo arithmetic processor chip
US4841570A (en) * 1987-05-11 1989-06-20 The United States Of America As Represented By The United States Department Of Energy One-way transformation of information
DE3919734C1 (ja) * 1989-06-16 1990-12-06 Siemens Ag, 1000 Berlin Und 8000 Muenchen, De
US4964164A (en) * 1989-08-07 1990-10-16 Algorithmic Research, Ltd. RSA computation method for efficient batch processing
JP2606419B2 (ja) * 1989-08-07 1997-05-07 松下電器産業株式会社 暗号通信システムと暗号通信方法
US5210710A (en) * 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip
US5161186A (en) * 1991-09-06 1992-11-03 International Business Machines Corporation System for secure and private communication in a triple-connected network
US5159632A (en) * 1991-09-17 1992-10-27 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US5313521A (en) * 1992-04-15 1994-05-17 Fujitsu Limited Key distribution protocol for file transfer in the local area network
GB2278518B (en) * 1993-05-14 1997-12-10 Trafford Limited Encrypted data transfer
EP0907270B1 (en) 1994-02-24 2009-04-15 Comcast Cable Holdings, LLC Apparatus and method for establishing a cryptographic link between elements of a system
US5787172A (en) * 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US5872917A (en) * 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5859912A (en) * 1996-03-22 1999-01-12 General Electric Company Digital information privacy system
US7555458B1 (en) * 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US20030195848A1 (en) * 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US5930471A (en) * 1996-12-26 1999-07-27 At&T Corp Communications system and method of operation for electronic messaging using structured response objects and virtual mailboxes
US6131090A (en) * 1997-03-04 2000-10-10 Pitney Bowes Inc. Method and system for providing controlled access to information stored on a portable recording medium
US6212279B1 (en) 1998-06-26 2001-04-03 The United States Of America As Represented By The United States National Security Agency Method of elliptic curve cryptographic key exchange using reduced base tau expansion in non-adjacent form
US6243467B1 (en) 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
WO2000007329A1 (fr) * 1998-07-30 2000-02-10 Sony Corporation Systeme de traitement de contenu
IL136747A0 (en) * 1998-10-14 2001-06-14 Aegis Systems Inc System and method of sending and receiving secure data with a shared-key
US6463461B1 (en) 1999-08-30 2002-10-08 Zaplet, Inc. System for communicating information among a group of participants
US6507865B1 (en) 1999-08-30 2003-01-14 Zaplet, Inc. Method and system for group content collaboration
US6505233B1 (en) 1999-08-30 2003-01-07 Zaplet, Inc. Method for communicating information among a group of participants
US6691153B1 (en) 1999-08-30 2004-02-10 Zaplet, Inc. Method and system for process interaction among a group
US6523063B1 (en) 1999-08-30 2003-02-18 Zaplet, Inc. Method system and program product for accessing a file using values from a redirect message string for each change of the link identifier
US6457045B1 (en) 1999-08-30 2002-09-24 Zaplet, Inc. System and method for group choice making
US6453337B2 (en) * 1999-10-25 2002-09-17 Zaplet, Inc. Methods and systems to manage and track the states of electronic media
US7359507B2 (en) 2000-03-10 2008-04-15 Rsa Security Inc. Server-assisted regeneration of a strong secret from a weak secret
US7716484B1 (en) * 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
AU7182701A (en) 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US7327846B1 (en) 2000-09-05 2008-02-05 Chung Nan Chang Secure cryptographic key exchange and verifiable digital signature
AU2001296866A1 (en) * 2000-09-05 2002-03-22 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US7020282B1 (en) * 2000-09-05 2006-03-28 Chung Nan Chang Simplified secure, swift cryptographic key exchange
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7197527B2 (en) * 2002-10-17 2007-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Efficient arithmetic in finite fields of odd characteristic on binary hardware
US7724898B2 (en) * 2002-10-17 2010-05-25 Telefonaktiebolaget L M Ericsson (Publ) Cryptography using finite fields of odd characteristic on binary hardware
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US20050002533A1 (en) * 2003-07-01 2005-01-06 Langin-Hooper Jerry Joe Fully secure message transmission over non-secure channels without cryptographic key exchange
US7289629B2 (en) * 2004-02-09 2007-10-30 Microsoft Corporation Primitives for fast secure hash functions and stream ciphers
US7497379B2 (en) * 2004-02-27 2009-03-03 Microsoft Corporation Counterfeit and tamper resistant labels with randomly occurring features
US7577844B2 (en) 2004-03-17 2009-08-18 Microsoft Corporation Systems and methods for encoding randomly distributed features in an object
US7336806B2 (en) * 2004-03-22 2008-02-26 Microsoft Corporation Iris-based biometric identification
US7657033B2 (en) 2004-12-10 2010-02-02 Fiske Software Llc Cryptography related to keys
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8090097B2 (en) * 2006-10-11 2012-01-03 Frank Rubin Device, system and method for cryptographic key exchange
US7912213B2 (en) * 2006-10-11 2011-03-22 Frank Rubin Device, system and method for fast secure message encryption without key distribution
US7907723B2 (en) * 2006-10-11 2011-03-15 Frank Rubin Device, system and method for fast secure message encryption without key distribution
US8098815B2 (en) * 2006-10-11 2012-01-17 Frank Rubin Device, system and method for cryptographic key exchange
US8060750B2 (en) * 2007-06-29 2011-11-15 Emc Corporation Secure seed provisioning
US8059814B1 (en) 2007-09-28 2011-11-15 Emc Corporation Techniques for carrying out seed or key derivation
US8307210B1 (en) 2008-05-02 2012-11-06 Emc Corporation Method and apparatus for secure validation of tokens
JP5233449B2 (ja) * 2008-07-02 2013-07-10 日本電気株式会社 署名生成装置、ならびに、署名検証装置
US9832649B1 (en) 2011-10-12 2017-11-28 Technology Business Management, Limted Secure ID authentication
GB2498326B (en) * 2011-10-12 2016-04-20 Technology Business Man Ltd ID Authentication
US8904171B2 (en) 2011-12-30 2014-12-02 Ricoh Co., Ltd. Secure search and retrieval
JP2013197642A (ja) * 2012-03-16 2013-09-30 Fujitsu Ltd 暗号処理方法及び装置
US11151255B2 (en) 2018-10-26 2021-10-19 Dell Products L.P. Method to securely allow a customer to install and boot their own firmware, without compromising secure boot
US11005655B2 (en) 2018-10-31 2021-05-11 Dell Products L.P. System and method of providing information to a device
US11374910B2 (en) 2019-03-13 2022-06-28 Springcoin, Inc. Method and apparatus for effecting a data-based activity
US11405365B2 (en) 2019-03-13 2022-08-02 Springcoin, Inc. Method and apparatus for effecting a data-based activity
US11637817B2 (en) 2020-03-12 2023-04-25 Springcoin, Inc. Method and apparatus for effecting a data-based activity
JP7411526B2 (ja) 2020-09-25 2024-01-11 株式会社日立製作所 情報処理システム及び情報処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798605A (en) * 1971-06-30 1974-03-19 Ibm Centralized verification system
GB1597218A (en) * 1976-12-11 1981-09-03 Nat Res Dev Apparatus for electronic encypherment of digital data
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4424414A (en) * 1978-05-01 1984-01-03 Board Of Trustees Of The Leland Stanford Junior University Exponentiation cryptographic apparatus and method
US4208739A (en) * 1978-07-20 1980-06-17 Communications Satellite Corporation Integrated encryption and channel coding technique
US4399323A (en) * 1981-02-09 1983-08-16 Bell Telephone Laboratories, Incorporated Fast real-time public key cryptography
US4417338A (en) * 1981-04-13 1983-11-22 Wisconsin Alumni Research Foundation Cryptographic key sharing circuit and method using code correction

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5875717B1 (ja) * 2015-01-14 2016-03-02 日本電信電話株式会社 乱数生成装置、乱数生成方法、およびプログラム
WO2016114292A1 (ja) * 2015-01-14 2016-07-21 日本電信電話株式会社 乱数生成装置、乱数生成方法、およびプログラム
WO2024070414A1 (ja) * 2022-09-29 2024-04-04 株式会社エヌティーアイ 通信システム、第1通信装置、第2通信装置、通信方法

Also Published As

Publication number Publication date
US4567600A (en) 1986-01-28
EP0085130A1 (en) 1983-08-10

Similar Documents

Publication Publication Date Title
JPS58181350A (ja) 公開通信回線に於てデイジタル通信の秘密を保持する為の方法と装置
Paar et al. Understanding cryptography: a textbook for students and practitioners
Hellman An overview of public key cryptography
EP1834438B1 (en) Cryptography related to keys
EP0804758B1 (en) Elliptic curve encryption systems
US5299262A (en) Method for exponentiating in cryptographic systems
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
CN101019367A (zh) 用于计算变换的方法和系统
Mohan et al. Homomorphic encryption-state of the art
Prasad et al. A novel public key cryptography based on generalized Lucas matrices
Newman et al. Public key management for network security
Amounas Elliptic curve digital signature algorithm using Boolean permutation based ECC
Billore et al. Cryptography utilizing the affine-hill cipher and extended generalized fibonacci matrices
CN115843360A (zh) 基于指数复杂度的对称加解密方法
Raharinirina Use of Signed Permutations in Cryptography
JP3894919B2 (ja) 電子署名方法とそのプログラム及び装置
Prasad et al. A modified public key cryptography based on generalized Lucas matrices
Biswas A mathematical model for ascertaining same ciphertext generated from distinct plaintext in Michael O. Rabin Cryptosystem
Zheng-Jun et al. A novel public key cryptosystem based on ergodic matrix over GF (2)
Longo Secure digital communications
Krikun et al. Parallelized Montgomery Exponentiation in GF (2 k) for Diffie–Hellman Key Exchange Protocol.
Khan 8× 8 S-boxes Construction over Quaternion Integers
JPH0798563A (ja) 楕円曲線による署名、認証及び秘密通信方式
Lin Group-Oriented Data Access Structure Using Threshold-CAE Scheme and Its Extension
Gallego Estévez Quantum and post-quantum key combination in a financial environment