JP2003296104A - プロセッサおよびアセンブラ/コンパイラ - Google Patents

プロセッサおよびアセンブラ/コンパイラ

Info

Publication number
JP2003296104A
JP2003296104A JP2002103340A JP2002103340A JP2003296104A JP 2003296104 A JP2003296104 A JP 2003296104A JP 2002103340 A JP2002103340 A JP 2002103340A JP 2002103340 A JP2002103340 A JP 2002103340A JP 2003296104 A JP2003296104 A JP 2003296104A
Authority
JP
Japan
Prior art keywords
address
program data
assembler
processor
compiler
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
JP2002103340A
Other languages
English (en)
Inventor
Seiji Mochizuki
誠二 望月
Keizo Nishimura
恵造 西村
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002103340A priority Critical patent/JP2003296104A/ja
Publication of JP2003296104A publication Critical patent/JP2003296104A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】プロセッサの性能を劣化させることなく、メモ
リに格納されたプログラムデータの解析、改変造を防
ぎ、設計者の意図したプログラムのみ処理を行う。 【解決手段】プログラムデータの格納されたメモリに対
し出力するアドレスを、不連続かつ一定の規則に従った
順序で発生し、命令およびオペランドのフェッチを行う
プロセッサと、ソースコードをオブジェクトコードに翻
訳した後、上記順序に対応する順序に並べ替えることで
最終的なプログラムデータを生成するアセンブラ/コン
パイラ。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリに格納され
たプログラムデータの解析、改変造を防ぎ、設計者の意
図したプログラムのみ処理を行うプロセッサと、上記プ
ロセッサに所望のプログラムを実行させるためのアセン
ブラ/コンパイラに関する。
【0002】
【従来の技術】プロセッサは、プログラムデータを格納
するメモリにアドレスを出力し、命令およびオペランド
のフェッチを行う。従来、上記アドレスは、プロセッサ
内部に用意したメモリへのアクセスごとに1ずつ加算さ
れる、プログラムカウンタの値を使用している。この方
法では、プログラムデータが実行順にメモリ内に整列す
るため、容易にプログラムデータの解析、改変造が行わ
れるおそれがあった。
【0003】上記の問題点に対し、特開平10−209
56においては、メモリ内のプログラムデータを暗号化
する一方、プロセッサ内に上記暗号化に対応する復号化
回路を用意しておき、プロセッサは命令およびオペラン
ドのフェッチごとに、フェッチしたデータを復号化しな
がらプログラムを実行するという技術が提案されてい
る。
【0004】この従来技術によると、メモリ内のプログ
ラムデータが暗号化されているため、プログラムデータ
の解析、改変造を防ぐことができる。しかし、上記従来
技術では、フェッチごとに復号化のための演算処理時間
が必要となるため、プロセッサの処理速度・性能が劣化
する。また、プロセッサ内に専用の復号化回路を用意す
る必要があり、回路規模および消費電力の増大を招いて
いた。
【0005】
【発明が解決しようとする課題】本発明の目的は、上述
の問題点に対してプロセッサの性能を劣化させることな
く、メモリに格納されたプログラムデータの解析、改変
造を防ぎ、設計者の意図したプログラムのみ処理を行う
プロセッサと、上記プロセッサに所望のプログラムを実
行させるためのアセンブラ/コンパイラを提供すること
にある。
【0006】
【課題を解決するための手段】上記課題を解決するため
の本発明のプロセッサは、プログラムデータが格納され
たメモリに対して出力するアドレスの生成手段を備え、
上記アドレス生成手段はアドレスを不連続かつ一定の規
則に従った順序で発生するアドレス生成手段であること
を特徴とする。
【0007】また、上記プロセッサにおいて、上記アド
レス生成手段は現在のアドレス値に対しガロア体上の乗
算を行うことで次のアドレス値を生成するアドレス生成
手段であることを特徴とする。
【0008】また、本発明において、メモリへのプログ
ラムデータの格納方法は、上記アドレス生成手段により
生成されないアドレスにダミーデータを埋め込むことを
特徴とする。
【0009】また、本発明において、アセンブラ/コン
パイラは、ソースコードをオブジェクトコードに翻訳し
た後、不連続かつ一定の規則に従った順序に並べ替える
ことで最終的なプログラムデータを生成するアセンブル
/コンパイル手段を備えたことを特徴とする。
【0010】また、上記アセンブラ/コンパイラにおい
て、上記アセンブル/コンパイル手段は、ソースコード
をオブジェクトコードに翻訳した後、プログラムデータ
の格納されるメモリのプログラムデータの格納される先
頭アドレス値に対しガロア体上の乗算を繰り返すことで
得られる数列の順序に並べ替えることで最終的なプログ
ラムデータを生成することを特徴とする。
【0011】また、上記アセンブラ/コンパイラにおい
て、上記アセンブル/コンパイル手段は、不連続かつ一
定の規則に従った順序に並べ替えた後、プログラムデー
タの格納されるメモリのプログラムデータが格納されな
いアドレスにダミーデータを埋め込んで最終的なプログ
ラムデータを生成することを特徴とする。
【0012】上記本発明の構成によれば、プロセッサ
は、プログラムデータの格納されたメモリに対し出力す
るアドレスを不連続な一定の規則に従った順序で発生
し、命令およびオペランドのフェッチを行い、アセンブ
ラ/コンパイラはソースコードをオブジェクトコードに
翻訳した後、上記順序に対応する順序に並べ替えること
で最終的なプログラムデータを生成する。これらのプロ
セッサおよびアセンブラ/コンパイラを使用すること
で、プログラムデータを不連続にメモリ内に格納するこ
とができる。
【0013】アドレスを不連続な一定の規則に従った順
序で発生する手段の一例を以下に示す。アドレスバス幅
をmbitとすると、プログラムデータの格納される先
頭アドレス値に対し、位数2のガロア体(以下、GF
(2)と表記する)上で原始多項式の根αの乗算を繰
り返すことで、0hを除く全てのアドレスを不連続に発
生することができる。すなわち、現在のアドレス値に対
し上記αを乗算することで、次のアドレス値を生成する
ことができる。
【0014】ガロア体上で上記αを乗算する回路は、一
般に使用されている線形シフトレジスタ(Linear
Shift Register;以下、LSRと記
す)で実現可能であり、その処理速度および回路規模
は、従来のプログラムカウンタと同等である。さらに、
GF(2)の原始多項式およびプログラムデータの格
納される先頭アドレス値を選定することで、異なる順序
でアドレスを発生することができるため、仮にプログラ
ムデータが不連続にメモリ内に格納されていることがわ
かったとしても、プログラムデータの解析、改変造は困
難である。ただし、プログラムデータの格納される先頭
アドレス値に0hを選定することはできない。
【0015】上記の例では、プロセッサにおいてプログ
ラムカウンタの代わりにガロア体上の乗算器を用い、一
方、アセンブラ/コンパイラにおいてガロア体上の乗算
によって得た順序にオブジェクトコードを並べ替えるこ
とで、プログラムデータを不連続にメモリ内に格納する
ことができる。
【0016】上記の例の他に、アドレスを不連続な一定
の規則に従った順序で発生する手段としては、乱数発生
器として一般に使用されているM系列発生器などを用い
ることもできる。
【0017】このように本発明では、プログラムデータ
を不連続にメモリ内に格納するため、プロセッサの性能
を劣化させることなく、プログラムデータの解析、改変
造を困難にし、設計者の意図したプログラムのみ処理を
行うプロセッサおよびアセンブラ/コンパイラを提供す
ることができる。
【0018】
【発明の実施の形態】図1に本発明の一実施例のプロセ
ッサ構成例を示す。プロセッサ1は、不連続アドレス生
成部11、フェッチ部12、命令解読部13、演算部1
4から構成される。また、データバス4およびアドレス
バス5にて、外部にあってプログラムデータ7を格納す
るメモリ3と接続される。上記プログラムデータ7は、
メモリ格納前にアセンブラ/コンパイラ2によりソース
コード6からアセンブル/コンパイルされたオブジェク
トコードである。
【0019】不連続アドレス生成部11は、命令解読部
13もしくは演算部14の指示により、次にフェッチす
べきアドレスを生成し、アドレスバス5上に出力する。
フェッチ部12は、メモリ3からアドレスバス5上のア
ドレスにより読み出されたデータバス4上の命令コード
もしくはオペランドをフェッチし、命令コードは命令解
読部13に、また、オペランドは演算部14に受け渡
す。命令解読部13は、フェッチした命令コードを解読
し、不連続アドレス生成部11および演算部14に対
し、命令コードに応じた所定の指示を与える。演算部1
4は、命令解読部13の指示により、内部のレジスタ、
オペランド、アドレスを用いて所定の演算を行い、ま
た、不連続アドレス生成部11に対して、次のアドレス
の生成を指示する。
【0020】このプロセッサ1は、一般的なプロセッサ
のプログラムカウンタを、不連続アドレス生成部11に
変更することで実現可能である。図2〜8に不連続アド
レス生成部11におけるアドレス生成方法の一例を示
す。
【0021】図2にアドレス生成フローを示す。アドレ
スバス幅をmbitとすると、プログラムの格納される
先頭アドレス値A(21)に対し、GF(2)上で
原始多項式H(x)の根αの乗算22を繰り返すこと
で、0Hを除く全てのアドレスを不連続に発生すること
ができる。そこで、プログラムカウンタのインクリメン
トに、上記αの乗算を対応させ、現在のアドレス値に対
し上記αを乗算することで、次のアドレス値を生成す
る。すなわち、プログラムカウンタをxだけインクリメ
ントする操作は、現在のアドレス値に対し上記αをx回
乗算することに相当する。この演算は、一般に使用され
ているLSRで実現可能である。
【0022】図3にLSRの構成例を示す。LSR31
は、1タイムスロットの遅延素子32が直接もしくはG
F(2)上の加算器、すなわち、排他的論理和(XO
R)演算器33で連結された回路であり、XOR演算器
33の位置はH(x)により決まる。例えば、アドレス
バス幅が8bitの場合、ガロア体はGF(2)を用
い、H(x)はx+x+x+x+1,x+x
+x+x+1などから選択できる。先頭アドレス
値Aを01hとすると、H(x)=x+x +x
+x+1の場合、生成されるアドレス列は01h,0
2h,04h,08h,10h,20h,40h,80
h,1Dh,3Ah,…となり、不連続にアドレスが生
成される。
【0023】H(x)は、プロセッサが固有の原始多項
式を持ち、常にそれを用いてもよいし、外部からの設定
により、プログラムごとにいくつかの原始多項式の中か
ら任意に選択できるようにしてもよい。
【0024】図4に上記後者の場合のLSR構成例を示
す。LSR31の全遅延素子32間に、XOR演算器3
3と、XORとスルーを選択するセレクタ42を用意し
ておく。どの遅延素子間でXORを行うかを、用いるH
(x)に従いセレクタ42に対し設定することで、プロ
グラムごとに原始多項式を変更することが可能である。
【0025】また、原始多項式が同一の場合でも、先頭
アドレス値Aを任意のアドレスに設定することによ
り、LSRが発生する系列の位相を変えることができ
る。例として、アドレスバス幅が4bitの場合につい
て、図5を用いて説明する。原始多項式H(x)=x
+x+1とすると、先頭アドレス値A=1hのときL
SRが発生する系列51と、先頭アドレス値A=Bh
のときLSRが発生する系列52は、位相が異なる。こ
の結果、見掛け上異なるアドレス順序となり、よりプロ
グラムデータの解析を困難とすることができる。ただ
し、有限体の性質上、プログラムの格納される先頭アド
レス値に0Hを選定することはできない。
【0026】H(x)として、原始多項式ではない既約
多項式を用いてもよい。原始多項式ではない既約多項式
を用いた場合、LSRが発生する系列が、原始多項式を
用いた場合に比べより短い周期となり、生成されないア
ドレスが生ずる。例として、アドレスバス幅が4bit
の場合について、図6を用いて説明する。GF(24)
の既約多項式は、x+x+1,x+x+1,x
+x+x+x+1,x+x+1の4つである。こ
のうち、x+x+1,x+x+1は原始多項式で
あり、LSRが発生する系列61の周期は2−1=1
5である。
【0027】一方、原始多項式でない既約多項式x
+x+x+1を用いた場合、LSRが発生する系
列62の周期は5であり、生成されないアドレス63が
生ずる。従って、原始多項式ではない既約多項式を用い
た場合、プログラムデータの長さが、発生系列の周期よ
り短くなくてはならない。しかし、プログラムの格納さ
れる先頭アドレス値により発生系列が異なるため、使用
しないアドレスにダミーデータを埋め込むことで、より
プログラムデータの解析を困難とすることができる。
【0028】例として、アドレスバス幅が4bitの場
合について、図7、8を用いて説明する。原始多項式で
ない既約多項式x+x+x+x+1をH(x)に
用いて、先頭アドレス値A=1hのときLSRが発生
する系列71と、先頭アドレス値A=3hのときLS
Rが発生する系列72とでは、発生するアドレスが異な
る。従って、先頭アドレス値A=1hのプログラムデ
ータ81と、先頭アドレス値A=1hのプログラムデ
ータ82のように、プログラムごとに先頭アドレス値A
を変え、かつ、使用しないアドレスにダミーデータ8
4を埋め込むことで、アドレス生成に使用する既約多項
式および先頭アドレスの秘匿性を高め、よりプログラム
データの解析を困難とすることができる。
【0029】ダミーデータ84は、ランダムデータでも
よいが、適度に命令コードを混ぜるなどして実際のプロ
グラムデータに似たデータとすると、よりプログラムデ
ータの解析を困難とすることができる。なお、ダミーデ
ータ84の埋め込みは、プログラムデータ生成時にアセ
ンブラ/コンパイラにより行ってもよいし、人手で行っ
てもよい。また、プログラムごとに先頭アドレス値A
を変えることで、メモリに同時に複数格納されたプログ
ラムデータ83を扱うことも可能となる。
【0030】本実施例で用いるLSRは、アドレスバス
と同bitのレジスタであり、一般的なプロセッサに用
いられるプログラムカウンタと、レジスタのbit数は
同一である。他にアドレスバスのbit数以下のXOR
演算器が必要となるが、これは、プログラムカウンタを
インクリメントするための整数加算器より小さな回路規
模である。また、LSRによる新たなアドレスの生成は
1タイムスロットで行われるため、処理速度に関しても
プログラムカウンタのインクリメントと同等である。こ
のように本実施例によれば、プロセッサの性能を劣化さ
せることなく、一般的なプロセッサのプログラムカウン
タを不連続アドレス生成部11に変更することが可能で
ある。
【0031】本実施例に挙げたアドレス生成方法はあく
まで一例であり、その他不連続な一定の規則に従った順
序でアドレスを生成する方法であれば、不連続アドレス
生成部11におけるアドレス生成方法として適用可能で
ある。例えば、ガロア体上で上記αを乗算する回路であ
るLSRの代わりに、乱数発生器として一般に使用され
ている、同じくガロア体上の演算により不連続系列を発
生するM系列発生器などを用いることもできる。
【0032】図9に、上記のプロセッサ1が実行するプ
ログラムデータ7をソースコード6から変換するアセン
ブラ/コンパイラ2のフローチャートを示す。
【0033】ステップ101にて、一般のアセンブラ/
コンパイラと同様に、ソースコード6をオブジェクトコ
ードに変換する。ステップ102にて、プロセッサ1の
持つ不連続アドレス生成部11におけるアドレス生成方
法と同一の方法にて、アドレス系列を生成する。アドレ
ス生成方法で用いる演算は、ソフトウェアによる実現で
よい。ステップ103にて、オブジェクトコードを、ス
テップ102で生成したアドレス系列の順序にソート
し、結果をプログラムデータ7とする。
【0034】以上、本発明を実施例に基づき具体的に説
明したが、本発明は上記実施例に限定されるものではな
く、その要旨を逸脱しない範囲で種々変更可能である。
【0035】
【発明の効果】本発明によれば、プロセッサの性能を劣
化させることなく、メモリに格納されたプログラムデー
タの解析、改変造を防ぎ、設計者の意図したプログラム
のみ処理を行うプロセッサと、上記プロセッサに所望の
プログラムを実行させるためのアセンブラ/コンパイラ
を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるプロセッサの構成を
示すブロック図。
【図2】本発明の一実施例におけるアドレス生成方法を
示したフロー図。
【図3】本発明の一実施例におけるLSRの一例を示し
たブロック図。
【図4】本発明の一実施例におけるLSRの一例を示し
たブロック図。
【図5】本発明の一実施例におけるLSRが発生するア
ドレスの説明図。
【図6】本発明の一実施例におけるLSRが発生するア
ドレスの説明図。
【図7】本発明の一実施例におけるLSRが発生するア
ドレスの説明図。
【図8】本発明の一実施例におけるメモリに格納された
プログラムデータの説明図。
【図9】本発明の一実施例によるアセンブラ/コンパイ
ラの動作例を示したフロー図。
【符号の説明】
1…プロセッサ、2…アセンブラ/コンパイラ、3…メ
モリ、4…データバス、5…アドレスバス、6…ソース
コード、7…プログラムデータ、11…不連続アドレス
生成部、12…フェッチ部、13…命令解読部、14…
演算部、21…先頭アドレス、22…GF(2)の原
始多項式H(x)の根αとの乗算、31…LSR、32
…1タイムスロットの遅延素子、33…GF(2)上の
加算器、42…セレクタ、51…先頭アドレス値A
1hのときLSRが発生する系列、52…先頭アドレス
値A=BhのときLSRが発生する系列、61…H
(x)=x+x+1のときLSRが発生する系列、6
2…H(x)=x+x+x +x+1のときLSR
が発生する系列、63…H(x)=x+x+x
x+1のとき生成されないアドレス、71…先頭アドレ
ス値A=1hのときLSRが発生する系列、72…先
頭アドレス値A=3hのときLSRが発生する系列、
81…先頭アドレス値A=1hのプログラムデータ、
82…先頭アドレス値A=3hのプログラムデータ、
83…メモリに複数格納されたプログラムデータ、84
…ダミーデータ。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】プログラムデータの格納されたメモリに対
    し出力するアドレスの生成手段を備え、上記アドレス生
    成手段はアドレスを不連続かつ一定の規則に従った順序
    で発生するアドレス生成手段であることを特徴とするプ
    ロセッサ。
  2. 【請求項2】上記アドレス生成手段は、現在のアドレス
    値に対しガロア体上の乗算を行うことで次のアドレス値
    を生成するアドレス生成手段であることを特徴とする請
    求項1記載のプロセッサ。
  3. 【請求項3】請求項1または2に記載のプロセッサによ
    る上記アドレス生成手段により生成されないアドレス
    に、ダミーデータを埋め込むことを特徴とするメモリへ
    のプログラムデータ格納方法。
  4. 【請求項4】ソースコードをオブジェクトコードに翻訳
    した後、不連続かつ一定の規則に従った順序に並べ替え
    ることで最終的なプログラムデータを生成するアセンブ
    ル/コンパイル手段を備えたことを特徴とするアセンブ
    ラ/コンパイラ。
  5. 【請求項5】上記アセンブル/コンパイル手段は、ソー
    スコードをオブジェクトコードに翻訳した後、プログラ
    ムデータの格納されるメモリのプログラムデータの格納
    される先頭アドレス値に対しガロア体上の乗算を繰り返
    すことで得られる数列の順序に並べ替えることで最終的
    なプログラムデータを生成するアセンブル/コンパイル
    手段であることを特徴とする請求項4記載のアセンブラ
    /コンパイラ。
  6. 【請求項6】上記アセンブル/コンパイル手段は、不連
    続かつ一定の規則に従った順序に並べ替えた後、プログ
    ラムデータの格納されるメモリのプログラムデータが格
    納されないアドレスにダミーデータを埋め込んで最終的
    なプログラムデータを生成するアセンブル/コンパイル
    手段であることを特徴とする請求項4記載のアセンブラ
    /コンパイラ。
JP2002103340A 2002-04-05 2002-04-05 プロセッサおよびアセンブラ/コンパイラ Pending JP2003296104A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002103340A JP2003296104A (ja) 2002-04-05 2002-04-05 プロセッサおよびアセンブラ/コンパイラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002103340A JP2003296104A (ja) 2002-04-05 2002-04-05 プロセッサおよびアセンブラ/コンパイラ

Publications (1)

Publication Number Publication Date
JP2003296104A true JP2003296104A (ja) 2003-10-17

Family

ID=29389233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002103340A Pending JP2003296104A (ja) 2002-04-05 2002-04-05 プロセッサおよびアセンブラ/コンパイラ

Country Status (1)

Country Link
JP (1) JP2003296104A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005292126A (ja) * 2004-04-05 2005-10-20 Agilent Technol Inc 自動試験システム及び操作方法
JP2006155140A (ja) * 2004-11-29 2006-06-15 Renesas Technology Corp 情報処理装置、および、そのアドレス制御方法
JP2006277411A (ja) * 2005-03-29 2006-10-12 Toshiba Corp プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005292126A (ja) * 2004-04-05 2005-10-20 Agilent Technol Inc 自動試験システム及び操作方法
JP2006155140A (ja) * 2004-11-29 2006-06-15 Renesas Technology Corp 情報処理装置、および、そのアドレス制御方法
JP4664655B2 (ja) * 2004-11-29 2011-04-06 ルネサスエレクトロニクス株式会社 情報処理装置、および、そのアドレス制御方法
JP2006277411A (ja) * 2005-03-29 2006-10-12 Toshiba Corp プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP4551802B2 (ja) * 2005-03-29 2010-09-29 株式会社東芝 プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
US8532296B2 (en) 2005-03-29 2013-09-10 Kabushiki Kaisha Toshiba Processor, memory device, computer system, and method for transferring data

Similar Documents

Publication Publication Date Title
Alkim et al. ISA Extensions for Finite Field Arithmetic Accelerating Kyber and NewHope on RISC-V.
Schneier et al. Fast software encryption: Designing encryption algorithms for optimal software speed on the Intel Pentium processor
EP2917833B1 (en) Compiler generating operator free code
US20040202317A1 (en) Advanced encryption standard (AES) implementation as an instruction set extension
Yu et al. Vector processing as a soft-core CPU accelerator
JP7285850B2 (ja) コンパイルデバイス及び方法
JP7132926B2 (ja) コンパイルデバイス及びコンパイル方法
JP2009282992A (ja) 多項式演算オペレーション
JP2011138219A (ja) 並列プログラム解析結果表示装置および並列プログラム解析結果表示方法
Liu et al. Efficient software implementation of ring-LWE encryption on IoT processors
Bos et al. Fly, you fool! Faster Frodo for the ARM Cortex-M4
JP2003296104A (ja) プロセッサおよびアセンブラ/コンパイラ
Tan et al. Evaluating the highly-pipelined Intel Stratix 10 FPGA architecture using open-source benchmarks
JP5193358B2 (ja) 多項式データ処理演算
JP3723115B2 (ja) 単一命令多重データ処理
Millar Design of a flexible schoenhage-strassen FFT polynomial multiplier with high-level synthesis
JP2006072961A (ja) 演算処理装置のメモリ回路
CN109375895B (zh) 多项式乘法的加速方法及装置、ntru加解密加速方法及装置
JP6897213B2 (ja) コード生成装置、コード生成方法及びコード生成プログラム
Guo et al. Optimized system-on-chip integration of a programmable ECC coprocessor
Bertels et al. Developing applications for polymorphic processors: the delft workbench
Jungeblut et al. Resource efficiency of hardware extensions of a 4-issue VLIW processor for elliptic curve cryptography
US8375077B2 (en) Method, apparatus and media for performing GF(2) polynomial operations
Fournier et al. A vector approach to cryptography implementation
Ketata et al. Detailed analysis of the AES CTR mode parallel execution using OpenMP