fnxcrypt
July 7, 1995
Takayuki HOSODA

NTT が開発した FEAL-NX 暗号を利用したファイル暗号プログラムです。
今時のパイプラインが深くALUを複数持つプロセッサ用にほぼ*1最適化してあります。
新規にブロック暗号を利用される方は AES を利用するのが吉でしょう。

Manual page

Download fnxcrypt-1.3.9.tar.gz (25.6KB)
MD5 (fnxcrypt-1.3.9.tar.gz) = 4dd7264c0a105b82799ade436fd9dd02

*1 昔のプロセッサを見捨てれば、あと1クロック分F関数の実行速度を上げることができます。
Pentium processor の Hyper-Threading Technology に最適化したアセンブリ言語での記述例
feal.asm click to unfold/fold

gcc の性能評価のために使って見ました。

FEAL-64X benchmark results.
-----------------------------------------------------------------------
fnxcrypt   | Version 1.3.9
Machine    | IBM-PC/AT clone
CPU        | K6-III/350MHz (100MHz*3.5)
RAM        | 128MB, SDRAM, 100MHz, CL=2
OS         | FreeBSD 4.2-RELEASE
CC         | gcc 2.95.2
Blocks     | 102,400 blocks
-----------------------------------------------------------------------
setkey:108 encrypt:159 decrypt:161 [uticks] CFLAGS = -O  -m486
setkey:117 encrypt:161 decrypt:161 [uticks] CFLAGS = -O2 -m486
setkey:129 encrypt:194 decrypt:194 [uticks] CFLAGS = -O2 -mcpu=pentium
setkey:116 encrypt:160 decrypt:160 [uticks] CFLAGS = -O2 -mcpu=k6
setkey:103 encrypt:137 decrypt:135 [uticks] CFLAGS = -O3 -m486
setkey:116 encrypt:151 decrypt:155 [uticks] CFLAGS = -O3 -mcpu=pentium
setkey:104 encrypt:136 decrypt:134 [uticks] CFLAGS = -O3 -mcpu=k6
-----------------------------------------------------------------------
fnxcrypt   | Version 1.3.9
Machine    | IBM-PC/AT clone
CPU        | K6-2/350MHz (100MHz*3.5)
RAM        | 128MB, SDRAM, 100MHz, CL=2
OS         | FreeBSD 3.5.1-RELEASE
CC         | gcc 2.95.2
Blocks     | 102,400 blocks
-----------------------------------------------------------------------
setkey:107 encrypt:160 decrypt:161 [uticks] CFLAGS = -O  -m486
setkey:116 encrypt:161 decrypt:161 [uticks] CFLAGS = -O2 -m486
setkey:130 encrypt:192 decrypt:192 [uticks] CFLAGS = -O2 -mcpu=pentium
setkey:117 encrypt:160 decrypt:161 [uticks] CFLAGS = -O2 -mcpu=k6
setkey:103 encrypt:136 decrypt:135 [uticks] CFLAGS = -O3 -m486
setkey:116 encrypt:151 decrypt:155 [uticks] CFLAGS = -O3 -mcpu=pentium
setkey:103 encrypt:136 decrypt:135 [uticks] CFLAGS = -O3 -mcpu=k6
K6-III, K6-2 で -mcpu=pentium を指定するとコスト高なのがわかりました。
K6-2 と K6-III の性能差はこのテストだと全然ありませんでした。


www.finetune.co.jp [Mail] © 2000 Takayuki HOSODA.
Powered by
 Finetune