知道一个加密字符是否会带来安全漏洞?
Does knowing one encrypted character open up a security flaw?
我的 API 数据库中 table 的其中一列是加密文本,由两条信息与给定的定界符(比如冒号)连接而成。第二条信息总是,比方说,12 个字符长。
了解此信息是否会造成安全漏洞并可能允许攻击者在掌握信息后解密信息?
信息使用 php 方法 openssl_encrypt()
和 'aes-128-gcm' 密码加密。
您所说的在文献中被称为部分已知明文攻击(部分 KPA)。
The information is encrypted using the php method openssl_encrypt() and with the 'aes-128-gcm' cipher.
AES-GCM 结合了 AES-CTR 和 GHASH(GF(2^128) 上的多项式 MAC)。
进一步回答您的问题需要更深入地研究密码学杂草,但通常:
- AES 被认为是一种安全分组密码。
- CTR 模式将块密码转换为流密码。
- 流密码加密在概念上等同于一次一密,除了密钥流是从密钥和随机数生成的,因此只能具有有限的(在本例中为 128 位)安全级别。
One of the columns in a table in my API's database is an encrypted text formed of two pieces of information concatenated with a given delimiter, lets say a colon. The second piece of information is always, say, 12 characters long.
您唯一可以从 AES-GCM 密文中推断出明文的长度。
为了能够从密文的一个字节(以及该字节对应的已知明文)推断出密钥流的其余部分,AES 需要非常不安全块密码。由于我们知道(由于大约 21 年的密码分析工作)AES 是 一种安全的分组密码,而 AES-GCM 是一种安全的经过身份验证的密码模式,因此部分 KPA 不是问题这个结构。
我的 API 数据库中 table 的其中一列是加密文本,由两条信息与给定的定界符(比如冒号)连接而成。第二条信息总是,比方说,12 个字符长。
了解此信息是否会造成安全漏洞并可能允许攻击者在掌握信息后解密信息?
信息使用 php 方法 openssl_encrypt()
和 'aes-128-gcm' 密码加密。
您所说的在文献中被称为部分已知明文攻击(部分 KPA)。
The information is encrypted using the php method openssl_encrypt() and with the 'aes-128-gcm' cipher.
AES-GCM 结合了 AES-CTR 和 GHASH(GF(2^128) 上的多项式 MAC)。
进一步回答您的问题需要更深入地研究密码学杂草,但通常:
- AES 被认为是一种安全分组密码。
- CTR 模式将块密码转换为流密码。
- 流密码加密在概念上等同于一次一密,除了密钥流是从密钥和随机数生成的,因此只能具有有限的(在本例中为 128 位)安全级别。
One of the columns in a table in my API's database is an encrypted text formed of two pieces of information concatenated with a given delimiter, lets say a colon. The second piece of information is always, say, 12 characters long.
您唯一可以从 AES-GCM 密文中推断出明文的长度。
为了能够从密文的一个字节(以及该字节对应的已知明文)推断出密钥流的其余部分,AES 需要非常不安全块密码。由于我们知道(由于大约 21 年的密码分析工作)AES 是 一种安全的分组密码,而 AES-GCM 是一种安全的经过身份验证的密码模式,因此部分 KPA 不是问题这个结构。