随笔分类 -  Security&Cryptography

Security中Cryptography相关技术及应用学习笔记,包括certificate,SSL,加解密,网络通信安全等。
摘要:前面两部分分别讲解了如何在.net程序中使用SSL实现安全通信以及SSL的通信过程,并通过抓包工具具体分析了ssl的握手过程,本文通过一个demo来模拟ssl协议,在TCP之上实现自己的安全通信。创建证书为了实现安全的通信,必须使用证书对传输的数据进行加密,有两种方法可以得到证书,一是安装CA服务器,使用CA来发放证书,二是通过makecert.exe工具自己创建。创建服务器证书:cmd>m... 阅读全文
posted @ 2010-07-07 18:39 皮业勇 阅读(1864) 评论(5) 推荐(0)
摘要:SSL建立握手连接目的:1.身份的验证,client与server确认对方是它相连接的,而不是第三方冒充的,通过证书实现2.client与server交换session key,用于连接后数据的传输加密和hash校验简单的SSL握手连接过程(仅Server端交换证书给client):1.client发送ClientHello,指定版本,随机数(RN),所有支持的密码套件(CipherSuites)... 阅读全文
posted @ 2010-07-02 20:03 皮业勇 阅读(4195) 评论(3) 推荐(2)
摘要:对称算法,是对DES算法的组合,指定3个KEY,运算3次DES,加密过程如下图所示:解密正好相反,依次使用key3,key2,key1,进行Decryption,Encryption,Decrpytion可能的输出结果:=============================================Default Algorithm info: System.Security.Crypt... 阅读全文
posted @ 2010-06-25 18:05 皮业勇 阅读(3702) 评论(0) 推荐(0)
摘要:一.DES对称算法1.key的大小KEY64bit,IV(初始化向量)64bit,block size(每次运算处理的字节数)64bit,key的实际使用时56bit,每个字节的最后一位是校验位,不参与计算2.加密模式既可以block cipher(分组加密,ECB模式),也可以productcipher(乘积加密,CBC模式)。分组加密就是每组分别加密,如果明文相同,得到的密文也会相同,乘积加密... 阅读全文
posted @ 2010-06-25 17:57 皮业勇 阅读(1267) 评论(0) 推荐(0)
摘要:SSL(Security Socket Layer)是TLS(Transport Layer Security)的前身,是一种加解密协议,它提供了再网络上的安全传输,它介于网络通信协议的传输层与应用层之间。 为实现TCP层之上的ssl通信,需要用到数字证书。本文通过具体例子来说明如何使用数字证书来实现网络上的安全传输。需要用到.net提供的SslStream, TcpListener, TcpClient, X509Certificate2,X509Store,X509Certification2Collection等类。终于开始涉及到代码了。 阅读全文
posted @ 2010-06-20 17:48 皮业勇 阅读(4370) 评论(2) 推荐(4)
摘要:Security的基础就是加解密算法,算法是公开的,任何人都可以得到,而使用算法的核心就是key,主要有private key和public key,而数字证书作为key的载体,在Security体系中自然起到关键的作用。本文将从证书的发放,回收,保存,使用方面对数字证书进行详细的介绍。1.证书的发放与回收能否发放Certificate的机构称为CA,CA可以后多级,每一份certificate都... 阅读全文
posted @ 2010-06-11 17:43 皮业勇 阅读(4854) 评论(0) 推荐(0)
摘要:要想实现在不安全的网络上的安全通信,需要考虑3个方面的问题:保密(Privacy),认证(Authentication),完整性(Integrity)。1.保密(Privacy)数据在网络传输的过程中,需要经过多个中间节点进行转发,因此,数据很容易就被截获,为了保证数据的保密性,就需要对数据进行加密传输,使用密文进行传输。如上图所示,明文数据(plaintext)经过加密算法(Encryption... 阅读全文
posted @ 2010-06-10 19:04 皮业勇 阅读(1050) 评论(0) 推荐(0)