一、
ID3
库
id3lib是一个开放源码的操纵ID3v1/v1.1和ID3v2标签的软件库。主要是获取
MP3
文件的信息,包括
页眉和ID3标签
二、ZLib库
zlib是
一套通用目的的压缩库
,即可以对信息进行压缩的一类算法
它通过一种
压缩格式zlib(具体细节看http://www.ietf.org/rfc/rfc1950.txt
),实现数据的压缩。zlib库实现了对这种压缩
文件格式的读取。
其次,如果大家想了解一些具体的细节,可以查阅相关文档,这两个网站
http://gnuwin32.sourceforge.net/gackages/zlib.htm
都有详细的介绍,不过我觉得zlib.h中
注释写得已经很清楚了。
源文档 <http://topic.csdn.net/u/20080515/14/162f215c-1c75-42ae-bdb9-8005a82a4602.html
>
三、ResizableLib
这是一个控制对话框大小自动窗放的基类库,即主对话框的大小变了,则在主对话框上建立的子对话框的大小和位置都需要调整,只需这些子对话框建立在Resizable类基础则很多工作就已经完成了。
四、libpng
libpng
库.这些库用于读写png格式的图像文件.
源文档 <http://www.admin999.com/servers/linux/200703/73925.html
>
五、cximage
CxImage类库是一个优秀的图像处理类库,完全免费,开源,作者完全公开了源代码,可以进一步学习各种图形编码、解码技术。CxImage库是一个可以用于MFC的C++类,可以用于读取、存储、绘制和转换多种格式的图像文件,比如BMP、JPEG、GIF、PNG、TIFF、MNG、ICO、PCX、TGA、WMF、WBMP、JBG、J2K等。可以实现图像文件的类型转换,也可以实现在内存中的图像数据的类型转换。
CxImage的作者是Davide
Pizzolato,他的主页是http://www.xdp.it/
,提供下载。也可以到开源代码网站codeproject去下载它的源文件,网址是http://www.codeproject.com/
。
编译CxImage类库有两种方法:一种方法是将cximage.lib与其它图像格式库分开编译,在使用时需要指明所有要使用的图像格式的库德路径;具体过程:单击VC6.0的Build/Batch
Build菜单命令,在Project Configurations列表中只选择所有项目的Win32
Release版本,再单击Build按钮即可,编译完成后将每个项目文件夹下的Release文件夹的库文件复制出来使用。另一种方法是将所需使用的图像格式库都包含到cximage.lib中,使用时只需要指明cximage.lib库的路径即可。具体过程:单击VC6.0中Project
/ Dependencies菜单命令,在Select project to modify下拉列表中选择CxImage项,再在Dependent on the
following project(s)列表框中选择需要一起编译的项目。单击Batch Build菜单中,只选择CxImage-Win32
Release项,编译即可。
程序文件中增加写上:
源文档 <http://hi.baidu.com/xiexianyu/blog/item/fa5f2030eb11aa93a9018ec3.html
>
六、crypto51
Crypto++库的开发者是Wei
Dai,非常好,标准的C++模板,不论是学习还是从应用的角度,都是难得的教材。算是提供一个给大家多学习和交流的机会
Crypto++
库是一个用
c++
编写的密码类库,是一个自由软件。
Crypto++™
Library 5.1
于
2003
年
3
月
22
日发布,是目前最高的版本,该版本加入了除了作者
Wei Dai
以外的另外一些作者的代码重新包装成类,类库里主要包含下列的内容:
1
、
用抽象类定义
API
类的继承层次
2
、
高级加密标准
AES
(
Advanced
Encryption Standard
)
Rijndael
和
AES
候选算法:
RC6, MARS,
Twofish, Serpent, CAST-256
1997
年
4
月
15
日美国国家标准技术研究所
NIST
发起征集高级加密标准
AES
算法的活动,目的是为确定一个安全性能更好的分组密码算法用于取代
DES
,
AES
的基本要求是比三重
DES
快并且至少与
DES
一样安全
,
分组长度为
128
位
,
密钥长度为
128
位
,192
位或
256
位
.2001
年
11
月
26
日
,NIST
正式公布高级加密标准
AES, AES
的安全性能是良好的
,
经过多年来的分析和测试
,
至今没有发现
AES
的明显缺点
,
也没有找到明显的安全漏洞
. AES
能够抵抗目前已知的各种攻击方法的攻击。
3
、
对称分组密码:
IDEA, DES,
Triple-DES (DES-EDE2 and DES-EDE3), DESX (DES-XEX3), RC2, RC5, Blowfish,
Diamond2, TEA, SAFER, 3-WAY, GOST, SHARK, CAST-128, Square, Skipjack
。
分组密码又称为秘密钥密码或对称密码。利用分组密码对明文进行加密时,首先需要对明文进行分组,每组的长度都相同,然后对每组明文分别加密得到等长的密文,分组密码的特点是加密密钥与解密密钥相同。分组密码的安全性应该主要依赖于密钥,而不依赖于对加密算法和解密算法的保密。因此,分组密码的加密和解密算法可以公开。
4
、
一般的密码模式:
ECB, CBC, CBC ciphertext stealing (CTS), CFB, OFB, counter mode
(CTR)
。
电子密本(
ECB
),
密码
分组链接
(CBC)
,输出反馈
(OFB)
和密文反馈
(CFB)
5
、
序列密码:
Panama, ARC4, SEAL, WAKE, WAKE-OFB, BlumBlumShub
序列密码可以认为是起源于
20
世纪
20
年代的
Vernam
体系,当
Vernam
体制中的密钥序列是随机的
(0,1)
时,他就是“一次一密“密码体制。
Shannon
已经证明了“一次一密“密码体制在理论上是不可破译的。由于随机的密钥序列产生、存储以及分配等方面存在一定的困难,
Vernam
体制在当时并没有得到广泛的应用。随着微电子技术和数学理论的发展与完善,基于伪随机序列的序列密码得到了长足的发展和应用。在序列密码中,加密和解密所用的密钥都是伪随机序列,伪随机序列的产生比较容易并且有比较成熟的数学理论工具,目前,序列密码是
世界各国的军事和外交等领域中使用的主要密码体制之一。
6
、
公钥密码
: RSA, DSA,
ElGamal, Nyberg-Rueppel (NR), Rabin, Rabin-Williams (RW), LUC, LUCELG, DLIES
(variants of DHAES), ESIGN
在公钥密码体制中加秘密钥和解密密钥是不一样的,加密密钥可以公开传播而不危及密码体制的安全性。
RSA
公钥密码体制的安全性是基于大整数的素分解问题的难解性,
7
、公钥密码系统补丁:
PKCS#1 v2.0, OAEP, PSSR, IEEE P1363 EMSA2
8
、密钥协商方案:
Diffie-Hellman (DH), Unified Diffie-Hellman (DH2),
Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH
9
、椭圆曲线密码:
ECDSA, ECNR, ECIES, ECDH, ECMQV
9
、
单向
hash
函数:
hash
函数是一种将一种任意长度的消息
(message)
压缩为某一固定长度的消息摘要
(message digest)
的函数。
hash
函数可以用于数字签名和消息的完整性检测。
SHA-1,:
安全
hash
算法
SHA
MD2, MD4, MD5, HAVAL, RIPEMD-160, Tiger, SHA-2 (SHA-256,
SHA-384, and SHA-512), Panama
11
、消息认证码
(MAC)
:
MD5-MAC, HMAC, XOR-MAC, CBC-MAC, DMAC
12
、基于密码结构的
Hash
函数:
Luby-Rackoff,
MDC
13
、伪随机数发生器
(PRNG): ANSI X9.17 appendix C, PGP's
RandPool
14
、
password based key derivation functions
:
PBKDF1 and PBKDF2 from PKCS #5
15
、压缩和解压算法
16
、大整数和多项式快速精确算法
17
、有限范围内的算法包括
GF(p)
和
GF(2^n)
18
、素数的产生和验证
等等。
crypto51介绍文档 <http://www.kaiyuan8.org/Article/PdCjVskOgkieLCyjxDMO.aspx
>
原文链接: https://www.cnblogs.com/bottlebox/archive/2010/02/24/2216658.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/8361
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!