JPS63136073A - キヤリ−ビツトを用いた高速ビツト転置方法 - Google Patents
キヤリ−ビツトを用いた高速ビツト転置方法Info
- Publication number
- JPS63136073A JPS63136073A JP61282042A JP28204286A JPS63136073A JP S63136073 A JPS63136073 A JP S63136073A JP 61282042 A JP61282042 A JP 61282042A JP 28204286 A JP28204286 A JP 28204286A JP S63136073 A JPS63136073 A JP S63136073A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- register
- transposition
- carry
- input
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
データのビット列を転置処理により暗号化する方法であ
って、マイクロプロセッサ処理におけるビット回転命令
とキャリービ・ノドによる情報の受は渡しを利用するこ
とによって、ビット−バイト変換を不要とし、高速かつ
少メモリ容量でビット転置を実現する方法。
って、マイクロプロセッサ処理におけるビット回転命令
とキャリービ・ノドによる情報の受は渡しを利用するこ
とによって、ビット−バイト変換を不要とし、高速かつ
少メモリ容量でビット転置を実現する方法。
本発明は、データ暗号化方法に関し、特にソフトウェア
によるビット情報の転置方法に関する。
によるビット情報の転置方法に関する。
データの暗号化方式には、ソフトウェアによる方式とハ
ードウェアによる方式がある。ハードウェアによる方式
は暗号化の速度が高速であるが専用の付加回路が必要で
あるという欠点がある。逆にソフトウェアによる方式は
付加回路は必要ないが、暗号化速度が遅いという欠点が
ある。このため、ソフトウェアによる方式でも高速に暗
号化する方法が要望されている。
ードウェアによる方式がある。ハードウェアによる方式
は暗号化の速度が高速であるが専用の付加回路が必要で
あるという欠点がある。逆にソフトウェアによる方式は
付加回路は必要ないが、暗号化速度が遅いという欠点が
ある。このため、ソフトウェアによる方式でも高速に暗
号化する方法が要望されている。
第3図は従来のソフトウェアによるビット転置方法の説
明図である。同図において、31は入力レジスタ、32
は入カバソファメモリ、33は出カバソファメモリ、3
4は出力レジスタ、35は転置テーブルであり、これら
はマイクロプロセッサの構成要素である。マイクロプロ
セッサでは一般に、データの処理単位はビットではなく
て8ビット、16ビット等のバイト単位である。このた
め、入力レジスタ31 (Aレジスタ)内の各ビット情
報は例えば8ビット等の1バイトに変換されて大カバソ
ファメモリ32に格納される。例えば入力レジスタ31
の第3ビソトカぴ0″の場合、入力パフファメモリ32
の第3バイトエリアに8ビットのオール“O”を格納す
る(処理■)。次いで、転置テーブル35を参照して入
カバソファメモリ32の各バイトエリアの情報を出カバ
ソファメモリ33の転置光バイトエリアに転送する(処
理■)。図示の例では、人カバソファメモリ32(7)
第1 、第2 、第3.・・・のバイトエリアの情報は
それぞれ、出カバソファメモリ33の第3゜第6.第2
.・・・のバイトエリアに転送される。そして最後に、
出カバソファメモリ33の各バイトエリアの情報をビッ
ト情報に変換して出力レジスタ34に格納する。
明図である。同図において、31は入力レジスタ、32
は入カバソファメモリ、33は出カバソファメモリ、3
4は出力レジスタ、35は転置テーブルであり、これら
はマイクロプロセッサの構成要素である。マイクロプロ
セッサでは一般に、データの処理単位はビットではなく
て8ビット、16ビット等のバイト単位である。このた
め、入力レジスタ31 (Aレジスタ)内の各ビット情
報は例えば8ビット等の1バイトに変換されて大カバソ
ファメモリ32に格納される。例えば入力レジスタ31
の第3ビソトカぴ0″の場合、入力パフファメモリ32
の第3バイトエリアに8ビットのオール“O”を格納す
る(処理■)。次いで、転置テーブル35を参照して入
カバソファメモリ32の各バイトエリアの情報を出カバ
ソファメモリ33の転置光バイトエリアに転送する(処
理■)。図示の例では、人カバソファメモリ32(7)
第1 、第2 、第3.・・・のバイトエリアの情報は
それぞれ、出カバソファメモリ33の第3゜第6.第2
.・・・のバイトエリアに転送される。そして最後に、
出カバソファメモリ33の各バイトエリアの情報をビッ
ト情報に変換して出力レジスタ34に格納する。
第4図は上述の従来方法を実現するだめの周知のマイク
ロプロセッサのシステム構成図である。
ロプロセッサのシステム構成図である。
同図において、マイクロプロセッサ40はアキュムレー
タとして使用されるAレジスタ41及びBレジスタ42
と、Aレジスタ41及びBレジスタ42の内容の演算結
果に応じて得られる桁上げのあぶれを示すキャリービッ
トCを含むステータスレジスタ43とを備えている。A
レジスタ41又はBレジスタ42に対する入出力動作は
、例えばビット回転命令RORによって1ピントずつ又
は数ビットまとめてシフトすることにより行われ、この
場合、キャリービットCがレジスタ内を回転する。第3
図に示した入力レジスタ31又は出力レジスタ34は、
第4図のAレジスタ41又はBレジスタ42である。
タとして使用されるAレジスタ41及びBレジスタ42
と、Aレジスタ41及びBレジスタ42の内容の演算結
果に応じて得られる桁上げのあぶれを示すキャリービッ
トCを含むステータスレジスタ43とを備えている。A
レジスタ41又はBレジスタ42に対する入出力動作は
、例えばビット回転命令RORによって1ピントずつ又
は数ビットまとめてシフトすることにより行われ、この
場合、キャリービットCがレジスタ内を回転する。第3
図に示した入力レジスタ31又は出力レジスタ34は、
第4図のAレジスタ41又はBレジスタ42である。
マイクロプロセッサ40には、アドレスバス及びデータ
バスを介してメモリ41が接続されている。メモリ41
は、第3図で説明した入力バッファメモリ32、出カバ
ソファメモリ33及び転置テーブル35を備えている。
バスを介してメモリ41が接続されている。メモリ41
は、第3図で説明した入力バッファメモリ32、出カバ
ソファメモリ33及び転置テーブル35を備えている。
上記の従来方法において、転置するビット数をnビット
とすると、メモリー量としては転置テーブル35にnバ
イト、入力バッファメモリ32にnハイド、出カバソフ
ァメモリ33にnバイトの合計3nバイトを必要とし、
処理に必要な命令回数は処理■で入力レジスタ31から
の読出しのためのビット回転命令RORが2n回、処理
■で転置テーブル35を参照するロード命令LDがn回
と出カバソファメモリ33への格納命令LDがn回、処
理■で出力レジスタ34への格調のためのビット回転命
令RORが2n回であり合計60回の命令を必要とする
。このように、従来方法によればビット転置に要するメ
モリ容量が大きく、且つ必要とする命令回数が多いため
に処理速度が遅いという問題点がある。
とすると、メモリー量としては転置テーブル35にnバ
イト、入力バッファメモリ32にnハイド、出カバソフ
ァメモリ33にnバイトの合計3nバイトを必要とし、
処理に必要な命令回数は処理■で入力レジスタ31から
の読出しのためのビット回転命令RORが2n回、処理
■で転置テーブル35を参照するロード命令LDがn回
と出カバソファメモリ33への格納命令LDがn回、処
理■で出力レジスタ34への格調のためのビット回転命
令RORが2n回であり合計60回の命令を必要とする
。このように、従来方法によればビット転置に要するメ
モリ容量が大きく、且つ必要とする命令回数が多いため
に処理速度が遅いという問題点がある。
本発明はこのような点にかんがみて創作されたもので、
マイクロプロセッサ処理におけるキャリービット情報の
受は渡しを利用することによって、ビット−バイト変換
を不要とし、高速且つ少容量のビット転置方法を提供す
ることを目的とする。
マイクロプロセッサ処理におけるキャリービット情報の
受は渡しを利用することによって、ビット−バイト変換
を不要とし、高速且つ少容量のビット転置方法を提供す
ることを目的とする。
第1図は本発明によるキャリービットを用いた高速ビッ
ト転置方法を説明する原理ブロック図である。第1図に
おいて、入力ビット列11を所定の転置パターンに従っ
てソフトウェアによってビット転置するデータ暗号化方
法が示されている。
ト転置方法を説明する原理ブロック図である。第1図に
おいて、入力ビット列11を所定の転置パターンに従っ
てソフトウェアによってビット転置するデータ暗号化方
法が示されている。
すなわち、入力レジスタ12に格納されている入力ビッ
ト列の各ビットは転置パターンにより定まる所定の規則
に従ってビット回転命令により読出してステータスレジ
スタのキャリービットの位置13に書込み、該キャリー
ビットの位置のビットを転置パターンにより定まる所定
の規則に従って出力レジスタ14に書き込むことにより
出力レジスタ14から暗号化された出力ビット列が得ら
れる。
ト列の各ビットは転置パターンにより定まる所定の規則
に従ってビット回転命令により読出してステータスレジ
スタのキャリービットの位置13に書込み、該キャリー
ビットの位置のビットを転置パターンにより定まる所定
の規則に従って出力レジスタ14に書き込むことにより
出力レジスタ14から暗号化された出力ビット列が得ら
れる。
キャリービットを用いて入力レジスタ12と出力レジス
タ14の間の情報の受は渡しを行うので、ビット雄偉に
情報を処理することができる。このため、従来必要とさ
れたバイト単位の入カバソファメモリ及び出力バッファ
メモリは不要となり、且つこれらバッファメモリへの入
出力命令も不要となる。
タ14の間の情報の受は渡しを行うので、ビット雄偉に
情報を処理することができる。このため、従来必要とさ
れたバイト単位の入カバソファメモリ及び出力バッファ
メモリは不要となり、且つこれらバッファメモリへの入
出力命令も不要となる。
第2図は本発明の詳細な説明する流れ図である。同図に
おいて、21は8ビットの入力レジスタ、22はキャリ
ービット、23は8ビットの出力レジスタを示しており
、ビット回転命令RORにより入力レジスタ21のビッ
ト列1 、2 、3 。
おいて、21は8ビットの入力レジスタ、22はキャリ
ービット、23は8ビットの出力レジスタを示しており
、ビット回転命令RORにより入力レジスタ21のビッ
ト列1 、2 、3 。
4.5,6,7,8が暗号化されて出力レジスタ23の
ビット列3,6,2,4,8,1,5,7となるに至る
レジスタ内容の時間的変化が示されている。図において
、Xは最初のキャリービット及び最初の出力レジスタ2
3の内容を示し、数字1〜8はそれぞれ、最初の入力レ
ジスタ21の各ビットを示す。暗号化の過程は以下の通
りである。
ビット列3,6,2,4,8,1,5,7となるに至る
レジスタ内容の時間的変化が示されている。図において
、Xは最初のキャリービット及び最初の出力レジスタ2
3の内容を示し、数字1〜8はそれぞれ、最初の入力レ
ジスタ21の各ビットを示す。暗号化の過程は以下の通
りである。
第1ステツプで入力レジスタ(Aレジスタ)21に対し
て2ビットのビット回転命令RORAを与える。この結
果、(2)に示されるように、Aレジスタ21にあった
ビット7がキャリービットとなり、(1)の状態でキャ
リービットCにあったビットXがAレジスタ21の第2
ビットに来る。
て2ビットのビット回転命令RORAを与える。この結
果、(2)に示されるように、Aレジスタ21にあった
ビット7がキャリービットとなり、(1)の状態でキャ
リービットCにあったビットXがAレジスタ21の第2
ビットに来る。
第2ステツプで出力レジスタ(Bレジスタ)23に対し
て1ビットのビット回転命令RORBを与えると、(3
)に示されるようにキャリービット22にあったビット
7が出力レジスタ23の第1ビットに入り、キャリービ
ット22には他のビットXが入る。
て1ビットのビット回転命令RORBを与えると、(3
)に示されるようにキャリービット22にあったビット
7が出力レジスタ23の第1ビットに入り、キャリービ
ット22には他のビットXが入る。
第3ステツプでAレジスタ21に対して2ビットのビッ
ト回転命令RORAを与えると、(4)に示されるよう
にビット5がキャリービットとなり、(3)の状態でキ
ャリービット22にあったビットXがAレジスタ21の
第2ビットにシフトされる。
ト回転命令RORAを与えると、(4)に示されるよう
にビット5がキャリービットとなり、(3)の状態でキ
ャリービット22にあったビットXがAレジスタ21の
第2ビットにシフトされる。
第4ステツプでRORBによりキャリービットのビット
5をBレジスタ23の第1ビットにシフトする。
5をBレジスタ23の第1ビットにシフトする。
以下、同様にRORAとRORBを繰り返し、最終的に
は(16)に示されるように、出力レジスタ23には転
置パターンによって暗号化されたビット列3,6,2,
4,8,1,5,7が得られる。
は(16)に示されるように、出力レジスタ23には転
置パターンによって暗号化されたビット列3,6,2,
4,8,1,5,7が得られる。
上記の実施例によれば、8ビットのビット列情報を転置
するのに16回のビット回転命令のみで実現できる。
するのに16回のビット回転命令のみで実現できる。
本発明は上述の実施例に限定されるものではなく、様々
の変形が可能である。例えば入出力レジスタのビット数
は8ビットであくでもよく、16ビット、32ビット等
任意の値でよい。一般にnビットの人出力レジスタの場
合、ビット回転命令は2n回で済む。
の変形が可能である。例えば入出力レジスタのビット数
は8ビットであくでもよく、16ビット、32ビット等
任意の値でよい。一般にnビットの人出力レジスタの場
合、ビット回転命令は2n回で済む。
以上説明したように、本発明によれば、ビット回転命令
とキャリービットによって入力レジスタから出力レジス
タへの情報の転置を行うので、ビット情報の転置方法に
おいて、バイト単位で入出力動作をするバッファメモリ
が不要になり、且つ、命令回数も6nから20に大幅に
減少するのでビット転置のための処理時間が大幅に短縮
される。
とキャリービットによって入力レジスタから出力レジス
タへの情報の転置を行うので、ビット情報の転置方法に
おいて、バイト単位で入出力動作をするバッファメモリ
が不要になり、且つ、命令回数も6nから20に大幅に
減少するのでビット転置のための処理時間が大幅に短縮
される。
第1図は本発明によるキャリービットを用いた高速ビッ
ト転置方法を説明するための原理ブコソク図、 第2図は本発明の詳細な説明する流れ図、第3図は従来
のビット転置方法の説明図、第4図は周知のマイクロプ
ロセッサのシステム構成図である。 図において、 12 、21は入力レジスタ、 13 、’22はキャリービット、 14 、23は出力レジスタである。 本発明の原理ブロック図 第1図 ROR(ビット口伝命令 ) n 一般的なマイクログロセッサのシステム(jζ成図第4
図
ト転置方法を説明するための原理ブコソク図、 第2図は本発明の詳細な説明する流れ図、第3図は従来
のビット転置方法の説明図、第4図は周知のマイクロプ
ロセッサのシステム構成図である。 図において、 12 、21は入力レジスタ、 13 、’22はキャリービット、 14 、23は出力レジスタである。 本発明の原理ブロック図 第1図 ROR(ビット口伝命令 ) n 一般的なマイクログロセッサのシステム(jζ成図第4
図
Claims (1)
- 【特許請求の範囲】 入力ビット列(11)を所定の転置パターンに従ってソ
フトウェアによってビット転置するデータ暗号化方法に
おいて、 入力レジスタ(12)に格納されている前記入力ビット
列の各ビットを前記転置パターンにより定まる所定の規
則に従ってビット回転命令により読出してステータスレ
ジスタのキャリービットの位置に書込み、 該キャリービット(13)の位置のビットを前記転置パ
ターンにより定まる所定の規則に従って出力レジスタ(
14)に書込むことにより該出力レジスタから暗号化さ
れた出力ビット列を得るようにしたことを特徴とするキ
ャリービットを用いた高速ビット転置方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61282042A JPS63136073A (ja) | 1986-11-28 | 1986-11-28 | キヤリ−ビツトを用いた高速ビツト転置方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61282042A JPS63136073A (ja) | 1986-11-28 | 1986-11-28 | キヤリ−ビツトを用いた高速ビツト転置方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63136073A true JPS63136073A (ja) | 1988-06-08 |
Family
ID=17647411
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61282042A Pending JPS63136073A (ja) | 1986-11-28 | 1986-11-28 | キヤリ−ビツトを用いた高速ビツト転置方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63136073A (ja) |
-
1986
- 1986-11-28 JP JP61282042A patent/JPS63136073A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH01182992A (ja) | 半導体記憶装置 | |
| JPS61264379A (ja) | 記憶回路 | |
| JPS63136073A (ja) | キヤリ−ビツトを用いた高速ビツト転置方法 | |
| US4093984A (en) | Data processing system having a cycle control function | |
| JPH04326138A (ja) | 高速メモリic | |
| JPS5843934B2 (ja) | シンゴウヘンカンソウチ | |
| JPS619766A (ja) | デ−タ転送装置 | |
| JPH02126321A (ja) | 命令コードのデコード装置 | |
| JPS5821299B2 (ja) | メモリ | |
| JPH02212952A (ja) | メモリアクセス制御方式 | |
| JPH0310198B2 (ja) | ||
| JP3055558B2 (ja) | nビット演算装置 | |
| JPH01314023A (ja) | ディジタル信号処理回路 | |
| JP2969645B2 (ja) | タイムスロット入替回路 | |
| JPS63129438A (ja) | メモリ制御装置 | |
| JPH0337886A (ja) | メモリ書込制御回路 | |
| JPH025186A (ja) | データ転送装置 | |
| JPH01256094A (ja) | レジスタファイル | |
| JPS6180447A (ja) | 記憶装置のストア制御方式 | |
| JPS635432A (ja) | マイクロプロセツサ | |
| JPH05257882A (ja) | データ処理装置 | |
| JPS61211741A (ja) | マイクロコンピユ−タ | |
| JPS6133554A (ja) | ゾ−ンコントロ−ル回路 | |
| JPS62110697A (ja) | アドレス制御方式 | |
| JPH01188898A (ja) | 描画制御方式 |