DES 暗号の COM/ActiveX DLL です




内容
DES 暗号を行う COM です。

DES とは、56bitのキーを使ったブロック暗号アルゴリズムです。
ブロックサイズは、8byte(64bit) です。

キーは、56bit ですが、8bit まるまる使って 7byte の指定が出来たり、または 7bit/byteだけ使って 8byte 指定の場合があります。
また、8byteの場合は、上位7bit をキーとして使い、最下位ビットをパリティとして使用したり使用しなかったりしています。
(一般常識的?には最上位ビットだと思うんだけど....そうすりゃ unsigned char と signed char の違いを吸収できるような気がするんだけどなぁ〜)

Windows の LanManager ハッシュや、Windows でのチャレンジ/レスポンス認証プロトコルに利用されています。

DES のソースコードは、森公一郎氏製作のDES 暗号化フィルタ「des」より流用しています。
しかし、VisualC++6.0SP5/SP6 上ではコンパイルが通らないコードがいくつかあるので、その部分は修正しています。

「今更 DES かよ」と言うと、HTTP NTLMのために DES 暗号処理が必要なため、COM/ActiveX DLL 化しました。

Blowfish アルゴリズムによる暗号化/復号化をする COM コンポーネントと統合しようかとも、考えていますがいつの事になるのかは未定です。

CAST-128 ブロック暗号(RFC2144)については、Cast 128 ActiveX componentに ActiveX DLL となっていますね。


メソッド一覧
キー(パスワード)を指定する関連のメソッド

暗号化/復号化関連のメソッド

その他のメソッド



Option Explicit
Dim Obj
Dim str

Set Obj = WScript.CreateObject("sComCrypt.sDES.1")
Obj.SetKey7("Test")
str = Obj.enCrypt("KGS!@#$%")
WScript.Echo str
Set Obj = Nothing



インストール方法
  1. ここから sCOMmon.dll をダウンロードして、これをシステム・ディレクトリ(%SystemRoot%\System32 {Win64 → %SystemRoot%\SysWOW64})にコピーします。
  2. sURLEncode.dllから sURLEncode.dll をダウンロードして、これをシステム・ディレクトリ(%SystemRoot%\System32 {Win64 → %SystemRoot%\SysWOW64})にコピーします。
  3. ダウンロードしたファイルを解凍しします。
    (LHAは、吉崎栄泰氏が、著作権を所有)
  4. sComCrypt.dll を任意のディレクトリにコピー。
  5. コピーされたディレクトリで、regsvr32.exe を実行して sComCrypt.dll をレジストリに登録。
  6. (同梱されている regsvr32.bat を sComCrypt.dll と同一ディレクトリにコピーして実行することでも可能。
  7. 以上で、
    VBScript,JScript,VisualBASIC にて、この COM コンポーネントを利用可能。



アンイストール方法
RegSvr32 コマンドの /u オプションを用いて、sComCrypt.dll をレジストリから削除して、sComCrypt.dll を削除すればいいです。
必要がなくなったら、sCOMmon.dll,sURLEncode.dll も削除する。


ソースコードの使い方
sComCrypt の source 以下に MS-VisualC++ ver6.0 SP5/SP6 のプロジェクトがあります。
ただし、森公一郎氏が書かれた DES アルゴリズムのコードは添付していません。
別途、入手する必要があります。


エラーコード
ErrorNo の値は、説明を省略
sError.h を参照


サンプル・データ
Key Data Encrypted Data
(null) KGS!@#$% AA D3 B4 35 B5 14 04 EE
D KGS!@#$% 4A 3B 10 8F 3F A6 CB AD(6D?)
PASSWOR KGS!@#$% E5 2C AC 67 41 9A 99(9a?) 22
A KGS!@#$% 75 84 24 8B 8D 2C 9F 9F(9E?)
YOSHIDA KGS!@#$% AD CA D2 97 22 F4 44 D1
NOMURA KGS!@#$% A4 F4 E6 5F 28 CB 98 DA
KITAGAW KGS!@#$% 49 BC CA A4 50 54 D4 05
TAKIKUR KGS!@#$% CA 62 2B 9C A8 93 74 BE
TEST KGS!@#$% 01 FC 5A 6B E7 BC 69 29



デバグ状況
実は、CBC モードのデバグはきちんと行われていなかったりします。
なにぶん、ここでの LanMan ハッシュ、Windows の C/R 認証での DES 処理をしたかっただけですので....


免責など
著作権は保持します。(とりあえず)
このソフトを使用したことによって生じた、
いかなる損害についても責任は持ちません。
ソースコードについても、各自の責任において改変する事については、自由おこなって頂いて結構です。
「参考になったよ」メールを投げてくれると嬉しいです。(*^_^*)


DownLoad(sComCrypt.lzh as 91,686byte) (sComCrypt.lzh.base64)
sComCrypt.dll is 73,728byte(ver1.1.0.2)


DES の記事見つけた


mail to active@window.goukaku.com