隐写的主要应用是隐蔽通信,与基于密码技术的加密通信不同,隐写的主要目的不是对通信内容进行保密,而是要在此基础上隐蔽保密通信的事实。识别隐写载体的技术被称为隐写分析,它一般通过检测媒体特征的变化,判定隐写的存在,因此,隐写术的主要设计目标是提高含密载体的隐蔽性。
隐写术历史悠久,英文的隐写术一词“steganography”就源于希腊语词根“στεγαν-ς”和“γραφ-ειυ”,意思是密写,这说明在古代人们就已经使用隐写术。但是,相比密码方法,隐写术一直在通信能力上存在较大的劣势,因此长时期没有获得显著的发展。直到20世纪末期,随着数字媒体与网络的普及,隐写术逐渐获得了非常好的载体源与传输条件,因此,相关研究非常活跃,人们已经提出了很多基于各类数字媒体为载体的隐写方法,Internet上也出现了大量隐写软件。早期的数字隐写术主要基于在载体样点的最低意义比特中嵌入消息,随着研究的发展,在基本嵌入方法基础上出现了更多的隐蔽性提高技术。
现代隐写术主要通过两类途径提高隐写的隐蔽性。①选择更合适的位置进行隐写。研究表明,隐写分析在载体不同区域上的有效性不同。典型地,在图像高纹理区域上提取的特征对隐写分析的有效作用相对较小,主流的现代自适应隐写术一般先对载体局部进行损失评估,赋予载体不同区域不同的权重,最后选择修改后对载体影响较小的区域进行嵌入。在以上隐写中,动态选择的嵌入位置可以不用每次告诉接收方,隐写编码技术能够保证授权的接收方能够提取动态位置嵌入的秘密消息。②减小嵌入操作对载体的影响。通过减小嵌入操作对载体的扰动,可以提高隐写前后载体的不可区分性。这方面的技术较多,主要包括:通过选择合适的基本修改方法,使得尽量不遗留显著的特征;通过特殊处理,在一定程度上保持或恢复载体的统计特征;利用多媒体编码中的边信息,动态确定合适的嵌入方法;通过隐写编码提高嵌入效率,其中,嵌入效率是指对载体进行单位改动能够嵌入的平均信息量。在实际的隐写术算法中,一般需要综合利用以上各类隐蔽性提高技术。
早期的密码技术被称为密码术,但是,随着密码研究的发展,原来的密码术已经被称为密码编码,密码学成为密码编码与密码分析的总称;类似地,随着隐写的发展,一些学者逐渐抛弃了“隐写术”的说法,认为隐写术也应该被称为隐写或者隐写编码,英文为“steganography”,并应用隐写学(steganology)总称隐写与隐写分析。