InfoSec
文章平均质量分 88
晨星
熟练掌握C++程序设计语言,酷爱读书。
展开
-
密码学简介(一)
本文简单介绍密码编码学领域的一些基本原理,基本算法和基本理念。仅针对原先对此领域无甚了解的朋友做入门之用。加密解密是信息安全领域的基本技术,加解密系统中的基本概念从下面这张常规加密的简化模型中就可以知道个大概。从图中可以看出,明文输入在密钥K1的作用之下,通过加密算法(如DES)转换成密文,于是可以发送给通信的接收方;接收方则可以通过解密算法以及密钥K2将密文恢复成明文。注意通信内原创 2011-11-15 21:28:56 · 7752 阅读 · 2 评论 -
密码学简介(三)
报文签别码散列函数的另一种用法与报文鉴别有关。有时候,通信双方不仅关心通信内容的私密性,对信息是否被篡改过(内容完整性)更为关心;或者,他们根本不关心信息的私密性而只关心信息的完整性。亦或者,软件的不同层次可能负责不同的任务,比如底层负责加解密,上层完成完整性鉴别。报文鉴别码可以解决这类需要。报文鉴别码,英文是Message Authentication Code,简写为MAC(注意它原创 2011-12-19 23:39:30 · 5447 阅读 · 2 评论 -
密码学简介(二)
散列函数散列函数,也叫杂凑函数,实际就是哈希(Hash)函数,“散列函数”是信息安全领域惯用的译法。不论从概念还是从形式上看,它跟数据结构课程上讲的哈希函数的确如出一辙:基于任意输入都产生定长的输出,且好的散列函数值域会分布得尽量平均。然而,信息安全领域使用的散列函数却有着诸多安全方面的要求。像针对字符串的每个字节不断乘以一个素数并取模的那种哈希函数,在数据结构领域用于构造关联数组已经原创 2011-11-30 01:02:02 · 5962 阅读 · 2 评论 -
密码学简介(四)
C++加密解密库信息安全对各种信息系统重要性无庸质疑。因此,用于实现软件信息系统的各种编程语言都会有相应的与加密解密有关的库,有的语言(如Java)在其标准库中直接提供基础组件,有的语言(如C++)则需使用第三方库。各种库中带“crypto-”前缀的模块,基本都是用来做这个的。值得一提的是,开源操作系统Linux的内核源码中也有加解密模块,“crypto”源码目录下的便是。这不难理解:OS原创 2012-05-13 23:54:52 · 9067 阅读 · 10 评论