高分求RSA或DSA或DES或Skipjack……等等加密解密算法的BCB源代码!

jukyy 2005-12-19 04:48:35
如题。如方便请发到 juken@21cn.com

这个礼拜就结贴。谢过了先!
...全文
643 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
zihao59 2006-02-20
  • 打赏
  • 举报
回复
能不能也发一份给我哈,谢谢大家了,急用
henry830509@hotmail.com
jukyy 2006-01-05
  • 打赏
  • 举报
回复
已转移到“基础区”了。
jukyy 2005-12-29
  • 打赏
  • 举报
回复
多谢大侠们的支持!

怎么移贴?我没见有移贴的功能。是结贴的时候移吗?
  • 打赏
  • 举报
回复
PGP 的源码下载网址:http://www.pgp.com/
可以对邮件加密,可以创建虚拟加密磁盘,对文件加密,使用方便,目前还没有解密的方法
  • 打赏
  • 举报
回复
MD5 是不可逆的,即不能由加密之后的内容返回加密之前的内容,只能由源码生成一个16字节的MD5码,目前还没有有效的解密方法

DES 是可逆的,加密和解密使用同一个密码进行的,可以被解密

RSA 是可逆的,加密和解密使用不同的密码(私钥和公钥)进行的,目前没有有效的解密方法,现有的银行系统或电子邮件等加密都使用的这种

这些加密算法都是开源的,最著名的 OpenSSL 开发库,
可以到 http://www.openssl.org/ 下载这些开发库的源码,支持几乎所有的 C/C++ 编译环境,当然包括 C++ Builder

另外的开源项目就是最著名的 PGP,文件和电子邮件加密的事实上的行业标准。
  • 打赏
  • 举报
回复
世界最著名的开放源代码的 OpenSSL 开发库支持 C++ Builder, 我以前曾经用过的,里面包含所有常用的加密算法,当然包括 RSA, DES 等。
netsys2 2005-12-27
  • 打赏
  • 举报
回复
已发邮件。
jukyy 2005-12-27
  • 打赏
  • 举报
回复
netsys2(来电!) ,谢谢你的指点,我的邮箱:

juken@21cn.com

netsys2 2005-12-27
  • 打赏
  • 举报
回复
建议楼主把帖子移动到“基础区”,这不是数据库问题。
netsys2 2005-12-27
  • 打赏
  • 举报
回复
邮件加密两把锁:PGP和S/MIME

作者: 姜力东 发布日期: 2003.11.05 21:02


目前互联网上应用最多的服务是电子邮件,保证电子邮件的安全常用到两种端到端的安全技术:PGP(Pretty Good Privacy)和S/MIME(Secure Multi-Part Intermail Mail Extension)。它们的主要功能就是身份的认证和传输数据的加密。


你的电子邮件不安全


我们知道,电子邮件在传输中使用的是SMTP协议,它不提供加密服务,攻击者可在邮件传输中截获数据。其中的文本格式、非文本格式的二进制数据(如:. exe文件)都可轻松地还原。你经常收到,好像是你的好友发来的邮件,但可能这是一封冒充的、带着病毒或其他让你被欺骗的邮件。还有,电子邮件误发给陌生人或不希望发给的人,也是电子邮件的不加密性客观带来的信息泄露。安全电子邮件能解决邮件的加密传输问题,验证发送者的身份验证问题,错发用户的收件无效问题(因为需要用密钥解密)。但是,安全电子邮件不能解决如邮件炸弹、防御病毒在邮件中的传播、邮件服务器的入侵等问题。


PGP和S/MIME邮件加密专用协议


PGP和S/MIME这两种协议对一般用户来说,在使用上几乎没有什么差别。但是事实上它们是完全不同的,主要体现在格式上,这就有点像GIF和JPEG 两种图形文件,对用户来说,查看图片是没有区别,但它们是两种完全不一样的文件。这也就意味着,由于格式的不同,一个使用PGP的用户不能与另一个使用 S/MIME的用户通讯,且他们也不能共享证书。


PGP/MIME 和OpenPGP


PGP最早出现在1990年,是一种长期在学术圈和技术圈内得到广泛使用的安全邮件标准。其特点是通过单向散列算法对邮件内容进行签名,保证信件内容无法修改,使用公钥和私钥技术保证邮件内容保密且不可否认。发信人与收信人的公钥发布在公开的地方,如FTP站点。公钥本身的权威性由第三方,特别是收信人所熟悉或信任的第三方进行签名认证,但它没有统一的集中的机构进行公钥/私钥的签发。即在PGP系统中,更多的信任是来自于通信的双方。


s/mime v3和openpgp的对比
主要特征 s/mime v3 openpgp
信息通信的格式 基于cms的二进制格式 基于早期 pgp的二进制格式
身份认证的格式 基于 x.509v3的二进制格式 基于早期 pgp的二进制格式
机密算法 tripledes(des ede3 cbc) tripledes(des ede3 eccentric cfb)
数字签名 diffie-hellman(x9.42) with dss elgamal with dss
哈希算法 sha-1 sha-1



PGP/MIME和OpenPGP都是基于PGP的,已经得到许多重要的邮箱提供商支持,PGP的通信和认证的格式是随机生成的、使用简单的二进制代码。 PGP的主要提供商是美国NAI的子公司PGP,在中国,由于PGP的加密超过128位,受到美国出口限制,所以商用的比较少。


S/MIME


S/MIME是一个新协议,最初版本来源于私有的商业社团RSA 数据安全公司。S/MIME V2版本已经广泛地使用在安全电子邮件上。但是它并不是IETF 的标准。 因为它需要使用 RSA 的密钥交换,这就受限于美国RSA数据安全公司的专利(不过,2001年12月该专利到期)。

S/MIME是从PEM (Privacy Enhanced Mail)和MIME(Internet邮件的附件标准)发展而来的。同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。但它与PGP主要有两点不同:它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。还有,S/MIME将信件内容加密签名后作为特殊的附件传送,它的证书格式采用X.509,但与一般浏览器网上使用的SSL证书有一定差异。

国内众多的认证机构基本都提供一种叫“安全电子邮件证书”的服务,其技术对应的就是S/MIME技术,平台使用的基本上是美国Versign的。主要提供商有北京的天威诚信(www.itrus.com.cn)和TrustAsia上海(www.trustasia.com.cn),它们一个是 Versign的中国区合作伙伴,一个是Versign亚太区分支机构。


如何保证邮件安全


加密与解密

找两个很大的质数,一把公开,称为“公钥”,另一把保密,叫“私钥”。这两把密匙是互补的,就是说用公钥加密的密文可以用私钥解密,反之亦然。假设甲要寄信给乙,他们互相知道对方的公钥。甲就用乙的公钥加密邮件寄出,乙收到后就可以用自己的私钥解密出甲的原文。由于只有乙知道他的私钥,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。

数字签名

上面例子中,由于每个人都知道乙的公钥,他们都可以给乙发信,而乙无法确信是不是甲的来信。这就需要数字签名来进行认证。

了解数字签名首先要了解“邮件文摘”(messagedigest)。简单地讲,“邮件文摘”就是对一封邮件用某种算法算出一个能体现这封邮件的“精华” 数来,一旦邮件有任何改变,这个数都会变化,这个数加上作者的名字(实际上在作者的密钥里)和日期等等,就可以作为一个签名了。

甲用自己的私钥将上述的“精华”加密,附在邮件上,再用乙的公钥将整个邮件加密。这样这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和签名,乙自身的验证系统也从原文计算出一个“精华”来,再用甲的公钥解密签名得到的数进行比较,如果符合就说明这份邮件确实是甲寄来的。这一点在商业领域有很大应用前途,可以防止发信人抵赖和信件被途中篡改。
netsys2 2005-12-27
  • 打赏
  • 举报
回复
PGP Universal主要是依赖于OpenPGP加密标准(在RFC 2440和RFC 3156中所描述的),但它也内建了其他的被美国标准技术研究院(NIST)经过验证的加密标准――安全多用途网际邮件扩充协议(Secure Multipurpose Internet Mail Extensions),或S/MIME。

  S/MIME跟PGP差不多,它也是利用公钥/私钥的加密系统,不过,这是一个不相容、矛盾的标准――因此使用PGP密钥的用户就不能和使用 S/MIME密钥的用户来进行通信。PGP Universal有能力为用户自动地生成S/MIME密钥和X.509证书,这样的话,使用Universal的公司与企业就不会机械地把那些仅仅只使用S/MIME作为他们的加密标准的公司拒之门外了。

  小知识:S/MIME

  S/MIME是一个新协议,最初版本来源于私有的商业社团RSA 数据安全公司。S/MIME V2版本已经广泛地使用在安全电子邮件上。但是它并不是IETF 的标准,因为它需要使用 RSA 的密钥交换,这就受限于美国RSA数据安全公司的专利(不过,2001年12月该专利到期)。S/MIME是从PEM (Privacy Enhanced Mail)和MIME(Internet邮件的附件标准)发展而来的。同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系,但它与 PGP主要有两点不同:它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。还有,S/MIME将信件内容加密签名后作为特殊的附件传送,它的证书格式采用X.509,但与一般浏览器网上使用的SSL证书有一定差异。国内众多的认证机构基本都提供一种叫“安全电子邮件证书”的服务,其技术对应的就是S/MIME技术,平台使用的基本上是美国Versign的。主要提供商有北京的天威诚信(www.itrus.com.cn)和TrustAsia上海(www.trustasia.com.cn),它们一个是Versign的中国区合作伙伴,一个是Versign亚太区分支机构。
netsys2 2005-12-27
  • 打赏
  • 举报
回复
三、 安 全 电 子 邮 件

 

----对 于 安 全 电 子 邮 件, 目 前 有 两 个 主 要 协 议: S/MIME(Secure/MIME) 和PGP。 这 两 个 协 议 的 目 的 基 本 上 相 同, 都 是 为 电 子 邮 件 提 供 安 全 功 能, 但 无 论 在 技 术 上 还 是 实 际 应 用 中, 它 们 都 是 截 然 不 同 的。

----PGP 和S/MIME 实 现 的 功 能 大 体 相 同, 即 对 电 子 邮 件 进 行 可 信 度 验 证、 保 护 邮 件 的 完 整 性 及 反 抵 赖( 发 件 人 不 能 否 认 曾 发 送 过 邮 件)。 虽 然 这 两 个 协 议 都 使 用 了 加 密 和 签 名 技 术, 但 在 具 体 实 现 上 有 着 本 质 的 不 同。S/MIME 是 在 早 期 的 几 种 信 息 安 全 技 术( 包 括 早 期 的PGP) 上 发 展 起 来 的, 主 要 针 对 Internet 或 企 业 网。 而PGP 是 由 个 人 独 立 开 发 的, 用 户 可 以 免 费 得 到, 它 现 在 的 版 权 归Network Associates 所 有。

----由 于 是 针 对 企 业 级 用 户 设 计 的,S/MIME 现 在 已 得 到 了 许 多 机 构 的 支 持, 并 且 被 认 为 是 商 业 环 境 下 首 选 的 安 全 电 子 邮 件 协 议。 目 前 市 场 上 已 经 有 多 种 支 持S/MIME 协 议 的 产 品, 如 微 软 的Outlook Express、Lotus Domino/Notes、Novell GroupWise 及 Netscape Communicator。 相 反,PGP 的 未 来 就 不 容 乐 观 了, 但 它 也 不 会 很 快 消 失 的, 因 为 还 有 很 多 研 究 机 构 及 个 人 在 使 用 它。
  • 打赏
  • 举报
回复
S/MIME 和 PGP 都是邮件加密的标准,其中 S/MIME 不是开源的,PGP 是开源的,因此 PGP 的地位也越来越高了

MD5 目前来看没有“有效的”解密方法,即使有漏洞,目前还可以使用

其他的就以 netsys2(来电!) 的为准。
netsys2 2005-12-27
  • 打赏
  • 举报
回复
MD5 是不可逆的,即不能由加密之后的内容返回加密之前的内容,只能由源码生成一个16字节的MD5码,目前还没有有效的解密方法

------>前半句对,后面不对,前些日子山东大学一位女研究员找出了MD5的一个陋洞(请在GOOGLE,SINA搜索)

DES 是可逆的,加密和解密使用同一个密码进行的,可以被解密
-----》这话不标准,正确的说法是DES是对称算法,即加密解密都用相同密钥(请在GOOGLE,SINA搜索)


RSA 是可逆的,加密和解密使用不同的密码(私钥和公钥)进行的,目前没有有效的解密方法,现有的银行系统或电子邮件等加密都使用的这种
----》部分对,目前银行系统或电子邮件的身份认证和密钥协商使用RSA,对数据,用DES,3DES等,请以SSL,PKI,KERBOSE为关键字搜索。

这些加密算法都是开源的,最著名的 OpenSSL 开发库,
可以到 http://www.openssl.org/ 下载这些开发库的源码,支持几乎所有的 C/C++ 编译环境,当然包括 C++ Builder

-----》YES


另外的开源项目就是最著名的 PGP,文件和电子邮件加密的事实上的行业标准。
---》NO!对于文件加密,各公司都不一样,而电子邮件的加密标准是S/MIME
netsys2 2005-12-23
  • 打赏
  • 举报
回复
未来的通信模式必然是无线取代有线,而最新的802。1X标准中,数据加密的算法是:

AES!
netsys2 2005-12-23
  • 打赏
  • 举报
回复
MD5是摘要算法,是把很长的文章缩为128bit的数据,然后用你私钥加密,对方收到后用MD5获得相同的128bit摘要数据,用你的公钥解密得到的加密数据,这两个数据应该一样,

表明:
1)这篇文章没有被别人篡改过
2)这篇文章的签名是你的,你对此负法律责任。


h98458(零点起飞)贴的代码是非常简单的加密算法,对付你的小妹妹可以,对付高手绝对不行。

DES的强度也很弱,所以才有3DES,

但3DES慢,因此现在最新的加密标准是AES。


本人曾经研究过:

-------------------------------------------------------------------
// AES加密算法 2004-09-16 Netsys封装,mike888@163.net
-------------------------------------------------------------------
//
//---------------------------------------------------------------------------
/*
告别DES 迎接AES


你的数据需要加密保护吗?你还在使用DES,3DES吗?

旧的数据加密标准DES自二十世纪七十年代采用以来,基本上算是不错的数据加密算法。
不过由于它使用的密钥相对较小(56位),采用强力攻击下DES有被攻破的纪录。

实际上,现在对安全性能要求较高的用户愿意采用加强型的DES,叫做3DES。用3DES进行
加密,需要对一小段数据运算3次,不言而喻,加密的速率大大降低。

随着Internet、智能卡、手机和掌上电脑等应用日益普及,对通信安全的要求也增强了。
不过这些小型设备需要的是,用更少代码,占用更少资源的数据加密算法,所以3DES不是今后
这方面需求的解决办法。

美国国家技术标准委员会(NIST)1996年启动了“先进加密标准”AES的制定工作,经过三
年漫长的过程,最终于2000年10月选定了比利时的研究成果“Rijndael”作为AES的基础(最
后的备选方案有五套,向全世界公布方案,征求破解,最后取胜的Rijndael以高安全度,高
速度和易于计算机处理而中选)。

AES和3DES比较

AES 3DES
------------------------------------------------------------------------
算法类型(数据加密) 对称block密码 对称feistel密码
密钥大小 128、192、256位 112位或168位
速度 高 低
解密时间(每秒尝试255个) 1490000亿年 46亿年
资源消耗 低 中
------------------------------------------------------------------------


坚固的安全性能

AES内部有更简洁精确的数学算法,而加密数据只需一次通过。AES被设计成高速,坚固的
安全性能,而且能够支持各种小型设备。AES与3DES相比,不仅是安全性能有重大差别,使用
性能和资源有效利用上也有很大差别。

RSA公司是已广泛运用的数据加密算法和开发工具包的开发商,已经宣布支持AES。(RSA
也参与了AES的竞选,只是它的加密算法未被选中。

Cisco公司也已经发表支持AES的文章,对虚拟专用网(VPN)来说,IETF已经制定了在IP安
全标准中AES的实施细则。

IT业界愿意在网络中使用AES的原因是AES能提供更快的数据加密方法,且与各种不同的
产品兼容。如无线E-mail、财务交易和一些特殊应用场合。

遵循AES标准,IT界的最大收益是使产品标准化并降低成本,取得更广的兼容性、更多的
创新和更强的灵活性。

IT部门要采取的一个重要步骤是,针对要加密的数据处理设备制定方案时,与AES标准兼
容并符合AES要求。如果目前还不能支持AES,最好制定一个时间表,以便到时能免费升级。


对AES感兴趣的朋友可去看这本书:
《高级加密标准(AES)算法—Rijndael的设计》
出版社 : 清华大学出版社
http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=BI99652365

你如果需要AES控件,可以发给你。
donwmufromdying 2005-12-23
  • 打赏
  • 举报
回复
Des加密我写过,MD5的没写过
zurong 2005-12-23
  • 打赏
  • 举报
回复
bbs69@tom.com
leonatcs 2005-12-22
  • 打赏
  • 举报
回复

我也要一份,多谢!
seamajor@gmail.com
yh_cool@sina.com
BCB2006 2005-12-22
  • 打赏
  • 举报
回复
我也要一份,多谢!
seamajor@gmail.com
yh_cool@sina.com
加载更多回复(14)

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧