API数据库表中的一列是加密的文本,该文本由两条信息组成,这些信息与给定的定界符并列,例如冒号。第二条信息总长12个字符。
知道此信息是否会造成安全漏洞,并可能使攻击者在掌握信息后就可以解密该信息?
使用php方法openssl_encrypt()
和'aes-128-gcm'密码对信息进行加密。
答案 0 :(得分:1)
您所说的话在文献中被称为部分已知的纯文本攻击(partial-KPA)。
使用php方法openssl_encrypt()和'aes-128-gcm'密码对信息进行加密。
AES-GCM将AES-CTR与GHASH(GF(2 ^ 128)上的多项式MAC)结合在一起。
要进一步回答问题,需要更深入地研究密码学杂草,但通常:
API数据库表中的一列是加密的文本,该文本由两条信息组成,这些信息与给定的定界符并列,例如冒号。第二条信息总长12个字符。
您可以从AES-GCM密文中推断出的唯一内容就是明文的长度。
为了能够从一个字节的密文(以及该字节的对应的已知明文)中推断出密钥流的其余部分,AES将需要是一个非常不安全的分组密码。由于我们知道(由于大约21年的密码分析工作),AES 是一种安全的分组密码,而AES-GCM是一种安全的身份验证密码模式,因此,部分KPA对此结构无关紧要。