JP3044565B2 - 暗号装置 - Google Patents

暗号装置

Info

Publication number
JP3044565B2
JP3044565B2 JP2265298A JP26529890A JP3044565B2 JP 3044565 B2 JP3044565 B2 JP 3044565B2 JP 2265298 A JP2265298 A JP 2265298A JP 26529890 A JP26529890 A JP 26529890A JP 3044565 B2 JP3044565 B2 JP 3044565B2
Authority
JP
Japan
Prior art keywords
column
value
block
word
modulo
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 - Lifetime
Application number
JP2265298A
Other languages
English (en)
Other versions
JPH03192383A (ja
Inventor
ロスロツプ・ミツテンサール
Original Assignee
リットン・システムズ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by リットン・システムズ・インコーポレーテッド filed Critical リットン・システムズ・インコーポレーテッド
Publication of JPH03192383A publication Critical patent/JPH03192383A/ja
Application granted granted Critical
Publication of JP3044565B2 publication Critical patent/JP3044565B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は暗号装置および暗号法の分野に関するもので
あり、更にて詳しく言えば、ブロック置換を利用した暗
号装置に関するものである。
〔従来の技術と発明が解決しようとする課題〕
多くの場合に、1つの場所から別の場所へデジタル形
式で情報を、受信者にとっては明らかで、あいまいでは
ないが、それらの場所の間の傍受者には理解できないや
り方で通信することが望まれる。したがって、多くの場
合には、通信すべき情報をある所定の暗号法で暗号化
し、情報を暗号化された形で送り、受信した暗号化され
ている情報を受信場所で解読するのが普通である。希望
する安全度に応じて、どのようなレベルの暗号も専門的
でない傍受者にとって通信を無意味にするから、比較的
簡単で、容易に破られる暗号を使用でき状況もある。他
の状況においては、希望の安全度は暗号解読を一層困難
にする暗号技術の使用、暗号解読をほとんど不可能にす
るのが必要とされる。そのような暗号技術の応用面に
は、製造工場の間、銀行の支店の間等の要注意通信のよ
うな商用通信、および敵味方識別(IFF)を含む(もっ
とも敵味方識別に限定されるものではないが)軍事応用
がある。ある場合には、暗号化の主な目的は、通信され
ている情報を傍受者が解読することを防止することであ
り、IFFのような場合には主な目的は本来の受信者を誤
らせるために、傍受者自身が偽情報を同じ暗号法で発信
することを防止することである。これらの目的は多くの
用途においてしばしば存在する。
ブロック置換は、2進数列の態様である平文メッセー
ジを暗号化するために用いられる方法である。この方法
に従って、その2進数列はある所定のブロック長さnの
ブロックに分けられる。ブロック置換装置が平文中の各
2進数を新しい2進数ブロックに1対1の関係で置換暗
号化する。置換ブロックは暗号化されたメッセージまた
は暗号テキストを構成する。各置換ブロックは平文テキ
ストブロックのあいまいでない1対1の変換を表す。従
来技術においては、その置換は探索表、切換え装置、ま
たは帰還シフトレジスタにより一般に行われる。しか
し、しばしば変化するコードまたは置換暗号法スキーム
がないと、暗号が解読されることがある。しかし変化す
る探索表は面倒であり、限られた数の可能な切換え装置
だけが実用的であり、シフトレジスタでの繰返えされる
サイクル動作は時間がががる。どのようなパターンまた
は偏りも持たない置換の発見には別の問題が起る。現在
では、候補の置換が、可能な系統的パターンに対しては
コンピュータシミュレーションにより調べられ、ある場
合には、それを補償するために付加回路が用いられる。
各種の暗号装置および暗号法が従来技術で良く知られ
ている。たとえば、米国特許第3,796,830号、第3,798,8
59号、第4,078,152号、第4,195,200号、第4,255,811
号、第4,316,055号、第4,520,232号を参照されたい。一
般に、それらの装置は、ブロック置換に関連するから、
キーに依存する暗号装置および解読装置であり、本発明
のような、別の数の集合への1つの加算的に入れ換えら
れた数集合のモジュロ2加算によるブロック置換を基に
していない。
〔課題を解決するための手段〕
本発明は、比較的簡単なハードウェアによって置換技
術の使用を行えるようにする、ブロック置換技術による
モジュロ2加算を基にした暗号装置を提供するものであ
る。ブロック置換(nビット2進数のそれ自身への1対
1写像)は、nビツト2進数のある順列が、別の数集合
への1つの並べられた数集合のモジュロ2加算によりブ
ロック置換を定めるということ、及びそれらのサブ集合
が、ベクトルとして見られた時に加算関係を有する式を
定めるという事実を基にしている。これにより変換の変
更を簡単かつ頻繁に行える。変換の諸性質と、変換を用
いた暗号装置を以下に開示する。
〔実施例〕
以下、図面を参照して本発明を詳しく説明する。
以下の説明においては、本発明の装置をnビット2進
数のブロックに関して説明する。ここに、nの値は3で
ある。それから、この装置は一般にnビツトブロックへ
拡散され、n=8までのブロックのある特性を提示す
る。n=3に対する下記の例を提示することにより、よ
り多くの組合わせを有するより大きなブロックを使用し
て説明する場合よりも本発明の概念を一層良く理解でき
ると信ぜられる。
ブロック置換というのは、nビツト2進数のそれ自身
への1対1写像(マッピング)について通常用いられる
用語である。この写像は2n個のnビット数の対として書
くことができる。
ここに、各列は異なる順序で書かれた同じ2種類のn
ビット数である。したがって、この写像は または、あるインデックス集合に対しては(X1XiXj)と
書かれたnビット数の順列と考えることができる。順列
に対するこの通常の記法はX1→Xi、Xi→Xj等を意味す
る。
列の記法へ戻って、元の集合およびぞれの写像から1
組の簡単な式を定めることができる。
ここに、はモジュロ2加算(すなわち、桁上げなしの
対応する数の加算)を意味する。一般に、集合{Y1,Y2,
・・}は全てが異なるわけではなく、ある状況では同じ
である。本発明によれば、それら全てが相異なると、従
来の手段ではなくてモジュロ2加算によってブロック置
換を発生できる。主たる課題は、置換を、迅速に且つ偏
りなしに変えるやり方を決定することである。
ブロック置換をモジュロ2加算により行うことができ
たかどうかは明らかではない。たとえば、第1図に示さ
れているモジュロ2加算により、3ビツトの2進数の1
つの構成を別の構成に置換する試みについて考えること
にする。右側の3列には011と100はおのおの2回現われ
るが、011と110は決して現れない。左側の列1と中央の
列2との操作は、列1の3ビット2進語の集合のそれ自
身への変換を構成する。これは多数−1変換であって、
変換されたブロツク011と100に対する元のブロックを回
復しようとする時に生ずるあいまいさのためにその多数
−1変換は役に立たない。
第2図に示されているような別の構成を試みると異な
る結果が得られる。任意の列対が今は1対1変換を構成
する。この変換によれば、列1は、列3の3ビット2進
数(平文テキスト)から自身への1対1変換であり、暗
号化されたテキストである。各列は全て3ビツト数構成
され、その3ビツト数は正確に1回だけ現れる。
任意の3桁2進数ブロックを暗号化された2進数ブロ
ックへ変換するために、第2図に示される変換を使用で
き、そして、列1中の暗号化された語を見つけ、それか
ら同じ行内の対応する(第2図の列3の)平文テキスト
語を選択することにより、暗号化されたメッセージを解
読でき、従って、解読のために同じ式を使用できること
が明らかである。と=とを第5図に示すように交換す
れば良いので極めて便利である。列1の語が列2の語に
加えられて列3の語を得ることにより、暗号化された語
を平文テキスト語へ逆変換するための変換が行われる結
果となる。
再び第2図を参照すると、そこに示されている変換の
興味ある性質を見ることができる。特に、3桁の2進数
の8個のブロックのうち、下位側の4個のブロック00
0、001、010、011が、下位側の4個のブロックのうちの
2個(すなわち、000と001)、および、上位側の4個の
ブロックのうちの2個(すなわち、110と111)へ写像す
る。同様に、8個のブロックのうちのより大きい4個の
ブロックのうち、2個が下位側の4個のブロックへ、2
個が上位側の4個のブロックへ、それぞれ写像する。同
様に、偶数ブロック000、010、100、110が、2個の偶数
ブロック(000と010)と、2個の奇数ブロック(001と0
11)へそれぞれ写像する。4個の奇数ブロックは、その
半分が奇数ブロックに写像し、その半分が偶数ブロック
に写像する。解読に関しても、同じことが言えることは
明らかである。したがって、暗号化されたブロックの、
大きいこと、小さいこと、偶数であること、奇数である
こと等のような、ある特性についての知識は、暗号化さ
れていないブロックの特性についての如何なる類似性も
伝えない。このような暗号化は、「偏りを生じさせない
(unbiased)」ものである、と言われる。そのために、
各ブロックの中間の桁(数字)を考えても、中間の桁と
して0を有する第2図の4個のブロックは、そのうちの
2つのブロックが中間の桁として0を有するブロックに
写像され、残りの2つのブロックが中間の桁として1を
有するブロックに写像されることに注目すべきである。
同様に、中間の桁として1を有する4個のブロックは、
そのうちの2個のブロックが中間の桁として1を有する
ブロックへ写像され、2個のブロックが中間の桁として
0を有するブロックへ写像される。この特質は、ブロッ
クの(寸法)サイズに拘わらずに成立し、最大サブグル
ープとして代数的に特徴づけることができるブロックの
全ての集合を等しく分割することに拡張できる。暗号の
この偏りのない特性はここで開示する暗号法の非常に有
利な特徴であり、とくに暗号を頻繁に変更する際に非常
に有利な特徴である。
とくに、どのような実用的な暗号装置においても、パ
ターンの不法な解読を可能にするのに十分に長い時間に
わたってパターンが持続しないように、暗号の組み方を
頻繁にて変更できることが望まれる。この目的のため
に、第2図の行の配列を第3図に示すように変えて見る
と、第2図の式の特性の一つを知ることができる。行の
配列を任意に変えても、各式は、表中の位置には関係な
くそれ自身の完全性を維持するから、変換には決して影
響しない。本質的には、第3図の2行目は第2図の4行
目であり、第3図の3行目は第2図の5行目であり、次
の行の最も左側の列は先行する行の2列目と同じ3ビッ
ト数を含む。そのように配列されると、1行目すなわち
アイデンティティ行を除き、3つの各列は、3ビツト2
進数の一連の並びを循環(ラップアラウンド)の態様で
含んでいる。特に、1列目は、2列目の2進数数の並び
順と同じ並び順を有し、下方へ1位置(または上方へ6
位置)ずれており、一方、3列目は、2列目と同じ並び
順を有し、2列目よりも下方へ3位置(または上方へ4
位置)ずれている。
第3図の1行目すなわちアイデンティティ行を再び除
いて、1列目(列1)の3ビット2進数が、2列目(列
2)に関して、下方へ6位置だけ循環(ラップアラウン
ド)のやり方でずらされたとすると、第4図に示すよう
に1対1の変換が依然として行われることに気がつくで
あろう。アイデンティティ行を除き、変換は第3図にお
ける変換とは全く異なる。例として、3列目の111は、
第3図では011(1列目)に写像し、第4図では100(1
列目)に写像する。しかし、それに加えて、第4図の1
列目と3列目における3桁の数のならび(アイデンティ
ティ行を別にして)が、第3図および第4図の2列目に
おけるものを循環的にずらせただけであることに注目す
ることが重要である。したがって、第3図の変換は、第
3図の1列目の数を2列目の数に関して単にずらすこと
により、第4図の新しい変換へ変更されており、3列目
の数も2列目の数に関して、モジュロ2加算の完全性を
保存するために異なる量だけずらされている。また、解
読のために、第4図の記号と=を第5図におけるよう
に交換できる。
任意のブロック寸法(サイズ)について、より一般的
な式の集合を下のように書くことができる。
ここで、ブロック寸法(サイズ)がnであると、m=
2n−1であり、θ=00・・・00(すべての桁が0のnビ
ット語)である。
列1が、列2に関してS位置だけずら(シフト)され
たとすると、列3は、モジュール2加算の完全性を保存
するために、異なる量Psだけずらされる。与えられたず
らし量Sに対して、Psはシフト(ずらし)プログラマに
より決定される。
次に第6図を参照する。第6図にはこれまで説明して
きた暗号技術および解読技術に従って暗号化を行う装置
のブロック図が示されている。
平文テキスト語がメモリIのそれのアドレスへ送られ
る。これは列3からθ以外の語Xk-PSを選択することに
対応する。本発明のやり方は、Xk-PSを、列2の中の対
応するものに加えることである。Xk-PSがθ以外であっ
て、Xkへ加えるべきであるものとすると、列3内のオー
ダーデータk−Psを持つ語を、同様に列3内のオーダー
データk−Ps+Ps=kを持つ語に加えることに等しい。
したがって、平文テキスト語のオーダーデータk−Psが
加算器へ送られてPsへ加えられる。新しいオーダーナン
バーはメモリII内のそれのアドレスへ送られる。そのア
ドレスの内容がモジュール2で平文テキスト語へ加えら
れて列1中の暗号化された語Xk-Sを得る。平文テキスト
語がθであるとすると、それを暗号化したものは同じで
ある。
オーダーデータを加えあわせることは2つの加算器、
すなわち、桁上げ(C)加算器と、最下位ビット(LS
B)加算器とにより行われる。桁上げ加算器は桁上げを
通常伴う数を加算する。たとえば001+011=100であ
る。しかし、加算がn桁以上を要求したとすると、すな
わち、1がn+1の位置へ桁上げされるとすると、その
余分の1は、最初の位置に加えられる。すなわち、100
+110=1010→011である。これはLSB加算器により行わ
れる。これはモジュロm(ここでm=2n−1)の加算で
ある。この例においては、n=3、m=7であり、10進
数で表される加算は4+6=10=3mod 7である(ここ
に、100→4、110→6、011→3)。
解読のためのブロック図が第7図に示されている。暗
号テキスト語がメモリIのそれのアドレスへ送られる。
これは列1からθ以外の語Xk-Sを選択することに対応す
る。やり方は、語Xk-Sを列2の中のそれに対応するもの
Xkに加えることである。これは列1内の語Xk-Sを、列1
のオーダーデータK−s+s=Kを持つ語に加えること
に等しい。したがって、暗号テキスト語のオーダーデー
タK−Sが加算器へ送られてsへ加えられる。新しいオ
ーダーナンバーはメモリII内のそれのアドレスへ送られ
る。そのアドレスの内容がモジュール2で暗号テキスト
語へ加えられて列3中の解読された語Xk-PSを得る。暗
号テキスト語がθであると、それはθとして解読され
る。
オーダーデータK−S+SとK−Ps+Psの加算は、モ
ジュロm(循環態様)であることが理解される。すなわ
ち、オーダーデータが、m(最後の位置)より大きいと
すると、オーダーデータからmが差し引かれる。暗号テ
キスト語がθであれば、それは同じ語として解読され
る。
シフト(ずらし)プログラムは、列1中のずらし量S
が用いられる順序を、列3の対応するPSのずらしSとと
もに、決定する。希望する任意の順序を使用できる。シ
フトSは前記基本的な順列のべきに対応し、それは加算
による置換を決定する。
したがって、たとえば、第8図において、平文データ
値が010であるとすると、メモリI内のそのアドレスは
オーダーデータ001を与える。このオーダーデータは2
進記法であって、平文データ値010がメモリI内の列
(一般的な式の集合の列3に相当)中の位置1にあるこ
とを示す。シフトプログラム中の最初のシフト位置はS
=6であり、それに対するPsはP6=2である。平文デー
タ値010の位置に対しては、K−Ps=K−P6=1がP6
2へ加えられる。2進記法では001+010=011となり、
メモリIIのアドレスを示す。メモリIIにおいてアドレス
011に対応するのは数100である。(これは、100が列3
内の位置3にあるということに等しい。)110=10001
0は暗号テキスト語である。これは第5図における加算
の最初のものを表す。
解読に関して暗号テキスト語は110である。第9図に
おいて、メモリI内のそのアドレスは、オーダーデータ
100すなわちメモリI内の列の位置4を与える。プログ
ラム中の最初のシフト位置はS=6である。110の位置
(K−6=4)へ、6(2進記法では110)が加えられ
る。4+6=10となる。m=7だけの減算、すなわち、
10−7=3(ラップアラウンドで位置3)である。2進
記法では100+110=011モジュロ7である。メモリIIで
のアドレス011に対応するナンバーは100である。1101
00=010。これは第4図における加算を表す。
次に、固定された数をモジュロ2で第4図の列1と列
2へ加えても、1対1変換が行われる。
次に第11図と第12図を参照する。それらの図には、任
意のブロックサイズに対して、θ(零語)以外の固定語
を用いて暗号化と解読を行う装置のブロック図が示され
ている。この暗号化または解読を行う手続きは前記した
のとほぼ同じであり、固定語にモジュール2加算を行う
過程が、暗号化のプロセスでは最後に付加され、解読の
プロセスでは最初の過程として付加されている。
例が第13図と第14図に示されている。この場合には、
000が固定された状態に変換されず、001へ変換される。
今度は110がそれ自身へ変換され、したがってこの場合
には固定された状態になる。
固定語加算器はnビツト語のいずれか又は全てを、ユ
ーザーにより選択された順序で加算することができる。
再び第8図を参照する。この図には、これまで説明し
てきた暗号化技術と解読技術に従って暗号化を行う装置
の一実施例のブロック図が示されている。図示のよう
に、平文データ20の任意の(000を除く)値がアドレス
としてメモリ22へ供給される。平文データ値に対するオ
ーダーデータ、すなわち、第4図(および第5図と第10
図)の右側の列での順序づけられた平文データ値の(2
進数で表された)位置が、種々のメモリアドレスに記憶
される。この位置はメモリ22の出力として、加算器24と
26と組合わせで示される加算器へ供給される。それらの
加算器は、シフトプログラマ28により制御されてメモリ
の出力をずらし値Psへ加え合わせるように結合される。
この加算はモジュール2加算ではなく、最上位ビツトか
らの桁上げが最下位ビツトの桁上げとして結合されるこ
とを除いて、通常の2進加算である。したがって、この
加算器は、111より大きい和1としての結果001(1000ま
たは単に000ではなく)を供給する。よって、加算器の
出力は、オーダーデータ列中を量Psだけずら(シフト)
された新しい3ビツト2進数である。この新しい位置
は、次にメモリ30のためアドレスとして用いられる。そ
れによりそのメモリはその出力として、第4図の列2に
おける値に対応する3ビット2進数、または第3図にお
ける対応する平文データ値を与える。したがって、たと
えば、平文データ値が010であるとすると、メモリIへ
のアドレスとしてその値は、列中の001のその値の場所
を与える。シフトプログラムがS=6を選択するとする
と、Ps=2であって、列3は列2から2位置だけ、また
は量010だけ下方へシフトされる。平文データ値010に隣
接する3ビツト2進数は、第5図におけるように100で
ある。平文データ010に対するこのモジュロ2加算は、
第5図に示されている値に対応する暗号化された値110
を与える。しかし、平文テキストデータ値が000である
とすると、メモリIへのアドレスとしてその値は列中の
000の値の場所を示す。それはシフトされず、メモリ30
内のオーダーデータとして不変のままにされる。したが
って自分自身へ加えられた000は固定されたままであ
る。
第5図の列2の基本的なオーダーデータと比較した第
5図の列3の並びの下方へのシフトPsは、それに相補的
な上方シフトにも対応する。したがって、nビツトブロ
ックに対しては、下方シフトPは上方シフトm−Psに等
しい。3ビットブロックに対しては、可能なシフトの全
ての値が、列2に対する第1のシフトが0と7およびぞ
の倍数である場合を除き(かかる場合には列2が列1の
対応するものと同一の行を有することになり又はそれ自
身にモジュール2加算される任意の数が零であるか
ら)、希望の1対1の写像を行う。したがって、7また
はそれの倍数のシフトでは、全ての平文データ値が000
へ写像し、暗号化目的には無意味である。しかし、一般
に、3ビツトより大きいnビツトブロックに対しては、
零とmの整数倍以外の全てのシフトは、希望の結果をも
たらすので、本発明のために使用できる。
第7図に従って解読する装置のブロック図が第9図に
示されている。ハードウエアの点からは、このブロック
図は第8図に示されている暗号化装置のブロック図と全
く同じである。ただ、解読では、暗号化用に与えられた
シフトPsに対するシフトSを使用する点だけが異なる。
先に述べた例におけるように、暗号化のための2のシフ
トPsに対しては、シフト6が、第8図と第9図の表に示
すように、適切な解読を行う。暗号化ハードウェアと解
読ハードウェアは、解読で平文データを正しく回復する
ために対応するシフトを使用せねばならない。もっと
も、シフトは、暗号解読を、不可能ではなくとも非常に
困難にするために、暗号化と解読の双方でシフト量を頻
繁に変えることができる。
固定された数をモジュロ2で第5図の任意の一対の列
へ加えても、なお1対1の変換が行われる。たとえば、
第10図において、固定された数001が第5図の第1の列
と第2の列へモジュロ2加算されるとする。平文テキス
ト語としての010は暗号化された語111へ写像され、第8
図に示す例では010が110へ写像される。
固定語の加算器を用いて暗号化するための装置のブロ
ック図の例が第13図に示されている。この図は、固定語
(例では001)を、第1の列の010と同じ第2の列の行中
の値に対応するメモリ30の出力へ加えるために、固定語
加算器32が含まれていることを除き、第8図と同じであ
る。したがって、固定語加算器は固定語(この例では00
1)を列2の値へ単に加え、その後で平文テキスト語を
モジュロ2加算し、暗号化されたデータを得る。一例と
して、平文データ010をメモリ22へのアドレスとして用
いると、メモリの出力は001である。第8図の例におけ
るのと同じシフトを用いると、010、Ps=2が001へ加え
られて、メモリ30へアドレス011を供給する。この結果
としてメモリ30から出力100が生じ、その出力へ固定語
加算器が固定語001をモジュロ2加算して101を生ずる。
これをモジュロ2で平文テキスト語010へ加えると、第1
0図に示すように暗号化された語111が得られる。
第14図には、第13図の暗号装置のブロック図に対応す
る解読装置のブロック図が示されている。この図から解
るように、暗号化されたデータがメモリ22へ加えられる
前に、固定語加算器が固定語をそのデータへモジュロ2
加算することを除き、第14図は第13図と同じである(も
っとも、解読のためのシフトは暗号化のためのシフトと
異なる)。そのモジュロ2加算は、本質的には固定語の
第2のモジュロ2加算である。というのは、暗号化され
た語を得るために、固定語の第1のモジュロ2加算が第
11図にておいて行われているからである。したがって、
同じ語の第2のモジュロ2加算は第1のモジュロ2加算
を実際に打消すから、第12図における暗号化されたデー
タに固定語がモジュロ2加算された後は、そのモジュロ
2加算の結果を解読のために第10図の式で使用できる。
したがって、たとえば、第13図に示す例の暗号化された
語111を用いると、111011=110が第14図のメモリ22へ
のアドレスとなる。これによってメモリの出力100が与
えられる。その出力へS=6すなわち110の値が加えら
れる。100+110=1010→(循環(ラップアウランド)に
よって)111。これによってメモリ30へアドレス011が与
えられ、そのメモリ出力100が与えられる。その出力
へ、メモリ2へのアドレスである110がモジュロ2加算
されて、平文テキストデータ010を回復する。更に、第1
3図と第14図の固定語加算器は固定語001を用いている
が、他の任意の3ビツト固定語を使用でき、また、シフ
トの変化とともに若しくはシフトの変化とは別に、固定
語を変化させることができ、固定語000を使用すると装
置の動作は第8図と9図のものと同じとなる。
第6図、第7図、第11図および第12図を参照して説明
したやり方は、プログラムで制御されるマイクロプロセ
ッサを基にした装置で容易に実施できる。あるいは、メ
モリをルックアップテーブルとして用いる読出し専用メ
モリで容易に予めプログラムでき、暗号装置と解読装置
の少くとも主な部品、高速の個別部品が、カスタム集積
回路で実現できるように、加算器とモジュロ2加算器は
通常の加算器回路で容易にて構成できる。シフトの希望
回数、シフトオーダーが自身で変えられる範囲等に応じ
て、シフトプログラムも各種の態様をとることができ
る。希望に応じてシフトレジスタで実現することを含め
て、マイクロプロセッサを基にした集積回路などで容易
に実現できる。
【図面の簡単な説明】
第1図は、3ビツト2進数の1つの集合を、モジュロ2
加算により、2進数の別の集合へ変換する多数−1変換
の手法を示し、 第2図は、3ビツト2進数の1つの集合を、モジュロ2
加算により、2進数の別の集合へ変換する1対1変換の
手法を示し、 第3図は、最初の式を除き、列1の3ビット数を、先行
する行における列2の3ビット数と同じにして、各列
は、そのスタート位置が異なるが、同じ順序であるよう
順序を変えられた第2図の変換式を示し、 第4図は、列2に対して列1と列3が下方へそれぞれ6
位置と2位置だけ移動させられ、最初の式を除いて、各
列はそのスタート位置は異なるが同じ順序のままであ
る、第3図に対応する図を示し、 第5図は、暗号化目的のためにと=の記号を交換した
第4図に対応する図を示し、 第6図は、データを暗号化する装置のブロック図を示
し、 第7図は、第6図の暗号装置により暗号化されたデータ
を解読する装置のブロック図を示し、 第8図は、第6図の装置を用いる暗号化の例を示し、 第9図は、第7図の装置を用いる解読の例を示し、 第10図は、ある固定語を第4図の特定の列に加え、最初
の式を除いてそれらの特定の列が、スタート位置は異な
るが、同じ順序である、第4図に示されているの集合に
対応する式の集合を示し、 第11図は、第10図に示されているような変換式の集合に
従ってデータを暗号化するための装置のブロツク図を示
し、 第12図は、第11図に示されている装置により暗号化され
たテークを解読する装置のプうロツク図を示し、 第13図は、第11図に示されている装置を用いる暗号化の
例を示し、 第14図は、第12図に示されている装置を用いる解読の例
を示す図である。 22,30……メモリ、24,26,32……加算器、28……シフト
レジスタ。
フロントページの続き (56)参考文献 特開 昭63−236074(JP,A) 特開 昭63−136072(JP,A) 特開 昭57−133474(JP,A) 特開 昭63−131170(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】nビット2進数の2n個の相異なる平文テキ
    ストブロックの1つを、nビット2進数の1つに置換し
    て1対1に対応するnビット2進数の暗号化ブロックと
    する暗号装置であって、 2n個の相異なるnビット2進数を要素とし最初の要素が
    ゼロであり、 で表される順列であって、次の関係すなわち、 Xk-s=XkXk-Ps なる関係が、1から2n−1までのすべての値k、1から
    2n−2の範囲の値から選択された所定の一定値s、およ
    び、1から2n−2の範囲の一定値Ps に対して成立する順列を、生成するプロセッサを備え; 前記順列をそれぞれ格納する第1メモリ手段(22)およ
    び第2メモリ手段(30)を備え; 前記第1メモリ手段(22)に結合され、nビットの平文
    テキストブロックを受けて、受けた平文テキストブロッ
    クに等しい前記順列中の要素の順序位置を示す第1のオ
    ーダーナンバーを決定する第1の手段を備え; 前記第1の手段に結合され、シフト値を受けて、次の第
    2のオーダーナンバー、すなわち、第1のオーダーナン
    バーがゼロである場合にはゼロをとり、前記シフト値と
    第1のオーダーナンバーとの和が2nより小さい場合には
    当該和の値をとり、これらの何れでもない場合には、前
    記シフト値と第1のオーダーナンバーとの和から、2n
    1を減じた値をとる、第2のオーダーナンバーを生成す
    る第1の加算器(24,26)を備え; 前記第1の加算器(24,26)および第2メモリ手段(3
    0)に結合され、前記順列中において、前記第2のオー
    ダーナンバーで与えられる順序位置にある要素の値に等
    しい第2のテキストブロックを生成する第2の手段を備
    え; 前記第1の手段と前記第2の手段に結合され、当該平文
    テキストブロックと当該第2のテキストブロックとをモ
    ジュロ2加算して、対応するnビット2進数の暗号化ブ
    ロックを与える、第2の加算器を備えている ことを特徴とする暗号装置。
JP2265298A 1989-10-04 1990-10-04 暗号装置 Expired - Lifetime JP3044565B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US416,953 1989-10-04
US07/416,953 US5038376A (en) 1989-10-04 1989-10-04 Block substitution based encryption by a modulo 2 addition method and apparatus

Publications (2)

Publication Number Publication Date
JPH03192383A JPH03192383A (ja) 1991-08-22
JP3044565B2 true JP3044565B2 (ja) 2000-05-22

Family

ID=23651992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2265298A Expired - Lifetime JP3044565B2 (ja) 1989-10-04 1990-10-04 暗号装置

Country Status (7)

Country Link
US (1) US5038376A (ja)
EP (1) EP0421754B1 (ja)
JP (1) JP3044565B2 (ja)
AT (1) ATE137627T1 (ja)
DE (1) DE69026784T2 (ja)
HK (1) HK1006343A1 (ja)
IL (1) IL95895A0 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5647001A (en) * 1989-10-04 1997-07-08 Litton Systems, Inc. Nonlinear dynamic substitution devices and methods for block substitutions employing coset decompositions and direct geometric generation
US5317639A (en) * 1989-10-04 1994-05-31 Teledyne Industries, Inc. Non-linear block substitution devices derived by constructive corruption
US5214704A (en) * 1989-10-04 1993-05-25 Teledyne Industries, Inc. Nonlinear dynamic substitution devices and methods for block substitutions
US5307412A (en) * 1992-09-30 1994-04-26 Vobach Arnold R Random coding cipher system and method
US5864622A (en) * 1992-11-20 1999-01-26 Pitney Bowes Inc. Secure identification card and method and apparatus for producing and authenticating same
AU3560895A (en) * 1995-09-26 1997-04-17 Xian Kan Lin A method for encryption of file
US5838794A (en) * 1996-01-11 1998-11-17 Teledyne Electronic Technologies Method and apparatus for inter-round mixing in iterated block substitution systems
DE19834934C2 (de) * 1998-07-29 2000-08-31 Sikom Sicherheits Und Kommunik Verfahren zur gesicherten Übertragung von Daten
US7292693B1 (en) 1998-08-13 2007-11-06 Teledyne Technologies Incorporated Deterministically generating block substitution tables which meet a given standard of nonlinearity
DE10162991A1 (de) * 2001-12-20 2003-07-17 Siemens Ag Verfahren zum rechnergestützten Ver- und Entschlüsseln von Daten
US7752453B2 (en) * 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
US7526643B2 (en) * 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US7849125B2 (en) 2006-07-07 2010-12-07 Via Telecom Co., Ltd Efficient computation of the modulo operation based on divisor (2n-1)
CA2736910C (en) * 2008-05-20 2017-01-24 Irdeto Corporate B.V. Cryptographic system
WO2015013440A1 (en) * 2013-07-23 2015-01-29 Battelle Memorial Institute Systems and methods for securing real-time messages
CN111353166B (zh) * 2020-02-25 2021-10-26 南通大学 一种图片转汉字的加密方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3683513A (en) * 1970-11-19 1972-08-15 Europaische Handelsgellschaft Apparatus for automatically enciphering and/or deciphering a test consisting of multidigit dual coded characters
SE7714587L (sv) * 1977-12-21 1979-06-22 Brendstrom Hugo System for meddelanden
US4520232A (en) * 1982-04-30 1985-05-28 Wilson William J Polygraphic encryption-decryption system
US4776011A (en) * 1983-10-24 1988-10-04 Sony Corporation Recursive key schedule cryptographic system
US4797921A (en) * 1984-11-13 1989-01-10 Hitachi, Ltd. System for enciphering or deciphering data
US4685132A (en) * 1985-07-30 1987-08-04 Sperry Corporation Bent sequence code generator
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels

Also Published As

Publication number Publication date
IL95895A0 (en) 1991-07-18
EP0421754A3 (en) 1992-08-26
EP0421754A2 (en) 1991-04-10
DE69026784T2 (de) 1996-12-12
HK1006343A1 (en) 1999-02-19
ATE137627T1 (de) 1996-05-15
US5038376A (en) 1991-08-06
EP0421754B1 (en) 1996-05-01
DE69026784D1 (de) 1996-06-05
JPH03192383A (ja) 1991-08-22

Similar Documents

Publication Publication Date Title
JP3044565B2 (ja) 暗号装置
AU635466B2 (en) Method of cryptographically transforming electronic digital data from one form to another
Fu et al. A new chaos‐based color image encryption scheme with an efficient substitution keystream generation strategy
US5623548A (en) Transformation pattern generating device and encryption function device
US7801307B2 (en) Method of symmetric key data encryption
KR0148556B1 (ko) 블럭치환용 비선형 동적 치환장치 및 그 방법
US11381394B2 (en) High speed encryption key generating engine
CN113206736A (zh) 一种基于aes加密算法的加密方法
Gautam et al. An enhanced Cipher technique using Vigenere and modified Caesar cipher
US20020159588A1 (en) Cryptography with unconditional security for the internet, commercial intranets, and data storage
Aung et al. A complex polyalphabetic cipher technique Myanmar polyalphabetic cipher
JP3701969B2 (ja) 非線形動的換字装置
CN115766190B (zh) 一种任意集合元素加密方法、解密方法及电子设备
CN109218013A (zh) 掩盖明文符号边界的二进制数据通信加密法
Bhat et al. A novel approach to information security using four dimensional (4d) playfair cipher fused with linear feedback shift register
Mokhtari et al. Analysis and design of affine and hill cipher
JP2002217898A (ja) 擬似乱数生成システム
Bhat et al. Information Security using Adaptive Multidimensional Playfair Cipher.
ES2293665T3 (es) Metodo para la conversion criptografica de bloques de entrada de l bits de informacion de datos digitales en bloques de salida de l bits.
EP0763297B1 (en) Nonlinear dynamic substitution devices and methods for block substitutions employing coset decompositions and direct geometric generation
CN116707897A (zh) 一种计算机网络安全加密方法及系统
KR100639764B1 (ko) 블록암호화방법
CN117254899A (zh) 基于指数整数场型的序列进行信息位置替换的方法
JP2003500681A (ja) 暗号テキストの分散性を高めるためにデータアレイに基数変換、論理演算及び疑似乱数ジェネレータを用いる暗号化エンジン
Yeh et al. Dynamic gost

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080317

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090317

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 11