Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cbc_crypt(3) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

des(1)

crypt(3)

DES_CRYPT(3)  —  NEWS-OS Programmer’s Manual

名称

des_crypt, ecb_crypt, cbc_crypt, des_setparity − 高速 DES エンクリプション

形式

#include <des_crypt.h>
int ecb_crypt(key, data, datalen, mode)
char ∗key;
char ∗data;
unsigned datalen;
unsigned mode;
int cbc_crypt(key, data, datalen, mode, ivec)
char ∗key;
char ∗data;
unsigned datalen;
unsigned mode;
char ∗ivec;
void des_setparity(key)
char ∗key;

解説

ecb_crypt() および cbc_crypt() は NBS DES (データエンクリプション標準) を実現します。 これらのルーチンは、 crypt(3) に比べて高速で、より一般的な目的をもっています。 これらのルーチンはまた、可能な場合は DES ハードウェアを利用することができます。 ecb_crypt() は、データのブロックを独立してエンクリプトする ECB (電子コードブック) モードでエンクリプトします。 cbc_crypt() は、連続するブロックを一緒に連鎖させる CBC (暗号ブロック連鎖) モードでエンクリプトします。 CBC モードは、ブロックの挿入、削除、および置換に対する保護を行います。 また、クリアなテキストの規則性は暗号テキストには見られません。 ここで、これらのルーチンの使い方を説明します。 最初のパラメータ key は、パリティをもつ 8 バイトのエンクリプションキーです。 このキーのパリティは、 DES の場合は各バイトの下位ビットにありますが、このパリティをセットするには、 des_setparity を使用します。 第 2 のパラメータ data は、エンクリプトまたはデクリプトされるデータを含みます。 第 3 のパラメータ datalen は、 data のバイト単位の長さで、8 の倍数でなければなりません。 第 4 のパラメータ mode は、何かとの OR をとることによって形成されます。 エンクリプション方向の場合、 DES_ENCRYPT または DES_DECRYPT のいずれかで ’OR’ をとります。 ソフトウェア対ハードウェアのエンクリプションの場合は、 DES_HW または DES_SW のいずれかで ’OR’ をとります。 DES_HW が指定され、ハードウェアが存在しない場合は、エンクリプションは ソフトウェアで実行され、ルーチンは DESERR_NOHWDEVICE を返します。 cbc_crypt の場合、パラメータ ivec は連鎖のための 8 バイトの初期設定ベクトルです。 これは、返されると次の初期設定ベクトルに更新されます。

関連事項

des(1), crypt(3)

診断

DESERR_NONE エラーなし。

DESERR_NOHWDEVICE
エンクリプションは成功しましたが、ハードウェアの代わりにソフトウェアで 行われました。

DESERR_HWERR ハードウェアまたはドライバでエラーが発生しました。

DESERR_BADPARAM
ルーチンに対する不良パラメータ。 結果ステータス stat が与えられた場合、マクロ DES_FAILED (stat) は最初の 2 つのステータスについてだけ偽です。

制限

これらのルーチンは、アメリカ以外の輸出用には使用できません。

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026