Ruby OpenSSL 更改块大小
Ruby OpenSSL changing the block-size
是否可以在 OpenSSL 中更改块大小?我正在使用 Ruby,据我所知,没有办法做到这一点。
我只是想确认这是真的。这是我能找到的与块大小相关的唯一方法的 link,它只是 returns 块大小。 https://ruby-doc.org/stdlib-2.4.0/libdoc/openssl/rdoc/OpenSSL/Cipher.html#method-i-block_size 但除此之外,我看不出有什么办法可以做到这一点。可能吗?我知道我可以设置密钥大小但不能设置块大小。它似乎卡在了 128 位块大小?
具体来说,我想使用 AES,我知道它只有 128 位块大小。但是 AES 所基于的 Rijndael 可以设置为 256 位块大小,所以我想知道 OpenSSL 是否允许我设置块大小。
不,这不可能。
AES,由 NIST 标准化,是 Rijndael 密码家族的一个子集。虽然 Rijndael 支持多种不同的块和密钥大小,但 AES 仅定义为使用 128 位的块大小和 128、192 或 256 位的密钥大小。
ciphers supported by OpenSSL 的列表只包括 AES,不包括 Rijndael。
OpenSSL AES 实现是 hardcoded to use a block size of 16 bytes(= 128 位)。
如果不添加 Rijndael as a new cipher to OpenSSL 并自行重建库,您将无法使用 OpenSSL 使用任何 Rijndael 变体加密或解密数据,而不是那些标准化为 AES 的变体。
是否可以在 OpenSSL 中更改块大小?我正在使用 Ruby,据我所知,没有办法做到这一点。
我只是想确认这是真的。这是我能找到的与块大小相关的唯一方法的 link,它只是 returns 块大小。 https://ruby-doc.org/stdlib-2.4.0/libdoc/openssl/rdoc/OpenSSL/Cipher.html#method-i-block_size 但除此之外,我看不出有什么办法可以做到这一点。可能吗?我知道我可以设置密钥大小但不能设置块大小。它似乎卡在了 128 位块大小?
具体来说,我想使用 AES,我知道它只有 128 位块大小。但是 AES 所基于的 Rijndael 可以设置为 256 位块大小,所以我想知道 OpenSSL 是否允许我设置块大小。
不,这不可能。
AES,由 NIST 标准化,是 Rijndael 密码家族的一个子集。虽然 Rijndael 支持多种不同的块和密钥大小,但 AES 仅定义为使用 128 位的块大小和 128、192 或 256 位的密钥大小。
ciphers supported by OpenSSL 的列表只包括 AES,不包括 Rijndael。
OpenSSL AES 实现是 hardcoded to use a block size of 16 bytes(= 128 位)。
如果不添加 Rijndael as a new cipher to OpenSSL 并自行重建库,您将无法使用 OpenSSL 使用任何 Rijndael 变体加密或解密数据,而不是那些标准化为 AES 的变体。