摘要: 大师级经典的著作,要字斟句酌的去读,去理解。以前在看 KR 的 The C ProgrammingLanguageSecondEdition第 1.5 节的字符输入/输出,被 getchar和 EOF 所迷惑了。可能主要还是由于没有搞 清楚getchar的工作原理和 EOF 的用法。因此感觉很有必要总结一下,不然,很多琐碎的知识点长时间过后就会淡忘的,只有写下来才是最好的方法。其实,getchar最典型的程序也就几行代码而已。 本人所用的环境是 DebianGNU/Linux,在其他系统下也一样。一、getchar 的两点总结:1.getchar 是以行为单位进行存取的。当用 getchar 阅读全文
posted @ 2012-05-08 14:14 cian 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 编译版本 firefox 3.6.2 ubuntu 10.04错误一:file_id.cc:132:20:error:‘fstat’wasnotdeclaredinthisscopemake[6]:***[host_file_id.o]Error1解决:在/mozilla/toolkit/crashreporter/google-breakpad/src/common/linux/file_id.cc中添加toincludes:#include<sys/stat.h>错误二:未指定—enable-application=APP解决:把.mozconfig文件放在源码目录下。 阅读全文
posted @ 2011-11-16 19:48 cian 阅读(366) 评论(0) 推荐(0) 编辑
摘要: **PRNetAddr 指定一个网络地址,用于Socket Manipulation Functions。 #include <prio.h>union PRNetAddr { struct { PRUint16 family; char data[14]; } raw; struct { PRUint16 family; PRUint16 port; ... 阅读全文
posted @ 2011-10-26 15:48 cian 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1 首先,安装必要的工具:apt-get build-dep firefoxapt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13 yasm2 然后下载代码,解压缩。3 配置编译选项: 在.mozconfig文件中配置。此文件位于源代码目录或home下。一个例子:1 . $topsrcdir/browser/config/mozconfig2 mk_add_options MOZ_OBJDIR=@TOP 阅读全文
posted @ 2011-10-19 12:53 cian 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 一 实现认证功能。二用户选择切换。通过接收用户命令,指定特定的端口通讯采取何种通道和是否使用IPsec。需要对linux系统和网络通讯及编程比较了解。这一部分需要补充大量基础知识包括编程技能。应该作为重点。三 轻量级密钥管理。设计一个轻量级的密钥管理方法并实现。需要对密码知识有一定了解。但只需工程上的。这部分是重点。也是体现创新和研究性的一部分工作。计划本学期主要完成一二两部分。下学期完成第三部分和测试。最后一个学期论文和答辩工作。 阅读全文
posted @ 2011-09-07 13:09 cian 阅读(178) 评论(0) 推荐(0) 编辑
摘要: Ipsec-tools有人工和自动两种方式来管理SA。Manual keyed connections using setkey所有连接所需的参数均由管理员提供。不使用IKE协议来自动认证对端和协商参数。管理员来决定用哪个协议、算法和密钥来创建安全联盟。Transport Mode使用Setkey命令可以修改SAD和SPD中存储的所有参数。Setkey -f /etc/setkey.conf表示从setkey.conf文件中读取命令。一个可能的/etc/setkey.conf文件如下:#!/usr/sbin/setkey -f# Configuration for 192.168.1.100# 阅读全文
posted @ 2011-07-26 10:00 cian 阅读(4474) 评论(0) 推荐(0) 编辑
摘要: Ipsec中验证和加密的结合设计之初的设想是为一个IP数据包提供完整性、真实性和机密性要同时使用AH和ESP。(AH在ESP之前,接收方先检验数据包的真实性和完整性,然后尝试解密)但这导致IP数据包整体大小增加,所以将验证功能嵌入到ESP报尾,以保护ESP序列号和真正的有效载荷。用户可以选择依次单独使用AH和ESP,还是仅仅依赖ESP报头,在其报尾包含一个可选的验证功能。不管哪种方式选择传输模式还是隧道模式都与所使用的AH和ESP的组合无关。 阅读全文
posted @ 2011-07-26 09:59 cian 阅读(421) 评论(0) 推荐(0) 编辑
摘要: IPSEC的安全性是建立在现代密码学基础上的。由密码协议和密码算法两方面来保证安全性。其中密码算法是基础,它可以提供数据的机密性,数据的完整性验证以及身份验证。1.数据的机密性和密钥算法。现代密码学中,数据的安全不能靠一个算法的保密性提供,而是靠密钥的保密性。算法总是公开的,而密钥需要保密。基于密钥的算法分为:对称密钥算法和非对称密钥算法。A.对称密钥算法:从加密的密钥可以推出解密的密钥,或加密的密钥就是解密的密钥,所以称为对称密钥。如果密钥相同,明文相同,则每次加密生成的密文也是相同的。所以提出加密块链接模式(CBC模式)来增加机密性,让相同的密钥加密相同的明文产生不同的密文。CBC模式的. 阅读全文
posted @ 2011-05-23 15:28 cian 阅读(1451) 评论(0) 推荐(0) 编辑
摘要: 1.IPsectools包括setkey(配置规则策略)和racoon(密钥协商)。Setkey实现IPSec中SPD管理和SAD的管理,Racoon是IPSec-tools中IKE的实现。racoon支持多种验证方式,包括预共享密钥和X.509证书方式。本项目实现采用的是X.509证书方式。2.IPSEC的基础是现代密码学在计算机中的应用。它依靠加密算法来实现机密性,消息验证码MAC(MessageAuthenticationCode)来实现数据完整性,数字签名来实现身份验证。3.IPSEC可以分为两部分,一部分在TCP/IP协议栈中实现对输入和输出数据的加解密(AH协议和ESP协议)操作, 阅读全文
posted @ 2011-05-23 15:27 cian 阅读(1178) 评论(0) 推荐(0) 编辑