Covert communication (also known as steganography) is the practice of concealing a secret inside an innocuous-looking public object (cover) so that the modified public object (covert code) makes sense to everyone but only someone who knows the code can extract the secret (message). Linguistic steganography is the practice of encoding a secret message in natural language text such as spoken conversation or short public communications such as tweets.. While ad hoc methods for covert communications in specific domains exist ( JPEG images, Chinese poetry, etc), there is no general model for linguistic steganography specifically. We present a novel mathematical formalism for creating linguistic steganographic codes, with three parameters: Decodability (probability that the receiver of the coded message will decode the cover correctly), density (frequency of code words in a cover code), and detectability (probability that an attacker can tell the difference between an untampered cover compared to its steganized version). Verbal or linguistic steganography is most challenging because of its lack of artifacts to hide the secret message in. We detail a practical construction in Python of a steganographic code for Tweets using inserted words to encode hidden digits while using n-gram frequency distortion as the measure of detectability of the insertions. Using the publicly accessible Stanford Sentiment Analysis dataset we implemented the tweet steganization scheme -- a codeword (an existing word in the data set) inserted in random positions in random existing tweets to find the tweet that has the least possible n-gram distortion. We argue that this approximates KL distance in a localized manner at low cost and thus we get a linguistic steganography scheme that is both formal and practical and permits a tradeoff between codeword density and detectability of the covert message.
翻译:隐蔽通信(又称隐写术)是将秘密隐藏在看似无害的公开对象(载体)中,使修改后的公开对象(隐写码)对所有人都具有意义,但只有知晓代码的人才能提取秘密(信息)的实践。语言隐写术是将秘密信息编码于自然语言文本中的技术,例如口语对话或推文等简短公开通信。尽管在特定领域存在针对性的隐蔽通信方法(如JPEG图像、中文诗歌等),但目前尚缺乏专门针对语言隐写术的通用模型。我们提出了一种创建语言隐写码的新型数学形式化框架,包含三个参数:可解码性(接收者正确解码编码信息的概率)、密度(隐写码中码字出现的频率)和可检测性(攻击者区分未篡改载体与隐写版本的概率)。语言隐写术因缺乏隐藏秘密信息的"瑕疵"而最具挑战性。我们详细描述了基于Python的推文隐写码实用构造方案:通过插入单词编码隐藏数字,并采用n-gram频率畸变作为插入操作可检测性的度量指标。基于公开的斯坦福情感分析数据集,我们实现了推文隐写方案——在随机推文的随机位置插入码字(数据集中的现有单词),以寻找具有最小n-gram畸变的推文。我们论证该方法以低计算成本局部近似KL散度,从而得到兼具形式化与实用性的语言隐写方案,并允许在码字密度与隐蔽消息可检测性之间进行权衡。