Solaris Cryptographic Framework密码体系( 二 )



RSA- 美国麻省理工学院3个研究人员开发,是最有名的公钥算法,也是第一个能同时用于加密和数字签名的算法,出口受限 。RSA 背后的一般思想将两个大素数相乘十分容易,但是想分解它们的乘积却极端困难,因此可以将乘积公开作为加密密钥 。在 1999 年,用了7个月时间完成了对特定 RSA 512 位数(称为 RSA-155)的因式分解 。由于进行的都是大数计算,使得RSA最快的情况也比DES慢 。

RC4 – RSA公司的算法,应用于电子邮件系统,如Lotus Notes等 。

SHA-1- 安全散列算法(SHA)是由美国国家标准和技术协会(National Institute of Standards and Technology)开发的,1994年发布了原始算法的修订版,称为 SHA-1 。与 MD5 相比,SHA-1 生成 160 位的消息摘要,虽然执行更慢,却被认为更安全 。明文消息的最大长度可达到 264 位 。

显示Solaris中的算法:
# cryptoadm list

user-level providers:
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so

kernel software providers:
des
aes
arcfour
blowfish
sha1
md5
rsa
swrand
...


# cryptoadm list -m

user-level providers:
=====================
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
no slots presented.
Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
Mechanisms:
CKM_DES_CBC
CKM_DES_KEY_GEN
...
kernel software providers:
==========================
des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC
aes: CKM_AES_ECB,CKM_AES_CBC
arcfour: CKM_RC4
blowfish: CKM_BF_ECB,CKM_BF_CBC
sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL
md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS,CKM_SHA1_RSA_PKCS
swrand: No mechanisms presented.

# mac -l
Algorithm Keysize: Min Max (bits)
------------------------------------------
des_mac 64 64
sha1_hmac 8 512
md5_hmac 8 512

# encrypt -l
Algorithm Keysize: Min Max (bits)
------------------------------------------
aes 128 128
arcfour 8 128
des 64 64
3des 192 192

使用方法丰富多彩,如用DES加密的方法,做文件系统备份和恢复:

# ufsdump 0f - /var | encrypt -a des -k /etc/mykeys/backup.k | dd of=/dev/rmt/0

# decrypt -a des -k /etc/mykeys/backup -i /dev/rmt/0 | ufsrestore vf -

推荐阅读